Nuclei — инструмент командной строки с открытым исходным кодом для масштабируемого сканирования безопасности на основе шаблонов. Принцип работы основан на использовании централизованной базы шаблонов (формат YAML). Каждый шаблон содержит инструкции для проверки одной конкретной уязвимости, небезопасной конфигурации или технологии.
✅Преимущества
- Шаблоны позволяют минимизировать ложные срабатывания за счет точного описания условий обнаружения
- Сообщество безопасности регулярно создает и обновляет шаблоны для новых уязвимостей
- Поддерживает проверки HTTP, DNS, TCP и рабочих процессов
✨Устанавливаем
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
nuclei -update-templates
✨Проверяем
nuclei -h
✨Сканируем
nuclei -u example.com -severity critical,high
nuclei -list targets.txt -o results.json -json
🟣Для проверки цели на конкретную уязвимость (например, Log4Shell (CVE-2021-44228)), укажем путь к конкретному шаблону:
nuclei -u https://example.com -t /path/to/nuclei-templates/cves/2021/CVE-2021-44228.yaml
Получаем такой результат:
[CVE-2021-44228] @ https://example.com/api/login
[info] The target is vulnerable to Log4Shell (CVE-2021-44228).
[template] cves/2021/CVE-2021-44228.yaml
[severity] critical
📎Полезные команды
✨Объединение с subfinder и httpx
echo "domain.com" | subfinder | httpx | nuclei -silent
✨Оптимизация скорости
nuclei -list targets.txt -rate-limit 50 -concurrency 10
✨Лимиты для избежания блокировок
nuclei -u example.com -rate-limit 10 -timeout 20
❎Недостатки
- Высокая нагрузка на сеть при агрессивном сканировании
- Риск блокировки IPS/WAF системами при отсутствии настройки лимитов
