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

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

Сканер способен анализировать как веб-приложения и API, так и сети.

Анализ веб-приложений или API

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

  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-кода
static-backend-endpoint-miner Статический анализ серверного исходного кода Экспериментальный модуль, выявляющий конечные точки при помощи статического анализа исходного кода сервера. Поддерживаемые фреймворки: ASP.NET (C#), Django (Python), Express (JavaScript), Flask (Python), Spring (Java), Ruby on Rails (Ruby)
autologin Автоматическая аутентификация с помощью форм Экспериментальный модуль, расширяющий поверхность атаки. Анализирует страницы на наличие форм входа и выполняет попытки аутентификации
powby2 Сигнатурный анализ ресурсов и выявление технологий Модуль, который на основании результата работы модуля static-crawler анализирует ресурсы и сопоставляет их с сигнатурами, а также выявляет используемые технологии
graphql-inspector Выявление конечных точек GraphQL Модуль, который отправляет специфичные для GraphQL HTTP-запросы с целью выявления конечных точек GraphQL
Не задано Пассивный сигнатурный анализ Модуль пассивно анализирует HTTP-ответы, получаемые во время сканирования, и сопоставляет их с сигнатурами. Является частью сканера Fuchsia, не имеет собственного имени и не имеет активной задачи в очереди модулей при сканировании. В настоящий момент по умолчанию модуль выключен и доступен для использования только через прямой запрос или консольный клиент fuchsiactl

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

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

Имя модуля Обнаруживаемые недостатки Описание
nuclei-runner-deps Недостатки, описанные расширенными сигнатурами Nuclei Модуль активного сканирования выявленных конечных точек, использующий расширенные шаблоны Nuclei. Для указанных конечных точек модуль позволяет задать условия запуска анализа
nuclei-runner Недостатки, описанные сигнатурами Nuclei Модуль активного сканирования, который использует сигнатуры в формате YAML и может сканировать различные протоколы
zvlom-serialize Контролируемые сериализованные данные Модуль выполняет поиск сериализованных объектов в ответе сервера. Умеет выявлять сериализованные объекты которые могут быть закодированы как единожды, так и цепочкой из нескольких кодировок или алгоритмов сжатия. Выполняет поиск объектов, сериализованных в приложениях, использующих PHP, Python (Pickle), Ruby, Java, .NET и прочие технологии
ai-agent-scanner Уязвимости ИИ-агентов Модуль проверяет возможность раскрытия внутренних инструкций ИИ-агентов, утечки конфиденциальных данных и выполнения неавторизованных действий. Проверка проводится с помощью специально сформированных текстовых запросов, а также посредством попыток внедрения инструкций в документы базы знаний
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
cors-franziscanner Некорректная настройка CORS Экспериментальный модуль выявляет недостатки настройки CORS, которые позволяют несанкционированным веб-страницам получать доступ к ресурсам приложения. Недостатки выявляются путём отправки запросов с различными значениями заголовка Origin и анализом CORS-заголовков в HTTP-ответах
csrf-scanner CSRF Экспериментальный модуль выявляет указанный недостаток путём отправки поддельных запросов на сервер и проверки их приёма
file-upload-scanner Уязвимости загрузки файлов Модуль выявляет недостатки, связанные с загрузкой файлов на веб-сервер. Обнаруживаются следующие уязвимости:
1. исполнение произвольного PHP-кода;
2. уязвимости, связанные с обработчиком изображений ImageMagick;
3. Reflected XSS (модуль загружает HTML страницу и анализирует содержащийся текст)
idor-franziscanner IDOR Экспериментальный модуль выявляет указанный недостаток при помощи выделения потенциально небезопасных параметров и отправки запросов с подстановкой значений разных форматов в такие параметры. В результате работы осуществляются попытки сравнения структур полученных ответов и извлечения из них конфиденциальных данных
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-ответа. Также недостатки выявляются с помощью слепых проверок на основе времени 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
ssrf-oob-scanner SSRF Экспериментальный модуль выявляет указанный недостаток, подставляя контролируемый URL-адрес в параметры запросов и подтверждая серверное обращение с помощью взаимодействия out-of-band

Анализ сетей

Анализ поверхности атаки

Имя модуля Методы анализа поверхности атаки Описание
tcp-port-scanner Выявление открытых TCP-портов Модуль, который для указанной сети осуществляет поиск открытых TCP-портов
udp-port-scanner Поиск и определение типов UDP-сервисов Модуль, который для указанной сети осуществляет поиск и определение UDP-сервисов, используя цифровые отпечатки
tcp-port-fingerprinter Определение типов сервисов Модуль, который на основании результата работы модуля tcp-port-scanner определяет типы обнаруженных сервисов, используя цифровые отпечатки