
Sudomy هي أداة تعداد النطاقات الفرعية لجمع النطاقات الفرعية وتحليل النطاقات عن طريق تنفيذ استطلاع آلي (recon) لصيد الثغرات / اختبار الاختراق.
Sudomy هي أداة لتعداد النطاقات الفرعية لجمع النطاقات الفرعية وتحليل النطاقات من خلال إجراء استطلاع آلي متقدم (إطار عمل). يمكن استخدام هذه الأداة أيضًا في أنشطة OSINT (استخبارات المصادر المفتوحة).
الطريقة النشطة
الطريقة السلبية
من خلال تقييم واختيار المواقع/المصادر الخارجية الجيدة، يمكن تحسين عملية التعداد. سيتم الحصول على نتائج أكثر بوقت أقل. Sudomy يمكنها جمع البيانات من هذه المواقع الخارجية الـ 22 الموثوقة:
https://censys.io
https://developer.shodan.io
https://dns.bufferover.run
https://index.commoncrawl.org
https://riddler.io
https://api.certspotter.com
https://api.hackertarget.com
https://api.threatminer.org
https://community.riskiq.com
https://crt.sh
https://dnsdumpster.com
https://docs.binaryedge.io
https://securitytrails.com
https://graph.facebook.com
https://otx.alienvault.com
https://rapiddns.io
https://spyse.com
https://urlscan.io
https://www.dnsdb.info
https://www.virustotal.com
https://threatcrowd.org
https://web.archive.org
كيف يعمل sudomy أو سير عمل الاستطلاع، عند تشغيل أفضل الوسائط لجمع النطاقات الفرعية وتحليلها عن طريق إجراء استطلاع آلي.
root@maland: ./sudomy -d bugcrowd.com -dP -eP -rS -cF -pS -tO -gW --httpx --dnsprobe -aI webanalyze -sS
سير عمل الاستطلاع Sudomy v1.1.8#dev

معلومات تفصيلية لملفات الاستطلاع والبيانات المثيرة للاهتمام
------------------------------------------------------------------------------------------------------
- subdomain.txt -- قائمة النطاقات الفرعية < $DOMAIN (الهدف)
- httprobe_subdomain.txt -- التحقق من صحة النطاق الفرعي < subdomain.txt
- webanalyzes.txt -- فحص التعرف على التقنيات < httprobe_subdomain.txt
- httpx_status_title.txt -- العنوان+رمز الحالة+الطول < httprobe_subdomain.txt
- dnsprobe_subdomain.txt -- حل النطاق الفرعي < subdomain.txt
- Subdomain_Resolver.txt -- حل النطاق الفرعي (بديل) < subdomain.txt
- cf-ipresolv.txt -- فحص Cloudflare < ip_resolver.txt
- Live_hosts_pingsweep.txt -- فحص المضيف النشط < ip_resolver.txt
- ip_resolver.txt -- قائمة IP المحلولة < Subdomain_Resolver::dnsprobe
- ip_dbasn.txt -- فحص رقم ASN < ip_resolver.txt
- vHost_subdomain.txt -- المضيف الظاهري (مجموعة حسب IP) < Subdomain_Resolver.txt
- nmap_top_ports.txt -- فحص المنافذ النشطة < cf-ipresolv.txt
- ip_dbport.txt -- فحص المنافذ السلبية < cf-ipresolv.txt
------------------------------------------------------------------------------------------------------
- Passive_Collect_URL_Full.txt -- جميع عناوين URL الزحف الكاملة (WebArchive، CommonCrawl، UrlScanIO)
------------------------------------------------------------------------------------------------------
- ./screenshots/report-0.html -- تقرير لقطات الشاشة < httprobe_subdomain.txt
- ./screenshots/gowitness/gowitness.sqlite3 -- قاعدة بيانات لقطات الشاشة < httprobe_subdomain.txt
------------------------------------------------------------------------------------------------------
- ./interest/interesturi-allpath.out -- المسارات المثيرة للاهتمام (/api، /git، إلخ) < Passive_Collect_URL_Full.txt
- ./interest/interesturi-doc.out -- المستندات المثيرة للاهتمام (doc، pdf، xls) < Passive_Collect_URL_Full.txt
- ./interest/interesturi-otherfile.out -- ملفات أخرى (.json، .env، إلخ) < Passive_Collect_URL_Full.txt
- ./interest/interesturi-js.out -- جميع ملفات جافا سكريبت (*.js) < Passive_Collect_URL_Full.txt
- ./interest/interesturi-nodemodule.out -- ملفات من /node_modules/ < Passive_Collect_URL_Full.txt
- ./interest/interesturi-param-full.out -- قائمة المعاملات الكاملة < Passive_Collect_URL_Full.txt
- ./interest/interesturi-paramsuniq.out -- قائمة المعاملات الفريدة الكاملة < Passive_Collect_URL_Full.txt
- ملاحظة : يمكنك التحقق من صحة عناوين URL/المعاملات المثيرة للاهتمام باستخدام urlprobe أو httpx لتجنب النتائج الإيجابية الخاطئة
------------------------------------------------------------------------------------------------------
- ./takeover/CNAME-resolv.txt -- محلل CNAME < subdomain.txt
- ./takeover/TakeOver-Lookup.txt -- بحث DNS < CNAME-resolv.txt
- ./takeover/TakeOver-nxdomain.txt -- منصة خدمات خارجية أخرى < TakeOver-Lookup.txt
- ./takeover/TakeOver.txt -- فحص الثغرات < CNAME-resolv.txt
------------------------------------------------------------------------------------------------------
- ./wordlist/wordlist-parameter.lst -- إنشاء قائمة كلمات للمعاملات < Passive_Collect_URL_Full.txt
- ./wordlist/wordlist-pathurl.lst -- إنشاء قائمة مسارات < Passive_Collect_URL_Full.txt
- ملاحظة : قائمة الكلمات هذه مبنية على معلومات النطاق والنطاق الفرعي (المسار، الملف، استعلامات السلسلة والمعاملات)
------------------------------------------------------------------------------------------------------
Sudomy تقلل من استخدام الموارد عند استخدام الموارد (مواقع الطرف الثالث) من خلال تقييم واختيار المواقع/المصادر الخارجية الجيدة، وبالتالي يمكن تحسين عملية التعداد. النطاق المستخدم في هذه المقارنة هو tiket.com.
فيما يلي نتائج اختبار تعداد DNS السلبي لـ Sublist3r v1.1.0، Subfinder v2.4.5، و Sudomy v1.2.0.
هنا لا يزال subfinder مصنفًا كأداة سريعة جدًا لجمع النطاقات الفرعية من خلال استخدام كميات كبيرة من الموارد. خاصة إذا كانت الموارد المستخدمة قد تم تحسينها (?).
للحصول على النتائج المجمعة والفيديوات، يمكنك التحقق من هنا:
عندما يكون لدي وقت فراغ. ربما في المستقبل، ستستخدم sudomy لغة Go أيضًا. إذا كنت ترغب في المساهمة، فإن باب Pull Requests مفتوح.
Sudomy ممتدة حاليًا بالأدوات التالية. تعليمات حول كيفية تثبيت واستخدام التطبيق مدرجة أدناه.
# Clone this repository
git clone --recursive https://github.com/screetsec/Sudomy.git
$ python3 -m pip install -r requirements.txt
Sudomy تتطلب jq و GNU grep للتشغيل والتحليل. معلومات حول كيفية تحميل وتثبيت jq متاحة هنا
# Linux
apt-get update
apt-get install jq nmap phantomjs npm chromium parallel
npm i -g wappalyzer wscat
# Mac
brew cask install phantomjs
brew install jq nmap npm parallel grep
npm i -g wappalyzer wscat
# Note
All you would need is an installation of the latest Google Chrome or Chromium
Set the PATH in rc file for GNU grep changes
# Pull an image from DockerHub
docker pull screetsec/sudomy:v1.2.1-dev
# Create output directory
mkdir output
# Run an image, you can run the image on custom directory but you must copy/download config sudomy.api on current directory
docker run -v "${PWD}/output:/usr/lib/sudomy/output" -v "${PWD}/sudomy.api:/usr/lib/sudomy/sudomy.api" -t --rm screetsec/sudomy:v1.1.9-dev [argument]
# or define API variable when executed an image.
docker run -v "${PWD}/output:/usr/lib/sudomy/output" -e "SHODAN_API=xxxx" -e "VIRUSTOTAL=xxxx" -t --rm screetsec/sudomy:v1.1.9-dev [argument]
مفتاح API مطلوب قبل الاستعلام على مواقع الطرف الثالث، مثل Shodan، Censys، SecurityTrails، Virustotal، و BinaryEdge.
# Shodan
# URL : http://developer.shodan.io
# Example :
# - SHODAN_API="VGhpc1M0bXBsZWwKVGhmcGxlbAo"
SHODAN_API=""
# Censys
# URL : https://search.censys.io/register
CENSYS_API=""
CENSYS_SECRET=""
# Virustotal
# URL : https://www.virustotal.com/gui/
VIRUSTOTAL=""
# Binaryedge
# URL : https://app.binaryedge.io/login
BINARYEDGE=""
# SecurityTrails
# URL : https://securitytrails.com/
SECURITY_TRAILS=""
YOUR_WEBHOOK_URL مطلوب قبل استخدام إشعارات Slack
# Configuration Slack Alert
# For configuration/tutorial to get webhook url following to this site
# - https://api.slack.com/messaging/webhooks
# Example:
# - YOUR_WEBHOOK_URL="https://hooks.slack.com/services/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"
YOUR_WEBHOOK_URL="https://hooks.slack.com/services/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"
___ _ _ _
/ __|_ _ __| (_)(_)_ __ _ _
\__ \ || / _ / __ \ ' \ || |
|___/\_,_\__,_\____/_|_|_\_, |
|__/ v{1.2.1#dev} by @screetsec
Sud⍥my - Fast Subdmain Enumeration and Analyzer
http://github.com/screetsec/sudomy
Usage: sud⍥my.sh [-h [--help]] [-s[--source]][-d[--domain=]]
Example: sud⍥my.sh -d example.com
sud⍥my.sh -s Shodan,VirusTotal -d example.com
Best Argument:
sudomy -d domain.com -dP -eP -rS -cF -pS -tO -gW --httpx --dnsprobe -aI webanalyze --slack -sS
Optional Arguments:
-a, --all تشغيل جميع عمليات التعداد، بدون nmap و gobuster
-b, --bruteforce القوة العمياء للنطاق الفرعي باستخدام Gobuster (قائمة الكلمات: ALL Top SecList DNS)
-d, --domain نطاق الموقع المراد فحصه
-h, --help عرض رسالة المساعدة هذه
-o, --outfile تحديد ملف إخراج عند الانتهاء
-s, --source استخدام مصدر لتعداد النطاق الفرعي
-aI, --apps-identifier التعرف على التقنيات في الموقع (مثال: -aI webanalyze)
-dP, --db-port جمع المنافذ من طرف ثالث الافتراضي=shodan
-eP, --extract-params جمع معاملات URL من المحرك
-tO, --takeover ماسح ثغرات الاستيلاء على النطاق الفرعي
-wS, --websocket فحص اتصال WebSocket
-cF, --cloudfare التحقق مما إذا كان IP مملوكًا لـ Cloudflare
-pS, --ping-sweep فحص المضيف النشط باستخدام طريقة Ping Sweep
-rS, --resolver تحويل قوائم النطاق إلى قوائم IP محلولة بدون تكرار
-sC, --status-code الحصول على رموز الحالة والاستجابة من قائمة النطاق
-nT, --nmap-top فحص المنافذ باستخدام top-ports من nmap من قائمة النطاق
-sS, --screenshot أخذ لقطات شاشة لقائمة المواقع (الافتراضي: gowitness)
-nP, --no-passive عدم إجراء تعداد النطاق الفرعي السلبي
-gW, --gwordlist إنشاء قائمة كلمات بناءً على جمع موارد URL (سلبي)
--httpx تنفيذ عدة مختبرين httpx باستخدام retryablehttp
--dnsprobe تنفيذ عدة استعلامات DNS (dnsprobe)
--no-probe عدم تنفيذ httprobe
--html إنشاء تقرير بصيغة HTML
--graph تصور بياني للشبكة
لاستخدام جميع المصادر الـ 22 والتحقق من صحة خوادم http أو https العاملة:
$ sudomy -d hackerone.com
لاستخدام مصدر واحد أو أكثر:
$ sudomy -s shodan,dnsdumpster,webarchive -d hackerone.com
لاستخدام جميع المصادر بدون تحقق:
$ sudomy -d hackerone.com --no-probe
لاستخدام إضافة واحدة أو أكثر:
$ sudomy -pS -sC -sS -d hackerone.com
لاستخدام جميع الإضافات: اختبار حالة المضيف، رمز حالة http/https، الاستيلاء على النطاق الفرعي ولقطات الشاشة.
Nmap، Gobuster، wappalyzer و wscat غير مضمنة.
$ sudomy -d hackerone.com --all
لإنشاء تقرير بصيغة HTML
$ sudomy -d hackerone.com --html --all
عينة تقرير HTML:
| لوحة التحكم | التقارير |
|---|---|
![]() | ![]() |
لإنشاء تصور بياني للشبكة للنطاقات الفرعية والمضيفات الافتراضية
$ sudomy -d hackerone.com -rS --graph
تصور بياني عينة:
| nGraph |
|---|
![]() |
لاستخدام أفضل الوسائط لجمع النطاقات الفرعية، تحليل عن طريق إجراء استطلاع آلي وإرسال الإشعارات إلى Slack
./sudomy -d ngesec.id -dP -eP -rS -cF -pS -tO -gW --httpx --dnsprobe --graph -aI webanalyze --slack -sS
عينة إشعار Slack:
| Slack |
|---|
![]() |
جميع التغييرات الملحوظة في هذا المشروع ستكون موثقة في هذا الملف.