Давай продолжим поговорим о полезных инструментах для пентестеров.
В новой статье мы рассмотрим инструменты для анализа безопасности веб-приложений.
Наш коллега BeLove я уже делал что-то подобное выбор около семи лет назад. Интересно посмотреть, какие инструменты сохранили и укрепили свои позиции, а какие отошли на второй план и сейчас используются редко.
Обратите внимание, что сюда также входит Burp Suite, но о нем и его полезных плагинах будет отдельная публикация.
Содержание:
- Накопить
- Альтднс
- акватон
- МассДНС
- nsec3map
- Акунетикс
- Дирсерч
- чёрт возьми
- уффф
- гобастер
- Арджун
- Поиск ссылок
- JSParser
- sqlmap
- NoSQLMap
- oxml_xxe
- tplmap
- CeWL
- Слабый проход
- АЕМ_хакер
- JoomScan
- WPScan
Накопить
Накопить — инструмент Go для поиска и перечисления поддоменов DNS и сопоставления внешней сети.Amass — это проект OWASP, призванный показать, как организации в Интернете выглядят для постороннего человека.
Amass получает имена субдоменов различными способами; инструмент использует как рекурсивный перебор поддоменов, так и поиск с открытым исходным кодом.
Для обнаружения взаимосвязанных сегментов сети и номеров автономных систем Amass использует IP-адреса, полученные в ходе работы.
Вся найденная информация используется для построения карты сети.
Плюсы:
- К методам сбора информации относятся: * DNS - поиск поддоменов по словарю, перебор поддоменов, умный поиск с использованием мутаций на основе найденных поддоменов, обратные DNS-запросы и поиск DNS-серверов, на которых можно сделать запрос на перенос зоны (AXFR); * Поиск с открытым исходным кодом — Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo; * Поиск по базам данных сертификатов TLS — Censys, CertDB, CertSpotter, Crtsh, Entrust; * Использование API поисковых систем — BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan; * Поиск в веб-архивах Интернета: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;
- Интеграция с Мальтего;
- Обеспечивает максимально полное освещение задачи поиска DNS-поддоменов.
Минусы:
- Будьте осторожны с amass.netdomains — он попытается связаться с каждым IP-адресом в идентифицированной инфраструктуре и получить доменные имена из обратного поиска DNS и сертификатов TLS. Это «громкий» прием, он может раскрыть вашу разведывательную деятельность в подследственной организации.
- Высокое потребление памяти, может потреблять до 2 ГБ ОЗУ при разных настройках, что не позволит запустить этот инструмент в облаке на дешевом VDS.
Альтднс
Альтднс — инструмент Python для составления словарей для перечисления поддоменов DNS. Позволяет генерировать множество вариантов поддоменов с помощью мутаций и перестановок.
Для этого используются слова, которые часто встречаются в поддоменах (например: test, dev, staging), все мутации и перестановки применяются к уже известным поддоменам, которые можно подать на вход Altdns. Результатом является список вариантов поддоменов, которые могут существовать, и этот список позже можно использовать для перебора DNS.
Плюсы:
- Хорошо работает с большими наборами данных.
акватон
акватон — ранее был более известен как еще один инструмент для поиска поддоменов, но сам автор отказался от этого в пользу вышеупомянутого Amass. Теперь aquatone переписан на Go и больше ориентирован на предварительную разведку сайтов.Для этого aquatone проходит по указанным доменам и ищет сайты на разных портах, после чего собирает всю информацию о сайте и делает скриншот. Удобно для быстрой предварительной разведки сайтов, после чего можно выбрать приоритетные цели для атак.
Плюсы:
- На выходе создается группа файлов и папок, которые удобно использовать при дальнейшей работе с другими инструментами: * HTML-отчет с собранными скриншотами и заголовками ответов, сгруппированными по сходству; * Файл со всеми URL-адресами, по которым были найдены веб-сайты; * Файл со статистикой и данными страниц; * Папка с файлами, содержащими заголовки ответов от найденных целей; * Папка с файлами, содержащими тело ответа от найденных целей; * Скриншоты найденных сайтов;
- Поддерживает работу с XML-отчетами из Nmap и Masscan;
- Использует headless Chrome/Chromium для рендеринга снимков экрана.
Минусы:
- Он может привлечь внимание систем обнаружения вторжений, поэтому требует настройки.
Более старые версии можно найти по адресу страница релизов .
Скриншот акватона v0.5.0
МассДНС
МассДНС — еще один инструмент для поиска поддоменов DNS. Его главное отличие состоит в том, что он отправляет DNS-запросы напрямую множеству различных преобразователей DNS и делает это со значительной скоростью.
Плюсы:
- Быстрый — способен разрешать более 350 тысяч имен в секунду.
Минусы:
- MassDNS может вызвать значительную нагрузку на используемые преобразователи DNS, что может привести к блокировке этих серверов или жалобам на вашего интернет-провайдера.
Кроме того, это создаст большую нагрузку на DNS-серверы компании, если они у них есть и несут ли они ответственность за домены, которые вы пытаетесь разрешить.
- Список резолверов на данный момент устарел, но если выбрать сломанные резолверы DNS и добавить новые известные, всё будет хорошо.
nsec3map
nsec3map — это инструмент Python для получения полного списка доменов, защищенных DNSSEC.Плюсы:
- Быстро обнаруживает хосты в зонах DNS с минимальным количеством запросов, если в зоне включена поддержка DNSSEC;
- Включает плагин для John the Ripper, который можно использовать для взлома полученных хешей NSEC3.
Минусы:
- Многие ошибки DNS обрабатываются неправильно;
- Автоматического распараллеливания обработки записей NSEC нет — приходится делить пространство имен вручную;
- Высокое потребление памяти.
Акунетикс
Акунетикс — веб-сканер уязвимостей, автоматизирующий процесс проверки безопасности веб-приложений.Тестирует приложение на наличие SQL-инъекций, XSS, XXE, SSRF и многих других веб-уязвимостей.
Однако, как и любой другой сканер, разнообразные веб-уязвимости не заменяет пентестер, поскольку он не может найти сложные цепочки уязвимостей или уязвимости в логике.
Но он покрывает очень много разных уязвимостей, в том числе различные CVE, о которых пентестер мог забыть, поэтому очень удобен для освобождения от рутинных проверок.
Плюсы:
- Низкий уровень ложных срабатываний;
- Результаты можно экспортировать в виде отчетов;
- Выполняет большое количество проверок на различные уязвимости;
- Параллельное сканирование нескольких хостов.
Минусы:
- Алгоритма дедупликации нет (Acunetix будет считать одинаковые по функционалу страницы разными, так как они ведут на разные URL), но разработчики над этим работают;
- Требует установки на отдельный веб-сервер, что усложняет тестирование клиентских систем с VPN-подключением и использованием сканера в изолированном сегменте локальной клиентской сети;
- Исследуемый сервис может шуметь, например, отправляя слишком много векторов атак на контактную форму на сайте, тем самым сильно усложняя бизнес-процессы;
- Это проприетарное и, соответственно, не бесплатное решение.
Дирсерч
Дирсерч — инструмент Python для перебора каталогов и файлов на веб-сайтах.
Плюсы:
- Может отличить настоящие страницы «200 ОК» от страниц «200 ОК», но с текстом «страница не найдена»;
- Поставляется с удобным словарем, который имеет хороший баланс между размером и эффективностью поиска.
Содержит стандартные пути, общие для многих CMS и стеков технологий;
- Собственный формат словаря, позволяющий добиться хорошей эффективности и гибкости при перечислении файлов и каталогов;
- Удобный вывод — обычный текст, JSON;
- Он умеет делать троттлинг — паузу между запросами, что жизненно необходимо для любого слабого сервиса.
Минусы:
- Расширения необходимо передавать в виде строки, что неудобно, если вам нужно передать сразу много расширений;
- Чтобы использовать словарь, его необходимо немного изменить до формата словаря Dirsearch для максимальной эффективности.
чёрт возьми
чёрт возьми - Фаззер веб-приложений Python. Вероятно, один из самых известных веб-фазеров.Принцип прост: wfuzz позволяет фазировать любое место HTTP-запроса, что позволяет фазировать параметры GET/POST, заголовки HTTP, включая Cookie и другие заголовки аутентификации.
В то же время он удобен и для простого перебора каталогов и файлов, для чего нужен хороший словарь.
Также имеется гибкая система фильтров, с помощью которой можно фильтровать ответы с сайта по различным параметрам, что позволяет добиться эффективных результатов.
Плюсы:
- Многофункциональность – модульная конструкция, сборка занимает несколько минут;
- Удобный механизм фильтрации и фаззинга;
- Вы можете поэтапно использовать любой метод HTTP, а также любое место HTTP-запроса.
Минусы:
- В разработке.
уффф
уффф — веб-фаззер на Go, созданный по «образу и подобию» wfuzz, позволяет перебирать файлы, каталоги, URL-пути, имена и значения параметров GET/POST, HTTP-заголовки, включая заголовок Host для перебора виртуальных хостов.
wfuzz отличается от своего брата более высокой скоростью и некоторыми новыми возможностями, например, поддерживает словари формата Dirsearch.
Плюсы:
- Фильтры аналогичны фильтрам wfuzz, они позволяют гибко настраивать перебор;
- Позволяет фаззить значения HTTP-заголовка, данные POST-запроса и различные части URL-адреса, включая имена и значения GET-параметров;
- Вы можете указать любой HTTP-метод.
Минусы:
- В разработке.
гобастер
гобастер — инструмент Go для разведки, имеет два режима работы.Первый используется для перебора файлов и каталогов на веб-сайте, второй — для перебора поддоменов DNS. Инструмент изначально не поддерживает рекурсивный перебор файлов и каталогов, что, конечно, экономит время, но с другой стороны, перебор каждого нового эндпоинта на сайте нужно запускать отдельно.
Плюсы:
- Высокая скорость работы как при переборе DNS-поддоменов, так и при переборе файлов и каталогов.
Минусы:
- Текущая версия не поддерживает настройку заголовков HTTP;
- По умолчанию действительными считаются только некоторые коды состояния HTTP (200,204,301,302,307).
Арджун
Арджун — инструмент для перебора скрытых параметров HTTP в параметрах GET/POST, а также в JSON. Во встроенном словаре 25 980 слов, которые Аджрун проверяет почти за 30 секунд. Фишка в том, что Айрун не проверяет каждый параметр отдельно, а проверяет ~1000 параметров за раз и смотрит, изменился ли ответ. Если ответ изменился, он делит эту 1000 параметров на две части и проверяет, какая из этих частей влияет на ответ. Таким образом, с помощью простого бинарного поиска находится параметр или несколько скрытых параметров, которые повлияли на ответ и, следовательно, могут существовать.
Плюсы:
- Высокая скорость за счет бинарного поиска;
- Поддержка параметров GET/POST, а также параметров в виде JSON;
Поиск ссылок
Поиск ссылок — Python-скрипт для поиска ссылок в файлах JavaScript. Полезно для поиска скрытых или забытых конечных точек/URL-адресов в веб-приложении.
Плюсы:
- Быстрый;
- Для Chrome существует специальный плагин на основе LinkFinder.
Минусы:
- Неудобный окончательный вывод;
- Не анализирует JavaScript с течением времени;
- Довольно простая логика поиска ссылок — если JavaScript каким-то образом обфусцирован, или ссылки изначально отсутствуют и генерируются динамически, то он не сможет ничего найти.
JSParser
JSParser это скрипт Python, который использует Торнадо И JSBeautifier для анализа относительных URL-адресов из файлов JavaScript. Очень полезно для обнаружения запросов AJAX и составления списка методов API, с которыми взаимодействует приложение.
Эффективно работает в сочетании с LinkFinder.
Плюсы:
- Быстрый анализ файлов JavaScript.
sqlmap
sqlmap Вероятно, это один из самых известных инструментов для анализа веб-приложений.Sqlmap автоматизирует поиск и выполнение SQL-инъекций, работает с несколькими диалектами SQL и имеет в своем арсенале огромное количество различных техник, начиная от прямых кавычек и заканчивая сложными векторами для SQL-инъекций на основе времени.
Кроме того, он имеет множество техник для дальнейшей эксплуатации под различные СУБД, поэтому полезен не просто как сканер SQL-инъекций, но и как мощный инструмент для эксплуатации уже найденных SQL-инъекций.
Плюсы:
- Большое количество различных техник и векторов;
- Низкое количество ложных срабатываний;
- Множество опций тонкой настройки, различные методы, целевая база данных, скрипты взлома для обхода WAF;
- Возможность создания дампа вывода;
- Множество различных эксплуатационных возможностей, например, для некоторых баз данных – автоматическая загрузка/выгрузка файлов, получение возможности выполнения команд (RCE) и другие;
- Поддержка прямого подключения к базе данных с использованием данных, полученных в ходе атаки;
- Вы можете отправить текстовый файл с результатами Burp в качестве входных данных — не нужно вручную составлять все атрибуты командной строки.
Минусы:
- Сложно настроить, например, написание каких-то своих проверок из-за скудной для этого документации;
- Без соответствующих настроек он выполняет неполный набор проверок, что может ввести в заблуждение.
NoSQLMap
NoSQLMap — инструмент Python для автоматизации поиска и эксплуатации NoSQL-инъекций.
Удобно использовать не только в NoSQL базах данных, но и непосредственно при аудите веб-приложений, использующих NoSQL.
Плюсы:
- Как и sqlmap, он не только находит потенциальную уязвимость, но и проверяет возможность ее эксплуатации для MongoDB и CouchDB.
Минусы:
- Не поддерживает NoSQL для Redis, Cassandra, разработки ведутся в этом направлении.
oxml_xxe
oxml_xxe — инструмент для встраивания XML-эксплойтов XXE в различные типы файлов, которые в той или иной форме используют формат XML.Плюсы:
- Поддерживает множество распространенных форматов, таких как DOCX, ODT, SVG, XML.
Минусы:
- Поддержка PDF, JPEG, GIF реализована не полностью;
- Создает только один файл.
Для решения этой проблемы вы можете использовать инструмент доцем , который может создавать большое количество файлов полезной нагрузки в разных местах.
tplmap
tplmap - инструмент Python для автоматического выявления и использования уязвимостей внедрения шаблонов на стороне сервера; у него есть настройки и флаги, аналогичные sqlmap. Использует несколько различных методов и векторов, включая слепое внедрение, а также имеет методы выполнения кода и загрузки/выгрузки произвольных файлов.Кроме того, в его арсенале есть методики для дюжины различных шаблонизаторов и несколько методик поиска eval()-подобных внедрений кода в Python, Ruby, PHP, JavaScript. В случае успеха откроется интерактивная консоль.
Плюсы:
- Большое количество различных техник и векторов;
- Поддерживает множество механизмов рендеринга шаблонов;
- Множество техник работы.
CeWL
CeWL — генератор словарей на Ruby, созданный для извлечения уникальных слов с указанного веб-сайта, следует по ссылкам на сайте на заданную глубину.Скомпилированный словарь уникальных слов впоследствии можно использовать для подбора паролей в сервисах или для подбора файлов и каталогов на том же веб-сайте, а также для атаки на полученные хэши с помощью hashcat или John the Ripper. Полезно при составлении «целевого» списка потенциальных паролей.
Плюсы:
- Легко использовать.
Минусы:
- Нужно быть осторожным с глубиной поиска, чтобы не захватить лишний домен.
Слабый проход
Слабый проход — сервис, содержащий множество словарей с уникальными паролями.Чрезвычайно полезен для различных задач, связанных со взломом паролей, начиная от простого онлайн-перебора учетных записей на целевых сервисах и заканчивая офф-лайн перебором полученных хэшей с использованием хешкот или Джон Потрошитель .
Он содержит около 8 миллиардов паролей длиной от 4 до 25 символов.
Плюсы:
- Содержит как конкретные словари, так и словари с наиболее распространенными паролями — вы можете выбрать конкретный словарь под свои нужды;
- Словари обновляются и пополняются новыми паролями;
- Словари отсортированы по эффективности.
Вы можете выбрать вариант как быстрого онлайн-перебора, так и подробного подбора паролей из объемного словаря с последними утечками;
- Есть калькулятор, показывающий время подбора паролей на вашем оборудовании.
В отдельную группу мы бы хотели выделить инструменты для проверки CMS: WPScan, JoomScan и AEM hacker.
АЕМ_хакер
АЕМ-хакер — это инструмент для выявления уязвимостей в приложениях Adobe Experience Manager (AEM).
Плюсы:
- Может идентифицировать приложения AEM из списка URL-адресов, отправленных на его вход;
- Содержит сценарии для получения RCE путем загрузки оболочки JSP или использования SSRF.
JoomScan
JoomScan — Perl-инструмент для автоматизации обнаружения уязвимостей при развертывании CMS Joomla.Плюсы:
- Умеет находить недостатки конфигурации и проблемы с административными настройками;
- Перечисляет версии Joomla и связанные с ними уязвимости, аналогично для отдельных компонентов;
- Содержит более 1000 эксплойтов для компонентов Joomla;
- Вывод итоговых отчетов в текстовом и HTML-форматах.
WPScan
WPScan — инструмент для сканирования сайтов WordPress, имеет в своем арсенале уязвимости как для самого движка WordPress, так и для некоторых плагинов.
Плюсы:
- Способен выводить список не только небезопасных плагинов и тем WordPress, но также получать список пользователей и файлов TimThumb;
- Может проводить атаки грубой силы на сайты WordPress.
Минусы:
- Без соответствующих настроек он выполняет неполный набор проверок, что может ввести в заблуждение.
Вообще, разные люди предпочитают разные инструменты для работы: все они хороши по-своему, и то, что нравится одному человеку, может совершенно не подойти другому.
Если вы считаете, что мы несправедливо проигнорировали какую-то хорошую утилиту, напишите об этом в комментариях! Теги: #информационная безопасность #Сетевые технологии #веб #взлом #инструменты #websec
-
Пожалейте Владельцев Ноутбуков.
19 Oct, 24