Веб-Инструменты, Или С Чего Начать Пентестеру?

Давай продолжим поговорим о полезных инструментах для пентестеров.

В новой статье мы рассмотрим инструменты для анализа безопасности веб-приложений.

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



Веб-инструменты, или с чего начать пентестеру?

Обратите внимание, что сюда также входит Burp Suite, но о нем и его полезных плагинах будет отдельная публикация.



Содержание:



Накопить

Накопить — инструмент 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 для рендеринга снимков экрана.



Минусы:

  • Он может привлечь внимание систем обнаружения вторжений, поэтому требует настройки.

Скриншот сделан для одной из старых версий aquatone (v0.5.0), в которой был реализован поиск по DNS-поддоменам.

Более старые версии можно найти по адресу страница релизов .



Веб-инструменты, или с чего начать пентестеру?

Скриншот акватона 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;
Плагин для Burp Suite работает по похожему принципу — парам-майнер , который также очень хорош для поиска скрытых параметров HTTP. Мы расскажем вам больше об этом в следующей статье о Burp и его плагинах.



Веб-инструменты, или с чего начать пентестеру?



Поиск ссылок

Поиск ссылок — 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 реализована не полностью;
  • Создает только один файл.

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

Вышеупомянутые утилиты отлично справляются с тестированием XXE при загрузке документов, содержащих XML. Но также помните, что обработчики формата XML можно встретить и во многих других случаях, например, в качестве формата данных вместо JSON можно использовать XML. Поэтому мы рекомендуем обратить внимание на следующий репозиторий, который содержит большое количество различных полезных нагрузок: Полезные нагрузкиAllTheThings .



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

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.