Nuclei без магии: запуск, шаблоны, практика

Nuclei - это сканер уязвимостей. Если грубо, то это очень удобный DAST-инструмент: ты описываешь в YAML, какой запрос отправить, что в ответе считать признаком проблемы, и по каким условиям матчить результат.

Он подходит и для пайплайна, и для пентеста, и для своих кастомных проверок под конкретную логику приложения.

ProjectDiscovery отдельно подчеркивает, что Nuclei хорошо встраивается в CI/CD, поддерживает разные протоколы и строится вокруг переиспользуемых шаблонов.

━━━━━━━━━━ Базовые команды ━━━━━━━━━━

Самый базовый запуск по одной цели: ➣ nuclei -u https://target.tl

Прогон только нужных шаблонов: ➣ nuclei -u https://target.tld -t http/exposures/

Фильтр по severity: ➣ nuclei -u https://target.tld -severity high,critical

Фильтр по тегам: ➣ nuclei -u https://target.tld -tags cve,xss,exposure

Автоподбор шаблонов под стек: ➣ nuclei -u https://target.tld -as

Запуск своего шаблона: ➣ nuclei -u https://target.tld -t ./custom/my-check.yaml

Проверка шаблона перед запуском: ➣ nuclei -validate -t ./custom/my-check.yaml

Из коробки умеет: • искать CVE, misconfig, exposures и tech-specific проблемы • работать по спискам целей • встраиваться в CI/CD • запускать workflows • комбинировать несколько условий • обновлять community templates автоматически, если это не отключено отдельно

━━━━━━━━━━ Самое интересное ━━━━━━━━━

Как и с Semgrep, сила Nuclei не только в дефолтных шаблонах. Сильная часть начинается тогда, когда ты формализуешь свою проверку сам.

Минимальный скелет шаблона выглядит так • id - идентификатор шаблона • info - метаданные • http - какой запрос отправлять • path или raw - куда и как идти • matchers - по каким признакам считать проверку успешно

Дальше уже наращиваешь логику: • status, word, regex, dsl матчеры • несколько запросов в одном шаблоне • extractors для вытаскивания значений • workflows для цепочек проверок • переменные вроде {{BaseURL}}, {{Hostname}} • raw-запросы, если нужен более точный контроль

━━━━━━━━━━ Что почитать для изучения ━━━━━━━━━━

• статья на Habr: “Nuclei - это просто” https://habr.com/ru/articles/744222/

• официальный гайд по запуску Nuclei https://docs.projectdiscovery.io/opensource/nuclei/running

• официальная документация по структуре шаблонов https://docs.projectdiscovery.io/templates/structure

• официальный раздел по Basic HTTP в шаблонах https://docs.projectdiscovery.io/templates/protocols/http/basic-http

• гайд по созданию шаблонов в nuclei-templates https://github.com/projectdiscovery/nuclei-templates/blob/main/TEMPLATE-CREATION-GUIDE.md

#AppSec #Nuclei #DAST #Pentest #BugBounty #DevSecOps #CyberSecurity

Nuclei без магии: запуск, шаблоны, практика | Сетка — социальная сеть от hh.ru