Проанализировав результаты сотен тестов на проникновение, мы увидели четкую закономерность: большинство успешных атак объясняются не сложностью инструментов злоумышленников, а игнорированием базовых мер защиты. Реальность такова, что злоумышленники берут то, что плохо лежит: используют слабые пароли, вовремя не закрытые уязвимости и эксплуатируют человеческий фактор. Сложные многоступенчатые атаки чаще бывают исключением. Как правило, злоумышленники используют атаки, выстроенные с помощью стандартных методов и утилит.
В этой статье мы систематизировали инструменты, которыми может воспользоваться любой пентестер при аудите инфраструктуры и внешнего периметра. Понимание этого набора — первый и критически важный шаг к выстраиванию адекватной системы защиты.
Этап 1. Разведка
Все начинается с разведки. Наша цель — собрать как можно больше информации о цели, создав ее цифровой портрет. Базовый инструментарий для этого включает в себя:
- Whois – сетевой протокол прикладного уровня, который позволяет получить регистрационные данные о владельцах доменных имен и IP-адресов.
- Whatweb – инструмент с открытым исходным кодом, с помощью которого можно собрать информацию о веб-приложении.
- Wig – инструмент по сбору информации о веб-приложениях, позволяет идентифицировать ряд систем управления контентом (CMS) и другие административные приложения.
- dnsdumpster.com – бесплатный инструмент для исследования домена, позволяет обнаруживать видимые хосты и поддомены, связанные с основным доменом.
- Dirb – это сканер веб-контента, дает возможность подбирать директории сайта по словарю.
- Gobuster – это сканер веб-контента, предназначенный для брутфорса директорий и файлов веб-сайтов и DNS субдоменов.
Но разведка давно вышла за рамки простого сканирования веб-сервера. Для более глубокого анализа мы можем использовать:
- WPScan – blackbox-сканер уязвимостей сайтов на WordPress, позволяет определять версию WordPress, обнаруживать конфиденциальные файлы, находить имена пользователей и обнаруживать включенные функции, а также выявлять уязвимости.
- Nikto – бесплатный сканер, позволяет обнаруживать уязвимости в веб-серверах.
- Gitleaks – SAST-инструмент с открытым исходным кодом. Позволяет сканировать код из Git репозиториев на наличие утечек и конфиденциальной информации.
А с приходом в нашу практику OSINT (Open Source Intelligence) разведка стала еще глубже. Появились мощные специализированные инструменты:
- Maltego – OSINT-фреймворк с графическим интерфейсом для сбора информации о цели из всевозможных источников. Позволяет найти информацию о нужном объекте по заданным параметрам в глобальной сети, анализировать зависимости и данные в режиме реального времени, а также получать информацию в виде схем/графов.
- Shodan – поисковик по Интернету вещей. Позволяет оценивать уровень распространения тех или иных устройств, операционных систем и веб‑инструментов, а также выяснять текущий уровень проникновения интернета в любые регионы – от квартала до континента.
- Netlas.io – инструмент для сбора информации о сетях. Позволяет просканировать каждый IPv4-адрес, все известные веб-сайты и веб-приложения, при этом вся информация собирается только ненавязчивыми методами. Также используется для обнаружения поверхности атаки при пентесте.
- Sherlock – один из самых популярных OSINT-инструментов. Позволяет путем поиска по огромному количеству сайтов определить, зарегистрирован ли там пользователь с указанным никнеймом.
- Snoop – OSINT-инструмент по поиску никнеймов. Позволяет получить лучшие результаты поиска информации по никнейму.
И это не предел. Сообщество постоянно развивается, и на смену старым инструментам приходят новые полезные утилитами для OSINT в рамках тестирований на проникновения, а также инструменты для Blue Team, которые за последние пару лет стали частью ОС Kali Linux:
- Findomain – инструмент для поиска субдоменов, который позволяет быстро распознавать субдомены с использованием логов Certificate Transparency и API сервисов.
- H8mail – инструмент для предоставления набора возможных паролей из своих баз данных для указанного почтового ящика, позволяет получить доступ не только к электронной почте, но и ко всем остальным аккаунтам, если пользователь повторно использует одни и те же пароли.
- ReconSpider – продвинутый фреймворк для OSINT, который позволяет сканировать IP-адреса, электронные письма, веб-сайты и собирать информацию из разных источников.
- Autorecon – многопоточный инструмент сетевой разведки, который позволяет сканировать порты и автоматически анализировать найденные сервисы.
Когда цифровой портрет цели составлен, пора изучать ее периметр.
Этап 2. Сканирование и анализ уязвимостей
На этом этапе мы переходим от пассивного наблюдения к активному взаимодействию. Наша задача — найти «открытые двери» и слабые места.
Чтобы «увидеть» саму локальную сеть и всех ее участников, а также для атаки на сетевые устройства используем:
- Arpsсan – утилита для ARP сканирования локальной сети, позволяет обнаруживать все подключенные к сети устройства, в том числе на ОС Linux и скрытые.
- Netdiscover – инструмент активного/пассивного поиска адресов, дает возможность пассивно обнаруживать сетевые хосты, а также искать их активно, отправляя ARP-запросы.
- Yersinia – фреймворк для выполнения атак второго уровня модели OSI. Позволяет использовать недостатки безопасности в различных сетевых протоколах для анализа и тестирования сетей и систем.
Для анализа сетевого трафика используем:
- Tcpdump – утилита для анализа и фильтрации сетевых пакетов. Позволяет прослушивать трафик, а также проверять его маршрутизацию, диагностировать потерю пакетов и пр.
- Wireshark – графическая утилита для анализа трафика. Позволяет просматривать весь проходящий по сети трафик в режиме реального времени.
Для сканирования сети и портов используем:
- Nmap – утилита с открытым исходным кодом для исследования сети и проверки безопасности. Позволяет обнаруживать открытые порты и веб-сервисы на них;
- Zenmap – графическая утилита Nmap для Windows.
Но просто найти открытый порт — мало. Нужно понять, какая уязвимость за ним скрывается. Для этого используем сканеры:
- Nessus – программное обеспечение для автоматического поиска известных изъянов в защите информационных систем, позволяет обнаружить наиболее часто встречающиеся виды уязвимостей.
- OWASP ZAP (Zaproxy) – сканер безопасности веб-приложений с открытым исходным кодом. Позволяет манипулировать всем трафиком, который проходит через него, включая трафик с использованием HTTPS, а также в автоматическом режиме обнаруживать уязвимости безопасности в веб-приложениях.
- Burp Suite – интегрированная платформа, позволяет проводить аудита веб-приложений, как в ручном, так и в автоматических режимах, перехватывать и обрабатывать все поступающие от браузера запросы, а также устанавливать сертификаты burp для анализа https-соединений.
- OpenVAS – инструмент для сканирования уязвимостей с открытым исходным кодом, позволяет выявлять проблемы безопасности в информационных системах и сетях.
Отдельного внимания заслуживает анализ Wi-Fi. Здесь можно использовать такие инструменты:
- Wifite2 – бесплатная утилита для аудита Wi-Fi сетей с открытыми исходниками, позволяет сканировать все каналы и сортировать сети по силе сигнала, отображать информацию о подключенных клиентах, наличии WPS и проводить в автоматизированном режиме атаки на сети Wi-Fi.
- Airgeddon – набор инструментов с открытым исходным кодом для тестирования безопасности беспроводных сетей, позволяет проводить деаутентификацию, атаки на WEP, WPA и WPA2, создавать поддельные точки доступа и прочие комбинированные атаки на сети Wi-Fi.
- Aircrack-ng – набор инструментов для оценки безопасности сети Wi-Fi, позволяет обнаруживать беспроводные сети, перехватывать проходящий через них трафик и проводить аудит беспроводных сетей.
Когда карта уязвимостей составлена, теперь следует другой логический шаг — расширение привилегий в системе.
Этап 3. Получение доступа и эксплуатация уязвимостей
Это фаза, где мы превращаем найденную уязвимость в реальный доступ к системе. Наш главный союзник здесь — Metasploit – фреймворк, который помогает обнаруживать и исследовать уязвимости в сетях и на серверах. А чтобы быстро найти нужный эксплойт, используем Searchsploit – локальную версию сайта Exploit-DB, представляющую собой базу данных с эксплоитами. Она позволяет обнаруживать и исследовать уязвимости в сетях и на серверах.
Для атаки на пароли у нас есть целый арсенал:
- Hydra – программное обеспечение с открытым исходным кодом для перебора паролей в реальном времени от различных онлайн сервисов, веб-приложений и протоколов, позволяет выполняется перебор паролей не по хэшу, а напрямую.
- Medusa – быстрый, параллельный и модульный брут-форсер входа, позволяет осуществлять перебора учетных данных в максимально возможном количестве протоколов.
- Hashcat – утилита, с помощью которой осуществляется восстановление паролей путем перебора хэшей.
- John the Ripper – программное обеспечение, предназначенное для восстановления паролей по их хешам, позволяет проводить аудит паролей в UNIX-системах путем перебора возможных вариантов по словарю.
Современные Active Directory-сети требуют специализированного подхода:
- CrackMapExec – инструмент для тестирования Windows и Active Directory, позволяет перечислять вошедших пользователей и индексировать общие папки SMB, выполнять автоматические инъекции в память с использованием Powershell и дампить NTDS.dit.
- Mimikatz – приложение с открытым исходным кодом, позволяет извлекать пароли в виде простого текста, хеши, ПИН-коды и билеты kerberos из памяти.
- Bloodhound – программное обеспечение, которое выявляет скрытые и часто непреднамеренных отношений в среде Active Directory, позволяет находить и определять сложные пути атаки, предоставляя информацию в виде графов.
- Enum4linux-ng – инструмент для перечисления информации из систем Windows и Samba, позволяет получать списки пользователей и информацию о их группах, информацию о домене хоста и ОС, а также перечень общих ресурсов и парольные политики.
- Coercer – инструмент, написанный на Python, который автоматически принуждает сервер Windows к аутентификации на произвольной машине.
Активно развиваются и инструменты для эксплуатации:
- Mssqlpwner – продвинутый и универсальный инструмент, позволяет беспрепятственно взаимодействовать с серверами MSSQL, а также взламывать их.
- Sqlmap – инструмент с открытым исходным кодом для тестирования на проникновение, позволяет автоматизировать процесс выявления и эксплуатации уязвимости SQL-инъекций и захвата серверов баз данных.
Когда доступ получен, мало просто зайти в систему — нужно укрепить свои позиции.
Этап 4. Повышение привилегий и закрепление в системе
Обычно первоначальный доступ — это права обычного пользователя. Наша цель — стать администратором или суперпользователем. Для Linux незаменим LinPEAS — автоматизированная утилита для выявления уязвимостей и ошибок конфигурации в системах Linux, позволяющая анализировать различные аспекты системы, помогая выявить и устранить потенциальные слабые места безопасности для облегчения повышения привилегий, а также PXEnum – скрипт, который позволяет осуществлять сбор всей доступной информации о Linux-системе. Для Windows и Active Directory есть BloodyAD — фреймворк с открытым исходным кодом, который позволяет повышать привилегий в AD.
Чтобы сохранить доступ для дальнейшего анализа, мы используем инструменты для закрепления. Например, Ngrok позволяет сделать локальный порт доступным из интернета без настройки NAT, роутера, DDNS и других протоколов через безопасный туннель.
Инструменты для симуляции атак и защиты
В ходе пентеста, чтобы симулировать реалистичные сложные атаки, мы используем фишинговые инструменты:
- GoPhish – платформа с открытым исходным кодом, которая позволяет симулировать фишинговые атаки.
- Evilginx – инструмент для фишинга и атаки «Man-in-the-Middle» (MITM), позволяет перехватывать учетные данные и сеансовые cookie пользователей.
Важно, чтобы современный пентестер понимал инструменты Blue Team. Это позволяет эффективнее скрывать следы своей активности и давать более качественные рекомендации. Обратите внимание на:
- Chainsaw – инструмент для первичного реагирования на инциденты, позволяет быстро искать артефакты в журналах событий Windows, таблицах Master File Table и System Resource Utilization Monitor;
- Snort – гибкая сетевая система предотвращения вторжений (IPS) и обнаружения вторжений (IDS) с открытым исходным кодом, совместимая с ОС Windows и Linux, которая позволяет записывать все выявленные угрозы в лог-файл.
- Portspoof – утилита для эмуляции TCP-портов, которая позволяет показывать все настроенные TCP-порты в «открытом» состоянии, что создает ложное представление о структуре и уязвимостях сети.
- Hubble – распределенная платформа, которая позволяет осуществлять мониторинг сетей, сервисов и безопасности для Kubernetes и для облачных рабочих нагрузок с использованием eBPF.
- TheHive – масштабируемая платформа реагирования на инциденты безопасности с открытым исходным кодом, которая предоставляет централизованную систему для отслеживания и расследования событий, связанных с безопасностью.
В заключении хочу отметить, что представленные инструменты составляют мощную, но не исчерпывающую часть арсенала специалиста по тестированию на проникновение, а их эффективность напрямую зависит от экспертизы и критического мышления исполнителя.
Мы настоятельно рекомендуем использовать данные инструменты исключительно на своих собственных локальных сетях, серверах, сервисах и сайтах, либо по договору о проведении анализа защищенности или тестировании на проникновения, ведь обязательным условием их применения является строгое соблюдение правовых норм и этического подхода.
А для стабильной безопасности инфраструктуры мы призываем проводить регулярные пентесты и интегрировать лучшие практики DevSecOps в жизненный цикл разработки и эксплуатации информационных систем.