• XSS.stack #1 – первый литературный журнал от юзеров форума

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

baykal

(L2) cache
Пользователь
Регистрация
16.03.2021
Сообщения
370
Реакции
838
Сегодня мы рассмотрим установку 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
Источник exploit.in
 
nuclei классная вещь , только проверяйте вулны , часто false positive попадаются
Так.. stop, что? Даже при использовании более новых шаблонов?
Я столкнулся с этой проблемой в прошлом году... 5453 если я не ошибаюсь.
После апдейта все в норм.
 
Так.. stop, что? Даже при использовании более новых шаблонов?
Я столкнулся с этой проблемой в прошлом году... 5453 если я не ошибаюсь.
После апдейта все в норм.
зависит от шаблона конечно
 
тул +- норм, у меня тоже были false positive но терпимо
ну false positive на любом автоматическом сканере может попадаться, это нормально, главное тут другое - чтобы не пропускал
 
Пожалуйста, обратите внимание, что пользователь заблокирован
ну false positive на любом автоматическом сканере может попадаться, это нормально, главное тут другое - чтобы не пропускал
Пробовал самый простой самиписный шаблон на наличие одного слова в ответе посредством отправки GET запроса. При загрузке 10к урл была вставлена мной уязвимая ссылка в разные места .txt файла с урлс. По итогу один пропустил, а так очень классная утилита, всем советую опробовать
 
Для использования требуется абузоустойсивый дедик?
С начала для использования требуется понять где вы находитесь и что происходит... Но абузоустойсивый дедик? Это как? Подойдет даже тостер если удастся тебе установить на него ОС Linux.
 
С начала для использования требуется понять где вы находитесь и что происходит... Но абузоустойсивый дедик? Это как? Подойдет даже тостер если удастся тебе установить на него ОС Linux.
извиняюсь ошибся. я просто про то что будут ли прилетать алерты на дедик.
 
извиняюсь ошибся. я просто про то что будут ли прилетать алерты на дедик.
Если ты про обнаружение то увы придется обрезать концы вить запросы полетят как снегопад.
 
Последнее редактирование:
извиняюсь ошибся. я просто про то что будут ли прилетать алерты на дедик.
ну если будешь пользоваться каким-то впс под это дело, и попадётся активный админ(хотя такое встречается часто) то он конечно же напишет аллерт, и тогда хостер будет с тобой базарить, что ты делаешь на сервере, и почему такое получилось.
Абузоустойчивый, стоит денег, вместо него можно купить не один сервак обычный, думаю что даже лучше будет. Ибо количество возьмёт своё, какой-то отлетит от алерта и пох....(главное ты их раскинь по разным учёткам, а не держи все сервера в одной учётке)
 
You can improve this by targeting your scans to specific countries IP ranges, scanning all ports, adding them to the end of IP addresses and scanning them all with nuclei and looking for both critical and high severity vulnerabilities.

masscan:
Bash:
masscan -Pn -sS -iL america.txt --rate 5000 -p0-65535 --open-only --excludefile block.txt --output-format list --output-file results.txt

Append ports to IP addresses discovered:
Bash:
awk '{ print $4 ":" $3 }' results.txt > final_results.txt

Scan using nuclei looking for both critical and high severity vulns:
Bash:
nuclei -l final_results.txt -t cves -s critical,high -o vulns.txt

america.txt: https://lite.ip2location.com/united-states-of-america-ip-address-ranges
block.txt: https://gist.github.com/ozuma/fb21ab0f7143579b1f2794f4af746fb2
 
Парни, а в чем прикол юзать подобные сканеры?! Зачем?! В чем смысл? Они что лучше Acunetix/Netsparker?
The idea is to be able to scan IP ranges of the entire internet or specific countries for critical vulnerabilities. It's called "spray and pray" whereby you scan large IP ranges for vulnerabilities hoping to find a critical RCE on a big company and make a profit ;). This is different than vulnerability scanning web applications on websites. Think of it as just casting out a large net and scooping up everything hoping to find something valuable. It's a common practice, much like botnets password spraying hoping to find weak credentials on a critical service.
 
followed what both yall said and i got a rce into a couple of comp servers i wanted to know what to do from that point i just been exfiltrating data. i wanted to know what a seasoned person would do. i was thinking privilege escalation and setting up a proxy or pivoting so i can access to more of their info and locking everything or taking everything i can and ransom it. please give me suggestion i'm just getting starting in this type of stuff
 
Пробовал самый простой самиписный шаблон на наличие одного слова в ответе посредством отправки GET запроса. При загрузке 10к урл была вставлена мной уязвимая ссылка в разные места .txt файла с урлс. По итогу один пропустил, а так очень классная утилита, всем советую опробовать
А как добыли 10к урлов?
 
А как добыли 10к урлов?
ну можешь с гугла по дорку вытащить
либо не подорку, а по запросу искать те сайты которые тебе нужно
можешь массканом вытащить, с нужным тебе портом
ну или из своей бд

да и а-парсер ни кто не отменял :)

как тебе нравиться :)
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх