
سكربت استطلاع سلبي قائم على Bash + رسم خرائط سطح الهجوم باستخدام واجهات برمجة التطبيقات العامة فقط + أدوات Linux الجاهزة (curl، dig، openssl، nmap، python3).
_ _ _ _ _ _______
| \ | | | | | |/ / ____|
| \| | | | | ' /| _|
| |\ | |_| | . \| |___
|_| \_|\___/|_|\_\_____|
N U K E // recon & attack surface mapper
-----------------------------------------
سكربت استطلاع سلبي + رسم خريطة سطح الهجوم مكتوب بلغة Bash، يعتمد فقط على واجهات برمجة التطبيقات العامة + أدوات 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 | النطاقات الفرعية + الروابط + عناوين 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 / DNS العكسي / RDAP-IP / حالة HTTP | dns.google PTR + rdap.org/ip + curl -I |
| 11 | بصمة الأيقونة المفضلة (Favicon hash للبحث في Shodan) + التحقق من شهادة SSL لعنوان IP | murmur3 المحلي بمعيار Shodan (http.favicon.hash) + openssl + nmap --script ssl-cert |
| 12 | ملفات JS + نقاط النهاية المستخرجة | تحليل <script src> + تعبيرات نمطية للمسارات/الروابط (يستبدل subjs/getJS/jshunter) |
| 13 | الروابط التاريخية | Wayback Machine CDX |
| 14 | اكتشاف عنوان IP الأصلي (تجاوز CDN/WAF) | يربط DNS + OTX + urlscan + VT + SPF + Shodan، ويُصفّي عبر RDAP org + اختبار ترويسة Host: |
| 15 | فحص الأدلة المدمج | قائمة كلمات مُنتقاة عالية الدقة، متوازية (لا حاجة لـ ffuf/gobuster) |
أبرز الميزات:
pip install)، مع استعلامات جاهزة للاستخدام: http.favicon.hash:X.ip4:/include:/a/mx) — يكشف البنية التحتية / عنوان 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 للأيقونة المفضلة (بمعيار 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
# Basic (100% free, no keys)
bash nuke.sh example.com
# With keys (via arguments)
bash nuke.sh example.com SECURITYTRAILS_KEY VIRUSTOTAL_KEY
# With keys via env (recommended — never commit keys)
export SECURITYTRAILS_API_KEY="your_key"
export VT_APIKEY="your_key"
export SHODAN_API_KEY="your_key" # optional
export ZOOMEYE_KEY="your_key" # optional
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
التحقق اليدوي من مرشّح عنوان 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 (أو تطابق العنوان/الخادم مع الموقع)، فهذا هو عنوان IP الحقيقي.
| الأداة | سبب الاستبدال |
|---|---|
subfinder | مُستبدلة بـ crt.sh + crt.name + OTX + urlscan + VT + SecurityTrails (كلها عبر API، لا شيء للتثبيت) |
webanalyze | الكشف الموثوق عن التقنيات يتطلب API مدفوعاً (Wappalyzer/BuiltWith) — خارج النطاق |
subjs / getJS | مُستبدلة باستخراج <script src> المدمج (القسم 12) |
jshunter | مُستبدلة بتعبير نمطي مدمج لنقاط النهاية (القسم 12) |
js_snitch | لا يوجد مكافئ بواجهة API عامة |
dnsrecon -d | مكافئ في القسم 8 (NS/MX/SOA/AXFR عبر DoH + dig) |
httpx-toolkit | مكافئ جزئي في القسم 10 (الحالة/الخادم لكل مضيف) |
ffuf / gobuster | فحص أدلة مدمج بقائمة كلمات مُنتقاة + xargs -P (القسم 15) — للفحص الشامل استخدم SecLists: ffuf -u https://TARGET/FUZZ -w raft-medium-directories.txt |
استخدمه فقط ضد الأهداف التي لديك تصريح باختبارها (أصولك الخاصة، برامج bug bounty ضمن النطاق، اختبارات اختراق متعاقد عليها).
المؤلف غير مسؤول عن سوء الاستخدام.
MIT — استخدم وعدّل وشارك بحرية.
طلبات السحب (PRs) مرحّب بها! أفكار خارطة الطريق:
--only-ips / --only-subsamass / anubis