
Скрипт для пассивной разведки и картирования поверхности атаки на основе Bash, использующий только публичные API и стандартные инструменты Linux (curl, dig, openssl, nmap, python3).
_ _ _ _ _ _______
| \ | | | | | |/ / ____|
| \| | | | | ' /| _|
| |\ | |_| | . \| |___
|_| \_|\___/|_|\_\_____|
N U K E // recon & attack surface mapper
-----------------------------------------
Скрипт пассивной разведки + картографирования поверхности атаки на Bash, использующий только публичные API + стандартные инструменты Linux (curl, dig, openssl, nmap, python3).
Весь вывод идёт в один .txt файл: nuke_<domain>.txt.
Без зависимости от subfinder, ffuf, gobuster, subjs, getJS, jshunter или js_snitch.
| # | Модуль | Источник / Техника |
|---|---|---|
| 1 | Поддомены через CT | crt.sh |
| 2 | Поддомены через альтернативный CT | crt.name |
| 3 | Поддомены (опционально, требует ключ) | SecurityTrails API |
| 4 | Поддомены + URL-ы + IP-адреса | OTX AlienVault |
| 5 | Домены + IP-адреса + ASN/Сервер | urlscan.io |
| 6 | Поддомены + родственные домены + IP-адреса (требует ключ) | VirusTotal v2 |
| 7 | Консолидированные поддомены | Объединение + дедупликация по всем источникам |
| 8 | DNS (TXT/SPF, A, AAAA, NS, MX, SOA + AXFR) | dns.google (DoH) + dig/host — эквивалент dnsrecon -d |
| 9 | WHOIS | RDAP через rdap.org |
| 10 | IP-адреса / Reverse DNS / RDAP-IP / HTTP-статус | dns.google PTR + rdap.org/ip + curl -I |
| 11 | Хеш favicon (поиск в Shodan) + проверка SSL IP | Локальный murmur3 по стандарту Shodan (http.favicon.hash) + openssl + nmap --script ssl-cert |
| 12 | JS-файлы + извлечённые эндпоинты | Парсинг <script src> + regex для путей/URL (заменяет subjs/getJS/jshunter) |
| 13 | Исторические URL-ы | Wayback Machine CDX |
| 14 | Обнаружение origin IP (обход CDN/WAF) | Коррелирует DNS + OTX + urlscan + VT + SPF + Shodan, фильтрует через RDAP org + тест заголовка Host: |
| 15 | Встроенный dirscan | Курированный высокосигнальный словарь, параллельный (не нужны ffuf/gobuster) |
Ключевые возможности:
pip install), с готовыми дорками: http.favicon.hash:X.ip4:/include:/a/mx) — утечка инфраструктуры / origin IP.?api=, admin, token, .bak, .sql, .env, .git)..git/HEAD, .env, backup.zip, phpinfo.php, actuator/env, swagger/, graphql, jenkins/ и т.д.bash, curl, grep, sed, awk, sort, trdig или host → для AXFRpython3 → для murmur3-хеша favicon (стандарт Shodan)nmap → для nmap --script ssl-cert -p 443 <IP>openssl → для инспекции CN/SAN сертификатаРаботает на Kali, Ubuntu, Debian, WSL2.
git clone https://github.com/AnkhCorp/Nuke.sh.git
cd Nuke.sh
chmod +x nuke.sh
# Базовый (100% бесплатно, без ключей)
bash nuke.sh example.com
# С ключами (через аргументы)
bash nuke.sh example.com SECURITYTRAILS_KEY VIRUSTOTAL_KEY
# С ключами через env (рекомендуется — никогда не коммитьте ключи)
export SECURITYTRAILS_API_KEY="your_key"
export VT_APIKEY="your_key"
export SHODAN_API_KEY="your_key" # опционально
export ZOOMEYE_KEY="your_key" # опционально
bash nuke.sh example.com
Поддерживаемые переменные окружения:
| Переменная | Обязательна? | Где получить |
|---|---|---|
SECURITYTRAILS_API_KEY | Нет | https://securitytrails.com/app/signup |
VT_APIKEY | Нет | https://www.virustotal.com/gui/my-apikey |
SHODAN_API_KEY | Нет | https://account.shodan.io |
ZOOMEYE_KEY | Нет | https://www.zoomeye.hk |
URLSCAN_SIZE | Нет (по умолчанию 1000) | Например, export URLSCAN_SIZE=10000 для максимума |
Вывод:
nuke_example.com.txt
===================================================================
== 7. CONSOLIDATED SUBDOMAINS (all sources)
===================================================================
crt.sh=45 | crt.name=38 | securitytrails=52 | otx=20 | urlscan=15 | virustotal=30
[UNIQUE total]: https://raw.githubusercontent.com/ankhcorp/nuke.sh/main/87
admin.example.com
api.example.com
...
===================================================================
== 14. ORIGIN IP DISCOVERY (consolidated)
===================================================================
[All candidate IPs (current DNS + OTX + urlscan + VT + SPF + Shodan)]:
https://raw.githubusercontent.com/ankhcorp/nuke.sh/main/1.2.3.4
5.6.7.8
...
IP: 1.2.3.4 | RDAP_ORG: CLOUDFLARENET
IP: 5.6.7.8 | RDAP_ORG: LOCAWEB
# Shodan — certificate
shodan search 'Ssl.cert.subject.CN:"example.com" 200 --fields ip_str'
# Shodan — favicon
shodan search 'http.favicon.hash:123456789'
# ZoomEye
ssl:"example.com" # at https://www.zoomeye.hk/
# Manual
https://crt.name/v1/search?apex=example.com
https://favicon-hash.kmsec.uk/
https://viewdns.info/iphistory/?domain=example.com
https://mxtoolbox.com/SuperTool.aspx
https://urlscan.io/search/#domain:example.com
Ручная проверка кандидата в origin-IP:
curl -sk -H 'Host: example.com' https://<CANDIDATE_IP>/ | head -n 20
echo | openssl s_client -connect <CANDIDATE_IP>:443 -servername example.com 2>/dev/null | openssl x509 -noout -subject -ext subjectAltName
nmap --script ssl-cert -p 443 <CANDIDATE_IP>
Если сертификат отвечает CN/SAN=example.com (или title/Server совпадает с сайтом), это реальный IP.
| Инструмент | Причина замены |
|---|---|
subfinder | Заменён на crt.sh + crt.name + OTX + urlscan + VT + SecurityTrails (всё через API, ничего не нужно устанавливать) |
webanalyze | Надёжное определение технологий требует платного API (Wappalyzer/BuiltWith) — вне области применения |
subjs / getJS | Заменены встроенным извлечением <script src> (раздел 12) |
jshunter | Заменён встроенным regex для эндпоинтов (раздел 12) |
js_snitch | Нет эквивалента на публичных API |
dnsrecon -d | Эквивалент в разделе 8 (NS/MX/SOA/AXFR через DoH + dig) |
httpx-toolkit | Частичный эквивалент в разделе 10 (статус/сервер для каждого хоста) |
ffuf / gobuster | Встроенный dirscan с курированным словарём + xargs -P (раздел 15) — для полного фаззинга используйте SecLists: ffuf -u https://TARGET/FUZZ -w raft-medium-directories.txt |
Используйте только против целей, которые вы уполномочены тестировать (собственные активы, программы bug bounty в рамках scope, контрактные пентесты).
Автор не несёт ответственности за неправомерное использование.
MIT — свободно используйте, изменяйте и распространяйте.
PR приветствуются! Идеи для roadmap:
--only-ips / --only-subsamass / anubis