Перейти к содержанию

Поиск недостатков

Поиск недостатков делится на две последовательные фазы:

  1. Анализ поверхности атаки.
  2. Обнаружение недостатков.

Модули анализа поверхности атаки

Имя модуля Методы анализа поверхности атаки Описание
static-crawler 🕷 Статический веб-краулинг и дирбастинг Поисковый модуль, который обходит веб-ресурсы и анализирует HTML-разметку, не производя открытие и рендеринг страницы. В рамках модуля есть возможность включения и отключения дирбастинга
waf-har-extractor Интеграция с SolidWall WAF Модуль, экспортирующий конечные точки из SolidWall WAF
dynamic-crawler 🕷 Динамический веб-краулинг Поисковый модуль, выявляющий конечные точки посредством динамического взаимодействия с интерфейсами веб-приложения с использованием управляемого браузера
har-importer Импорт HAR-файлов Модуль, экспортирующий конечные точки из HAR-файлов. Модуль принимает на вход браузерные HAR-файлы и файлы, содержащие массив (типа JSON и NDJSON) описаний HTTP-запросов в расширенном формате HAR
openapi-hars-generator Импорт спецификации OpenAPI Модуль, экспортирующий конечные точки из OpenAPI‑спецификации
js-analyzer Анализ клиентского JavaScript-кода Модуль, выявляющий конечные точки сервера при помощи анализа клиентского JavaScript-кода
graphql-inspector Выявление конечных точек GraphQL Модуль, который отправляет специфичные для GraphQL HTTP-запросы с целью выявления конечных точек GraphQL

Модули обнаружения недостатков

В данном разделе термин «недостаток» понимается в широком смысле и включает в себя в том числе уязвимости и атаки.

Имя модуля Обнаруживаемые недостатки Описание
nuclei-runner-deps Недостатки, описанные расширенными сигнатурами Nuclei Модуль активного сканирования выявленных конечных точек, использующий расширенные шаблоны Nuclei. Для указанных конечных точек модуль позволяет задать условия запуска анализа
nuclei-runner Недостатки, описанные сигнатурами Nuclei Модуль активного сканирования, который использует сигнатуры в формате YAML и может сканировать различные протоколы
powby2 Недостатки, описанные сигнатурами Powby2 Модуль пассивного сканирования, который выявляет различные технологии, анализирует ресурсы, находящиеся в базе данных, и сопоставляет их с сигнатурами
zvlom-serialize Контролируемые сериализованные данные Модуль выполняет поиск сериализованных объектов в ответе сервера. Умеет выявлять сериализованные объекты которые могут быть закодированы как единожды, так и цепочкой из нескольких кодировок или алгоритмов сжатия. Выполняет поиск объектов, сериализованных в приложениях, использующих PHP, Python (Pickle), Ruby, Java, .NET и прочие технологии
cspp-scanner Client-Side Prototype Pollution Модуль выявляет указанный недостаток при помощи динамической проверки выполнения JavaScript-кода на странице приложения в веб-бразуере
dynamic-page-analyzer-cspp Client-Side Prototype Pollution Модуль при помощи динамического анализа ищет потоки данных, которые могут привести к Client-Side Prototype Pollution
dynamic-page-analyzer-domxss DOM XSS Модуль при помощи динамического анализа ищет потоки данных, которые могут привести к DOM XSS
stored-xss Stored XSS Модуль выявляет указанный недостаток при помощи двухэтапного обхода приложения и динамической проверки выполнения JavaScript-кода на странице приложения в веб-браузере
bruteforce Подбираемые учетные записи Модуль выявляет в системе учётные записи, имеющие слабые данные для входа, с помощью перебора по словарю. Помимо встроенного, также имеется возможность использовать пользовательский словарь. В настоящий момент поддержка пользовательского словаря реализована только для fuchsiactl
file-upload-scanner Уязвимости загрузки файлов Модуль выявляет недостатки, связанные с загрузкой файлов на веб-сервер. Обнаруживаются следующие уязвимости:
1. исполнение произвольного PHP-кода;
2. уязвимости, связанные с обработчиком изображений ImageMagick;
3. Reflected XSS (модуль загружает HTML страницу и анализирует содержащийся текст)
java-deserialize Небезопасная десериализация в Java Модуль выявляет указанный недостаток для веб-приложений на языке Java, используя сериализованные объекты, найденные при помощи модуля zvlom-serialize
nosql NoSQL-инъекции Модуль выявляет недостатки, возникающие при попадании пользовательских данных в контекст команд баз данных NoSQL из-за недостаточной или некорректной фильтрации. Валидация уязвимости осуществляется двумя способами:
1. HTTP-ответ содержит ошибки NoSQL;
2. Отправляется несколько HTTP-запросов с противоположными по смыслу операторами NoSQL и выявляются различия в полученных ответах
path-traversal-scanner Path Traversal Модуль выявляет недостаток, заключающийся в доступе к произвольным файлам и директориям на сервере, где запущено веб-приложение. Наличие уязвимости выявляется при попытке поиска содержимого стандартных для разных операционных систем файлов в HTTP-ответах
reflected-xss-cspp Reflected XSS Модуль выявляет указанный недостаток на основании результата работы модуля cspp-scanner
reflected-xss Reflected XSS Модуль выявляет указанный недостаток при помощи динамической проверки выполнения JavaScript-кода на странице приложения в веб-браузере
shell-injection-scanner Shell-инъекции Модуль выявляет указанный тип недостатка при помощи внедрения shell-команд с различными вариациями выхода из контекста данных в контекст команд. Валидация уязвимости происходит при помощи сетевого взаимодействия и поиска результата вывода команды в теле HTTP-ответа
sql-franziscanner SQL-инъекции Модуль выявляет недостатки, возникающие, когда пользовательские данные попадают в инструкцию SQL без должной фильтрации. Модуль выявляет указанный недостаток следующими способами:
1. слепые boolean-based проверки;
2. слепые проверки на основе времени HTTP-ответа;
3. проверки на основе ошибок;
4. проверки с помощью запросов, использующих UNION;
5. проверки с помощью составных запросов;
6. взаимодействие out-of-band
sql-injection-scanner SQL-инъекции Модуль выявляет указанный недостаток следующими способами:
1. взаимодействие out-of-band;
2. delay-based проверки;
3. busy wait проверки;
4. проверка добавлением кавычек
ssti-franziscanner SSTI Модуль выявляет недостатки, возникающие, когда веб-приложение некорректно обрабатывает пользовательский ввод в серверных шаблонах. Недостатки выявляются следующими способами:
1. взаимодействие out-of-band;
2. поиск результатов выполнения команд в телах HTTP-ответов;
3. выявление на основе времени HTTP-ответа
xxe-franziscanner XXE Модуль выявляет недостатки приложения, которое анализирует входные данные XML. Недостаток возникает, когда входные данные XML, содержащие ссылку на внешнюю сущность, обрабатываются слабо сконфигурированным анализатором XML. Недостатки выявляются следующими способами:
1. взаимодействие out-of-band;
2. поиск в HTTP-ответах содержимого стандартных для различных операционных систем файлов, подключенных как внешняя сущность в отправляемый на сервер XML-документ;
3. использование local DTDs техники
php-unserialize-fuzzer Небезопасная десериализация в PHP Модуль выявляет указанный недостаток для веб-приложений на языке PHP, используя сериализованные объекты, найденные при помощи модуля zvlom-serialize