Практически каждый день в новостях мы слышим про очередной взлом компании, где были украдены персональные данныеили «уничтожены» сервера. Казалось бы, многие компании тратят огромные деньги на информационную безопасность, однако это им не всегда помогает. Почему же так происходит? В статье постараемся разобраться зачем же компании добровольно пускают «хакеров» внутрь и как это может помочь бизнесу. Постараюсь изложить все максимально просто, чтобы статья была понятна широкому кругу лиц, так как я столкнулся с тем, что многие не понимают что такое пентест и зачем это нужно компаниям.

"Хакер"
"Хакер"

Начнем с теории

Пентест простыми словами

Для начала нам стоит разобраться что же такое пентест. Постараюсь объяснить простыми словами. У Вас наверняка есть дом или квартира. Вы закрыли двери, возможно поставили сигнализацию и уверены в безопасности. Но вот вопрос: а не забыли ли вы закрыть окно на кухне? А может, ключ от дома лежит прямо под ковриком у входной двери? Пентест — это как раз проверка защищенности вашего дома или квартиры от преступников, а пентестер — человек, который проверяет защищенность таких «окон и ковриков», только в цифровом мире. Он ищет уязвимости в сайтах, приложениях или в сетях, чтобы компания успела их закрыть до появления настоящих преступников. И задача пентестера звучит просто и парадоксально: ломать, чтобы защитить.

Уязвимости — это слабое место или недостаток, который может быть использован злоумышленниками для нанесения вреда или получения несанкционированного доступа. Уязвимости могут возникать на различных этапах и в различных местах, например при разработке программного обеспечения или его внедрении. К уязвимости может привести и простая человеческая халатность.

Методы проведения пентеста

Есть несколько различных методов проведения пентеста:

  • Black box (черный ящик)

  • Gray box (серый ящик)

  • White box (белый ящик)

На Хабре есть отлично написанная статья про методы проведения пентеста и я не вижу смысла еще раз их рассматривать. Просто прочтите, это не реклама, я не являюсь сотрудником компании Бастион.

Методологии проведения пентеста

Eсть различные методологии проведения пентеста:

  • PTES (Penetration Testing Execution Standard)

  • NIST SP 800-115

  • OSSTMM (Open Source Security Testing Methodology Manual) и другие

В целом методологии похожи между собой. Можно использовать любую из них, либо переработать под себя.

Пентест на практике методом черного ящика

любой пентест должен проводиться с официального разрешения компании!

Этапы проведения пентеста методом Black Box

Пентест ≠ сканирование сканером уязвимостей

Выделим основные этапы, которых мы придерживаемся при проведении тестирования компаний методом черного ящика (Black box).

Этап 1. Разведка

Разведка, важный этап в проведении пентеста. Чем больше будет собрано информации, тем выше шанс успешного взлома компании.

Пассивная разведка

Особенность пассивного сбора информации заключается в том, что при сборе информации у цели практически нет возможности отследить атакуемого. Другими словами, это сбор общедоступной информации.

  • Проверяем утечки. Для обще­го понима­ния сис­темы и обо­гаще­ния информа­ции неплохо было бы пос­мотреть утеч­ки учет­ных дан­ных поль­зовате­лей или сот­рудни­ков компании.

  • Ищем домены компании. Можно использовать ресурсы viewdns.info, suip.biz, virustotal, crt.sh и др.

  • Сбор почты. EmailHarvester — одна из ути­лит для поис­ка и сбо­ра email-адре­сов. Ни­же при­веде­на bash-коман­да для запус­ка ути­литы и поис­ка по спис­ку доменов:

(trap 'kill 0' SIGINT; while IFS= read -r domain; do target_name=$(echo $domain | sed "s/[^a-zA-Z0-9]/_/g"); echo "Starting EmailHarvester for $domain"; python3 EmailHarvester.py -d "$domain" -s "email_${target_name}.txt"; done < scope)
  • Используем whois, dig, nslookup для сбора информации об IP-адресах и доменах

  • Используем сервисы shodan, censys и др.

  • Используем поисковые системы и «дорки» для поиска интересующей информации о компании

  • Изучаем социальные сети (Insta, Linkedin и т. д.)

  • Изучаем публичные веб-сайты компании

  • Изучаем облачные хранилища и хранилища для разработчиков Git (следует поискать репозитории и ключи в открытых источниках)

Активная разведка

  • Использование различных утилит для сканирования портов: nmap, masscan, fping и т.д. (необходимо помнить что ping может быть запрещен)

masscan --ping --rate=10000 10.64.0.10
fping -a -g 10.64.0.0/10
  • Если известно, что хостов несколько, можно использовать AutoRecon

  • Ищем домены компании (активно):

    • Использование утилит Spyhunt, subfinder, dnsenum, httpx, ffuf и др.

cat filesubdomain.txt | go/bin/httpx >> subdomain.txt
ffuf -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt:FUZZ  -u https://www.test.com -H "Host: FUZZ.test.com"
gobuster vhost -w /usr/share/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt -t 50 -u test.com
dnsenum --dnsserver 8.8.8.8 --enum -p 0 -s 0 -o subdomains.txt -f /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt test.com

Если много доменов можно использовать eyewitness для создания скриншотов при добавлении в отчет.

Физическая разведка

Изучение информации о компании (Адрес, время работы, примерное количество сотрудников, охрана или СКУД, какие компании еще есть в здании)

Этап 2. Получение доступа

Этап получения доступа довольно обширен. И описание растянется на длинный текст. Если статья будет интересна, то опишу более подробно.

  • Тестирование Веб-приложений:

    • Поиск cистемных уязвимостей в сервисах

    • Использование сканеров OWASP ZAP, nuclei, nikto, ReconSpider

    • XXE

    • XXS (Cross-Site Scripting)

    • CSRF

    • SQLi/NoSQLi

    • SSRF (Подделка запросов на стороне сервера)

    • SSTI (Внедрение шаблонов на стороне сервера )

    • Ошибки конфигурации и т.д.

  • Тестирование WiFi сетей:

    • Brute-force атака на WPA-WPA2 (Handshake атака)

    • PMKID Attack (без деаутентификации клиентов)

    • Evil Twin (Злой двойник) (с DoS или без него)

    • KARMA Attack (Атака KARMA)

    • MANA Attack (Атака MANA)

    • Known Beacon Attack (Атака на известные Beacon)

  • Социальная инженерия:

    • Фишинг с помощью email, telegram, viber

  • Проведение комбинированных атак, включающих социальную инженерию и атаку на веб‑приложения или wifi.

  • Brute Force (Метод «грубой силы»). Использовать в крайнем случае, когда ничего не получилось

Этап 3. Закрепление

После получения доступа на одну из целевых систем, необходимо повысить привилегии и закрепиться в ней.

  • Закрепление:

    • WEB (Использование WEB и Reverse shell)

    • Linux (cron, службы)

    • Windows (автозапуск, планировщик задач, службы и др.)

  • Повышение привилегий (на примере Linux):

    • Поиск системных уязвимостей CVE

    • Использование LinPeas

    • Поиск учетных данных. Обязательно ищем конфиги и проверяем!!! все реквизиты доступа к БД и другим сервисам.

      Команда для поиска паролей: grep -arin -o -E '(\w+\W+){0,5}password(\W+\w+){0,5}' .

    • Можно использовать различные ресурсы https://exploit-notes.hdks.org/exploit/linux/privilege-escalation/ или https://gtfobins.github.io/

На данном этапе сознательно пропускаю pivoting, использование командных центров и методы обхода антивирусных систем для закрепления и продвижения внутри сети.

Кроме того, закрепление и повышение привилегий также заслуживает отдельных статей.

Этап 4. Подготовка отчета

Подготовка отчета является итоговым результатом проделанной работы. И к этому этапу нужно подойти качественно, т.к. понятный и структурированный отчет является показателем профессионализма пентестера. Однако, что необходимо включить в отчет, чтобы он был действительно хорошим:

В первую очередь подробно описать проделанную работу. Весь пройденный путь от обнаружения до эксплуатации уязвимостей. При этом не использовать сложную терминологию, т.к. отчет могут читать люди с разным уровнем подготовки. Важно прикладывать как можно больше скриншотов.

Во вторых подробно описать найденные уявимости, в том числе, как их можно воспроизвести. Так же должны быть даны рекомендации как исправить обнаруженные уязвимости.

Отчет должен иметь простую структуру, при этом информативен. Ведь это тот документ, за который платит компания. Ниже приведена одна из возможных структур отчета:

  1. Всту­питель­ная часть (стоит отметить дату про­веде­ния пен­теста, методи­ку, которая при­меня­лась, основные эта­пы тес­тирова­ния, перечень сис­тем для тес­тирова­ния и исклю­чения из объ­ема работ, перечень узлов. При этом стоит упомянуть методы которые не применялись (например брутфорс или фишинг))

  2. Общее опи­сание про­делан­ной работы (весь пройденный путь от обнаружения до эксплуатации уязвимостей.)

  3. Тех­ничес­кий отчет (необходимо кратко описать обнаруженную уязвимость, уровень риска, ссылку на описание уязвимости и скриншоты подтверждения уязвимости)

  4. Рекомен­дации по устра­нению уяз­вимос­тей

Для подготовки отчета можно использовать готовые фреймворки:

  • Dradis Framework

  • Faraday

  • Sysreptor

Качество и результаты проведения пентеста зависят от опыта и профессионализма пентестеров!

Чем пентест поможет бизнесу

Вот мы и пришли к одному из главных вопросов. Чем пентест поможет бизнесу?

Пентест — это как медицинский чек-ап для компании: лучше узнать о проблеме на ранней стадии, чем позже столкнуться с последствиями.

Проведение пентеста необходимо чтобы:

  • Защитить данные клиентов (и свою репутацию), а также снизить возможные финансовые потери. Для большинства компаний пентест окупится с лихвой. Ведь потери от взлома куда больше. И не надо думать, что мы никому не интересны, поэтому нас не будут ломать. Забудьте. Уже прошло то время, уже интересны. Найдутся те, кто взломает, но будет уже поздно.

  • Соответствовать требованиям регуляторов. Во многих странах (например в Республике Беларусь) требованиями законодательства необходимо периодическое проведение оценки защищенности (пентеста).

  • Проверить, насколько команда безопасности готова к реальным атакам. Пентест может выявить, насколько сотрудники готовы к реальным атакам, и , возможно, на необходимость дополнительного обучения.

Ключевые моменты:

  1. Пентест ≠ сканирование сканером уязвимостей;

  2. Любой пентест должен проводиться с официального разрешения компании;

  3. Не надо думать, что мы никому не интересны;

  4. Отчет — результат, за который платит компания;

  5. Результаты тестирования зависят от опыта и профессионализма пентестеров.

Вместо заключения

Если вы прочитали статью, то убедились, что пентест не является простой работой, где необходимо просто запустить сканер уязвимостей. Необходим опыт, знание методик и постоянное повышение квалификации, изучение новых технологий и методологий.

Важно понимать, что это не игра в кибер«шпионов», а реальный способ сделать бизнес более устойчивым к кибератакам, особенно в текущий реалиях.

Компании, которые периодически проверяют свою защиту, редко становятся героями новостей о громких взломах и утечках.

Комментарии (2)


  1. feld1meow
    05.09.2025 09:21

    Пентест — это как медицинский чек-ап для компании

    Анализ защищенности более подходит к сравнению с медицинским чек-апом: поверхностное периодическое тестирование основных функций «организма», состояние которых может свидетельствовать о наличии каких-либо отклонений.

    В тестировании на проникновение зачастую стоит задача «взломайте нас» - там не идут вширь, а углубляются при первой возможности. По словам Омара Ганиева, компании заинтересованы найти наибольшее количество мисконфигураций и потенциальных векторов атак, поэтому они обращаются именно за услугой анализа защищенности.


  1. Shaman_RSHU
    05.09.2025 09:21

    Прежде чем проводить пентест в своей компании нужно, чтобы хотя бы гигиена уже была соблюдена, иначе это всё будет впустую:

    1. Должна быть информация по владельцу каждого актива, ответственным за каждый сервер, сервис, открытый сетевой порт и т.д.

    2. На периметре должны отсутствовать уязвимые сервисы (отсутствие общеизвестных уязвимостей)

    3. Должен быть план на случай внутреннего проникновения

    Данный список можно продолжать бесконечно долго