Технический аудит и пентест » История » Версия 1
С. Антошкин, 04.06.2026 06:39
| 1 | 1 | С. Антошкин | {{>TOC}} |
|---|---|---|---|
| 2 | |||
| 3 | h1. Технический аудит и тестирование на проникновение |
||
| 4 | |||
| 5 | h2. Введение |
||
| 6 | |||
| 7 | Аудит соответствия отвечает на вопрос «выполняются ли требования стандарта?». Технический аудит отвечает на принципиально другой вопрос: «можно ли взломать систему?» |
||
| 8 | |||
| 9 | Разница критична. Организация может иметь идеально оформленную политику управления уязвимостями, регулярные отчёты о сканировании и утверждённый процесс патч-менеджмента — и при этом иметь критическую уязвимость в публично доступном веб-приложении, которую злоумышленник обнаружит за 15 минут. |
||
| 10 | |||
| 11 | Технический аудит и тестирование на проникновение закрывают этот разрыв. Они проверяют не наличие процессов, а их реальную эффективность с точки зрения атакующего. |
||
| 12 | |||
| 13 | bq. Технический аудит является самостоятельным видом проверки и одновременно важным источником данных для аудита соответствия. Выявленная критическая уязвимость — это не просто техническая проблема; это свидетельство несоответствия контролям управления уязвимостями (ISO 27001, контроль 8.8) или требованиям патч-менеджмента. |
||
| 14 | |||
| 15 | bq. Эта тема опирается на знание технических мер защиты из курса «Основы менеджмента ИБ», в частности на темы [[uib:Программно-технические_меры_обеспечения_информационной_безопасности|Управление доступом]] и [[uib:Протоколирование_и_аудит_шифрование_контроль_целостности|Аудит и криптография]]. Понимание того, как работают атаки, необходимо для понимания того, как их тестировать. |
||
| 16 | |||
| 17 | --- |
||
| 18 | |||
| 19 | h2. Виды технического аудита |
||
| 20 | |||
| 21 | Технический аудит — это не единственная процедура, а семейство взаимосвязанных проверок с разными целями, методами и глубиной воздействия на проверяемую систему. |
||
| 22 | |||
| 23 | !clipboard-202606040939-1jyoy.png! |
||
| 24 | |||
| 25 | h3. Анализ конфигураций |
||
| 26 | |||
| 27 | Наименее инвазивный вид технической проверки. Аудитор получает конфигурационные файлы, выгрузки настроек или доступ к консолям управления и сравнивает фактические настройки с эталонными. |
||
| 28 | |||
| 29 | Типичные объекты: групповые политики Active Directory, конфигурации межсетевых экранов и NGFW, параметры веб-серверов (nginx, Apache, IIS), настройки СУБД, конфигурации облачных окружений (AWS Security Hub, Azure Security Center). |
||
| 30 | |||
| 31 | Эталоны сравнения: CIS(Center for Internet Security) Benchmarks — наиболее распространённый открытый стандарт конфигурации для более чем 100 технологий; DISA(Defense Information Systems Agency) STIG(Security Technical Implementation Guides) — военные стандарты конфигурации США, нередко используемые как ориентир; внутренние baseline-документы организации. |
||
| 32 | |||
| 33 | Автоматизация: инструменты CIS-CAT, Lynis, Microsoft Security Compliance Toolkit позволяют автоматически сравнивать конфигурацию с эталоном и генерировать отчёт о расхождениях. |
||
| 34 | |||
| 35 | h3. Сканирование уязвимостей |
||
| 36 | |||
| 37 | Автоматизированное обнаружение известных уязвимостей в программном обеспечении и сетевых сервисах. Сканер отправляет зонды на целевые системы, анализирует ответы и сопоставляет результаты с базой уязвимостей (CVE, NVD). |
||
| 38 | |||
| 39 | *Сетевое сканирование* — обнаружение активных хостов, открытых портов, работающих сервисов и их версий. Базовый инструмент: Nmap. На основе обнаруженных версий ПО сопоставляются известные уязвимости. |
||
| 40 | |||
| 41 | *Сканирование уязвимостей* — углублённая проверка с активными зондами для верификации наличия конкретных уязвимостей. Инструменты: Nessus, OpenVAS, Qualys, MaxPatrol 8, ScanFactory. Результат — отчёт с ранжированием уязвимостей по CVSS(Common Vulnerability Scoring System). |
||
| 42 | |||
| 43 | *Сканирование веб-приложений* — специализированные инструменты для выявления уязвимостей OWASP Top 10 в веб-интерфейсах. Инструменты: OWASP ZAP, Burp Suite (пассивный режим), Acunetix, Nikto. |
||
| 44 | |||
| 45 | bq. *CVSS(Common Vulnerability Scoring System)* — стандартизированная система оценки серьёзности уязвимостей по шкале от 0 до 10. Три диапазона имеют практическое значение для аудитора: критические (9.0–10.0) требуют немедленного устранения; высокие (7.0–8.9) — устранения в течение SLA (обычно 30 дней); средние (4.0–6.9) — плановые обновления. Уязвимость с CVSS 9.8 при отсутствии патча дольше SLA — значительное несоответствие контролю 8.8 ISO 27001. |
||
| 46 | |||
| 47 | h3. Анализ защищённости (Security Assessment) |
||
| 48 | |||
| 49 | Более глубокая проверка, сочетающая автоматические инструменты с ручным анализом. Аудитор не просто фиксирует список уязвимостей, но и оценивает практическую эксплуатируемость: насколько реально злоумышленнику воспользоваться уязвимостью с учётом конкретной конфигурации, окружающих контролей и архитектуры сети. |
||
| 50 | |||
| 51 | Например, критическая уязвимость в сервисе, доступном только из внутренней сети за несколькими межсетевыми экранами, имеет значительно меньший реальный риск, чем та же уязвимость в публично доступном сервисе. Это суждение требует человека, а не только инструмента. |
||
| 52 | |||
| 53 | h3. Тестирование на проникновение |
||
| 54 | |||
| 55 | Пентест — санкционированная имитация атаки на информационную систему с целью обнаружения эксплуатируемых уязвимостей и демонстрации возможного ущерба. В отличие от сканирования, пентест активно эксплуатирует найденные уязвимости (с разрешения заказчика) для демонстрации реального вектора атаки. |
||
| 56 | |||
| 57 | *Чёрный ящик (Black Box)* — тестировщик имеет только публично доступную информацию об организации, имитируя внешнего злоумышленника без предварительных знаний. Наиболее реалистичная модель внешней атаки, но наименее эффективная с точки зрения охвата за единицу времени. |
||
| 58 | |||
| 59 | *Серый ящик (Grey Box)* — тестировщик имеет частичные знания о системе: учётные данные рядового пользователя, схему сети или описание архитектуры. Имитирует инсайдера с ограниченными правами или злоумышленника, уже получившего первичный доступ. Наиболее распространённая модель для корпоративных пентестов. |
||
| 60 | |||
| 61 | *Белый ящик (White Box)* — тестировщик имеет полную документацию: исходный код, схемы сетей, учётные данные администратора. Максимальный охват за счёт отказа от реалистичности. Применяется для глубокого анализа конкретного приложения или компонента. |
||
| 62 | |||
| 63 | h3. Red Team / Blue Team |
||
| 64 | |||
| 65 | Red Team — расширенная форма пентеста, имитирующая реальную APT-атаку (Advanced Persistent Threat). Команда атакующих (Red Team) действует скрытно в течение длительного времени (недели или месяцы), используя весь арсенал техник: социальную инженерию, физическое проникновение, эксплуатацию технических уязвимостей. |
||
| 66 | |||
| 67 | Цель Red Team — не найти уязвимости, а достичь конкретных бизнес-целей: получить доступ к данным клиентов, скомпрометировать AD, выгрузить финансовую отчётность. Это позволяет оценить не только наличие отдельных уязвимостей, но и эффективность всей системы обнаружения и реагирования. |
||
| 68 | |||
| 69 | Blue Team — команда защитников (SOC, ИБ-специалисты), которая в реальном времени обнаруживает и реагирует на действия Red Team. По итогам упражнения проводится разбор (Purple Team exercise): что удалось обнаружить, что прошло незамеченным и почему. |
||
| 70 | |||
| 71 | --- |
||
| 72 | |||
| 73 | h2. Методология пентеста |
||
| 74 | |||
| 75 | Профессиональный пентест проводится по структурированной методологии, а не хаотично. Несколько стандартизированных фреймворков описывают этот процесс. |
||
| 76 | |||
| 77 | *PTES(Penetration Testing Execution Standard)* — наиболее распространённый открытый стандарт, описывающий семь фаз пентеста. |
||
| 78 | |||
| 79 | *OWASP(Open Worldwide Application Security Project) Testing Guide* — специализированная методология для веб-приложений, описывающая более 90 тестовых случаев. |
||
| 80 | |||
| 81 | *MITRE ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge)* — база знаний тактик и техник реальных атак, используемая для планирования сценариев пентеста и Red Team. |
||
| 82 | |||
| 83 | *PTES* выделяет следующие фазы. |
||
| 84 | |||
| 85 | h3. Фаза 1: Подготовка и согласование |
||
| 86 | |||
| 87 | До начала любых технических действий подписывается детальный договор, определяющий: область тестирования (конкретные IP-диапазоны, домены, приложения), запрещённые действия (например, атаки на доступность, социальная инженерия конкретных лиц), временные окна проведения тестирования, правила экстренной остановки (kill switch), порядок уведомления при обнаружении критической уязвимости и ответственность сторон. |
||
| 88 | |||
| 89 | bq. Тестирование на проникновение без надлежащего письменного разрешения является уголовно наказуемым деянием вне зависимости от намерений. Статья 272 УК РФ («Неправомерный доступ к компьютерной информации») не делает исключений для «этичных хакеров» без документального разрешения владельца системы. |
||
| 90 | |||
| 91 | h3. Фаза 2: Сбор информации |
||
| 92 | |||
| 93 | Аудитор собирает максимум информации о цели из открытых источников (OSINT) без активного взаимодействия с системами. Техники и инструменты: |
||
| 94 | |||
| 95 | *Пассивная разведка:* Shodan, Censys (поиск публично доступных сервисов), Maltego (графический анализ связей), TheHarvester (сбор email-адресов, поддоменов), анализ WHOIS и DNS-записей, изучение LinkedIn для составления оргструктуры. |
||
| 96 | |||
| 97 | *Активная разведка:* сканирование портов Nmap, определение версий сервисов, трассировка маршрутов, анализ поддоменов. |
||
| 98 | |||
| 99 | Результат фазы — детализированная карта атаки: какие системы доступны, какое ПО запущено, какие сотрудники работают в организации, какие технологии используются. |
||
| 100 | |||
| 101 | h3. Фаза 3: Анализ угроз и моделирование атак |
||
| 102 | |||
| 103 | На основе собранных данных определяются наиболее вероятные и перспективные векторы атаки. Аудитор приоритизирует цели исходя из вероятности успеха и потенциального ущерба. |
||
| 104 | |||
| 105 | h3. Фаза 4: Анализ уязвимостей |
||
| 106 | |||
| 107 | Систематическое выявление уязвимостей в обнаруженных системах и приложениях: автоматическое сканирование, ручной анализ, изучение публичных баз (CVE, Exploit-DB, NVD). |
||
| 108 | |||
| 109 | h3. Фаза 5: Эксплуатация |
||
| 110 | |||
| 111 | Активная попытка использовать выявленные уязвимости для получения несанкционированного доступа. Инструменты: Metasploit Framework, Burp Suite (активные атаки), ручные техники эксплуатации. |
||
| 112 | |||
| 113 | Важно: эксплуатация проводится с минимальным воздействием на доступность систем. Пентестер не уничтожает данные и не нарушает работу систем — если иное явно не оговорено в договоре. |
||
| 114 | |||
| 115 | h3. Фаза 6: Постэксплуатация |
||
| 116 | |||
| 117 | После получения первоначального доступа исследуется возможность дальнейшего развития атаки: горизонтальное перемещение (lateral movement) по сети, повышение привилегий (privilege escalation), закрепление в системе (persistence), доступ к целевым данным. |
||
| 118 | |||
| 119 | Именно постэксплуатация демонстрирует реальный ущерб от уязвимости: не просто «мы получили доступ к одному серверу», а «с этого сервера мы получили доступ к контроллеру домена и базе данных клиентов». |
||
| 120 | |||
| 121 | h3. Фаза 7: Отчётность |
||
| 122 | |||
| 123 | Документирование всех находок с детализацией для двух аудиторий: технической (точные векторы атаки, инструменты, рекомендации по устранению) и управленческой (бизнес-риски, приоритеты, общий уровень защищённости). |
||
| 124 | |||
| 125 | --- |
||
| 126 | |||
| 127 | h2. Тестирование веб-приложений |
||
| 128 | |||
| 129 | Веб-приложения — наиболее распространённая поверхность атаки для внешних злоумышленников. OWASP Top 10 (рассмотренный в курсе «Основы менеджмента ИБ») является стандартным чек-листом для аудитора веб-приложений. |
||
| 130 | |||
| 131 | h3. Ключевые техники тестирования |
||
| 132 | |||
| 133 | *SQL-инъекции* — попытки внедрить произвольный SQL-код через поля ввода. Обнаруживаются автоматически (sqlmap) и вручную. Пример: ввод `' OR 1=1 --` в поле логина. |
||
| 134 | |||
| 135 | *XSS(Cross-Site Scripting)* — внедрение вредоносного JavaScript в страницы приложения. Проверяется отражение пользовательского ввода без санитизации. Пример: `<script>alert(document.cookie)</script>` в полях форм. |
||
| 136 | |||
| 137 | *Broken Access Control* — проверка возможности получить доступ к данным или функциям, недоступным текущему пользователю. Техники: изменение ID ресурса в URL (IDOR — Insecure Direct Object Reference), доступ к функциям администратора без соответствующей роли. |
||
| 138 | |||
| 139 | *Небезопасная аутентификация* — проверка стойкости механизмов аутентификации: брутфорс логинов без блокировки, перехват сессионных токенов, небезопасное управление паролями. |
||
| 140 | |||
| 141 | *Тестирование API* — проверка REST/GraphQL API на предмет тех же классов уязвимостей, что и веб-интерфейс, с учётом специфики OWASP API Security Top 10. |
||
| 142 | |||
| 143 | h3. Инструменты аудита веб-приложений |
||
| 144 | |||
| 145 | |_.Инструмент|_.Назначение|_.Тип| |
||
| 146 | |Burp Suite Professional|Комплексный анализ веб-приложений: перехват, модификация запросов, активное и пассивное сканирование|Коммерческий| |
||
| 147 | |OWASP ZAP|Сканирование веб-уязвимостей, proxy для ручного тестирования|Open Source| |
||
| 148 | |sqlmap|Автоматизированное обнаружение и эксплуатация SQL-инъекций|Open Source| |
||
| 149 | |Nikto|Быстрое сканирование веб-серверов на типичные уязвимости|Open Source| |
||
| 150 | |ffuf / gobuster|Перебор директорий и параметров (fuzzing)|Open Source| |
||
| 151 | |||
| 152 | --- |
||
| 153 | |||
| 154 | h2. Социальная инженерия в рамках аудита |
||
| 155 | |||
| 156 | Технические уязвимости — не единственный вектор атаки. Социальная инженерия эксплуатирует человеческий фактор и нередко является наиболее эффективным способом проникновения в хорошо защищённую техническую инфраструктуру. |
||
| 157 | |||
| 158 | Включение социальной инженерии в область пентеста требует отдельного явного согласования в договоре — с указанием допустимых техник и защищаемых лиц. |
||
| 159 | |||
| 160 | h3. Фишинговые симуляции |
||
| 161 | |||
| 162 | Отправка тестовых фишинговых писем сотрудникам для оценки уровня осведомлённости. Метрики: процент открывших письмо, процент перешедших по ссылке, процент введших учётные данные. Инструменты: GoPhish, King Phisher. |
||
| 163 | |||
| 164 | Результаты фишинговой симуляции — ценное свидетельство для аудита соответствия контролю «Осведомлённость, образование и обучение» (ISO 27001, контроль 6.3). |
||
| 165 | |||
| 166 | h3. Вишинг |
||
| 167 | |||
| 168 | Звонки сотрудникам под видом IT-поддержки, контрагентов или регуляторов с целью получения учётных данных или выполнения действий (например, «перезагрузите VPN-клиент по инструкции, которую я пришлю»). Проверяет эффективность обучения по социальной инженерии. |
||
| 169 | |||
| 170 | h3. Физическое проникновение |
||
| 171 | |||
| 172 | Попытка получить несанкционированный физический доступ на объект: «tailgating» (проход за сотрудником через турникет), представление подрядчиком без проверки документов, оставление «заражённых» USB-носителей. Требует наиболее жёсткого документального оформления во избежание конфликтов. |
||
| 173 | |||
| 174 | --- |
||
| 175 | |||
| 176 | h2. Правовые и этические аспекты |
||
| 177 | |||
| 178 | Технический аудит и пентест — область с повышенным правовым риском. Несоблюдение формальных требований превращает легитимное тестирование в уголовно наказуемое деяние. |
||
| 179 | |||
| 180 | h3. Обязательная документация |
||
| 181 | |||
| 182 | *Разрешение на тестирование * — детальный документ, подписанный уполномоченным представителем организации-владельца систем. Должен содержать точный перечень систем, временные окна, допустимые техники, ограничения и контактные данные для экстренной связи. |
||
| 183 | |||
| 184 | *NDA(Non-Disclosure Agreement)* — соглашение о конфиденциальности: данные об уязвимостях не разглашаются третьим сторонам. |
||
| 185 | |||
| 186 | *Юридическая цепочка владения.* Если тестируется облачная инфраструктура (AWS, Azure, GCP) или арендованные каналы, требуется дополнительное разрешение от провайдера — большинство крупных провайдеров имеют официальную политику проведения тестирования на их платформах. |
||
| 187 | |||
| 188 | h3. Ответственное раскрытие |
||
| 189 | |||
| 190 | При обнаружении критической уязвимости в ходе тестирования (особенно затрагивающей третьи стороны — клиентов, партнёров) аудитор немедленно уведомляет заказчика согласно заранее согласованному протоколу. Тестирование в части, затрагивающей эту уязвимость, приостанавливается до получения инструкций. |
||
| 191 | |||
| 192 | h3. Минимальный ущерб |
||
| 193 | |||
| 194 | Профессиональный стандарт: пентестер использует только те техники и инструменты, которые необходимы для достижения цели тестирования. Эксплуатация уязвимостей — только для демонстрации возможности, без реального ущерба данным или доступности. Все созданные в ходе тестирования учётные записи, файлы и артефакты удаляются по завершении. |
||
| 195 | |||
| 196 | --- |
||
| 197 | |||
| 198 | h2. Отчёт о техническом аудите |
||
| 199 | |||
| 200 | Отчёт о пентесте или техническом аудите структурирован для двух разных аудиторий. |
||
| 201 | |||
| 202 | h3. Управленческое резюме |
||
| 203 | |||
| 204 | Написано для руководства без технических деталей. Содержит: общий уровень защищённости (качественная оценка), количество и распределение уязвимостей по критичности, три-пять ключевых находок с бизнес-ориентированным описанием риска, общую рекомендацию по приоритетам. |
||
| 205 | |||
| 206 | h3. Технический раздел |
||
| 207 | |||
| 208 | Написан для IT-специалистов и специалистов по ИБ. Для каждой уязвимости: название и идентификатор CVE (если применимо), оценка CVSS, затронутые системы, описание техники эксплуатации с доказательством (скриншоты, логи), бизнес-риск, конкретные шаги по устранению, ссылки на патчи или конфигурационные рекомендации. |
||
| 209 | |||
| 210 | h3. Матрица уязвимостей |
||
| 211 | |||
| 212 | Сводная таблица всех находок с приоритизацией: |
||
| 213 | |||
| 214 | |_.Критичность|_.Количество|_.Примеры|_.Срок устранения| |
||
| 215 | |Критическая (CVSS 9+)|N|RCE в публичном API, неаутентифицированный доступ к БД|Немедленно| |
||
| 216 | |Высокая (CVSS 7–8.9)|N|SQL-инъекция, отсутствие MFA на VPN|30 дней| |
||
| 217 | |Средняя (CVSS 4–6.9)|N|Устаревшие версии ПО без публичных эксплойтов|90 дней| |
||
| 218 | |Низкая (CVSS < 4)|N|Информационные уязвимости, заголовки HTTP|180 дней| |
||
| 219 | |||
| 220 | --- |
||
| 221 | |||
| 222 | h2. Связь технического аудита с аудитом соответствия |
||
| 223 | |||
| 224 | Технический аудит и аудит соответствия дополняют друг друга — их результаты взаимно усиливают ценность обоих. |
||
| 225 | |||
| 226 | |_.Находка технического аудита|_.Соответствующее несоответствие ISO 27001| |
||
| 227 | |Критическая уязвимость, не закрытая 90+ дней|Контроль 8.8: управление техническими уязвимостями| |
||
| 228 | |Открытые порты сервисов, не задокументированных в архитектуре|Контроль 8.20: сетевая безопасность| |
||
| 229 | |Учётные данные в открытом виде в конфигурационных файлах|Контроль 8.6: управление конфигурацией| |
||
| 230 | |Возможность перемещения по сети без аутентификации|Контроль 8.22: сегрегация сетей| |
||
| 231 | |Слабые или стандартные пароли на сервисах|Контроль 5.17: информация для аутентификации| |
||
| 232 | |Утечка внутренних данных через HTTP-заголовки|Контроль 8.12: предотвращение утечки данных| |
||
| 233 | |||
| 234 | --- |
||
| 235 | |||
| 236 | h2. Что дальше |
||
| 237 | |||
| 238 | Технический аудит и аудит соответствия дают аудитору полную картину состояния безопасности организации. Следующий блок курса посвящён стандартам и фреймворкам, которые задают критерии этих проверок. |
||
| 239 | |||
| 240 | * *Следующая тема:* [[Стандарты_информационной_безопасности|Обзор стандартов и фреймворков]] — сравнительный обзор ISO 27001, NIST CSF, COBIT, PCI DSS, ГОСТ 57580 |
||
| 241 | * *Оформление результатов:* [[Отчетная_документация|Отчёт об аудите и работа с несоответствиями]] — как интегрировать технические находки в аудиторский отчёт |
||
| 242 | * *Практика:* [[Практика_аудита|Практика: программа, план, чек-листы]] — как включить технический аудит в программу проверки |
||
| 243 | |||
| 244 | --- |
||
| 245 | |||
| 246 | h2. Список литературы и стандартов |
||
| 247 | |||
| 248 | * "OWASP Testing Guide v4.2":https://owasp.org/www-project-web-security-testing-guide/ — методология тестирования веб-приложений |
||
| 249 | * "PTES — Penetration Testing Execution Standard":http://www.pentest-standard.org/ — стандарт проведения пентеста |
||
| 250 | * "MITRE ATT&CK":https://attack.mitre.org — база тактик и техник атак |
||
| 251 | * "CIS Benchmarks":https://www.cisecurity.org/cis-benchmarks — эталоны конфигурации |
||
| 252 | * "NIST SP 800-115":https://csrc.nist.gov/publications/detail/sp/800-115/final — Technical Guide to Information Security Testing and Assessment |
||
| 253 | * "OWASP API Security Top 10":https://owasp.org/www-project-api-security/ |
||
| 254 | * Georgia Weidman — Penetration Testing: A Hands-On Introduction. No Starch Press, 2014 |
||
| 255 | * Kim D., Solomon M. — Fundamentals of Information Systems Security. 3rd ed. Jones & Bartlett, 2018 |
||
| 256 | * "БДУ ФСТЭК России":https://bdu.fstec.ru — банк данных угроз и уязвимостей |