Поиск потенциально уязвимых хостов при помощи сканера nuclei

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Привет!

Сегодня мы рассмотрим установку nuclei на vps, отсортируем стандартые шаблоны по ключевому слову, произведем сканирование средствами masscan, nuclei.
И так начнем! Подключаемся к своему VPS удобным для вас способом...
Подключились - теперь нам необходимо установить GO версии 1.19 как рекомендует разработчик софта.

Приступим
Код: Скопировать в буфер обмена
Код:
sudo apt-get update
sudo apt-get -y upgrade
Код: Скопировать в буфер обмена
wget https://go.dev/dl/go1.19.linux-amd64.tar.gz
Код: Скопировать в буфер обмена
Код:
tar -xvf go1.19.linux-amd64.tar.gz
sudo mv go /usr/local
Код: Скопировать в буфер обмена
Код:
export GOROOT=/usr/local/go
export GOPATH=$HOME/Projects/Proj1
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
С установкой GO разобрались, приступаем к установке nuclei
Код: Скопировать в буфер обмена
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
После завершения установки на всякий случай обновим базу шаблонов.
Код: Скопировать в буфер обмена
nuclei -update-templates

Немного информации о nuclei

Nuclei - это инструмент, используемый для сканирования веб-приложений и служб на предмет потенциальных уязвимостей. Он использует шаблоны, написанные на YAML, для выявления различных типов уязвимостей и может быть настроен для конкретных случаев использования, таких как XSS, SQL injection, RCE. Он также поддерживает применение фильтров и исключение целевых объектов, что делает его универсальным и мощным инструментом для поиска уязвимостей.

Посмотрим все доступные шаблоны, перейдя в каталог nuclei-templates (тоже самое можно проделать посетив оффициальную страницу шаблонов nuclei на Github)
Код: Скопировать в буфер обмена
ls ~/nuclei-templates/
1.png


Теперь отсортируем темплы по ключевым словам внутри YAML шаблонов, ниже приведен пример команды для копирования шаблонов содержащих ключевое слово RCE из дефолтной директории nuclei /nuclei-templates/ в созданую вами ранее директорию.
Код: Скопировать в буфер обмена
grep -rl 'remote.*code.*execution' ~/nuclei-templates/ | xargs cp -t /home/user/nuc/RCE/
Немного отступим от темы сканера nuclei и займемся формированием списка адресов для тестирования, в этом нам поможет masscan.
Код: Скопировать в буфер обмена
masscan -p443 --rate 1300000 --ranges 0.0.0.0-255.255.255.255 --output-format list --output-file test.txt --open-only --randomize-hosts --exclude 255.255.255.255 -v --send-eth --
nuclei принимает листы целей в таком формате [ https://host_ip_(domain) ] так, что нормализуем вывод masscan к нужному nuclei формату.
Код: Скопировать в буфер обмена
awk '{ print "https://" $4 ":" $3 }' test.txt > https_test.txt
На выходе имеем файл содержащий строки https://ip:port

Запускаем nuclei

Вариант запуска с заранее подготовленной директорией шаблонов сосредоточенных на поиск RCE.
Код: Скопировать в буфер обмена
nuclei -l <https_test.txt> -t /home/user/nuc/RCE/ -o good.txt
Вариант запуска с использованием одного шаблона.
Код: Скопировать в буфер обмена
nuclei -l <https_test.txt> -t /home/user/nuc/RCE/CVE-2009-1151.yaml -o good.txt
Дожидаемся момента завершения работы сканера и welcome good.txt смотреть, что же мы насобирали.
На этом все. Пока!

Автор @HuMGat
 
Сверху Снизу