
ماسح سريع ودقيق لاستيلاء على النطاقات الفرعية مع صفر نتائج إيجابية خاطئة. يكتشف النطاقات الفرعية المعرضة للخطر، ويجمع البيانات الوصفية (IP، CNAME، العنوان، رمز الحالة)، ويوفر تحليلاً بمساعدة الذكاء الاصطناعي لأغراض الاستطلاع.
Subdosec
أداة مسح واستطلاع للاستيلاء على النطاقات الفرعية.

تثبيت • الاستخدام • إصدار الويب • المساهمة • المسح عبر الإنترنت • الشكر والتقدير
Subdosec هي أداة مسح سريعة ودقيقة للاستيلاء على النطاقات الفرعية بدون نتائج إيجابية خاطئة، وتضم قاعدة بيانات عامة للنطاقات الفرعية الضعيفة وبيانات وصفية مفصلة غير ضعيفة (IP و CNAME و title و status code) للاستطلاع.
قم بتثبيت أو ترقية subdosec
pipx install git+https://github.com/xcapri/subdosec.git
pipx upgrade subdosec
ثم قم بتشغيل هذا في كل مرة تبدأ فيها جلسة طرفية جديدة (حتى يتم عرض "server started successfully").
$ subdosec -ins
Starting Node.js server...
Node.js server started successfully.
[تحذير] لا تستولي على جميع النطاقات الفرعية في test.txt، دع الجميع يستخدم ذلك للعروض التوضيحية.
[معلومات] تحقق أيضًا من قسم الإصدارات. يمكنك العثور على معلومات مثيرة للاهتمام.
$ subdosec -h
_____ __ __
/ ___/__ __/ /_ ____/ /___ ________ _____
\__ \/ / / / __ \/ __ / __ \/ ___/ _ \/ ___/
___/ / /_/ / /_/ / /_/ / /_/ (__ ) __/ /__
/____/\__,_/_.___/\__,_/\____/____/\___/\___/
usage: subdosec [-h] [-mode {private,public}] [-initkey INITKEY] [-vo] [-pe] [-ins] [-pf PF] [-subfng SUBFNG] [-lf LF] [-sfid] [-ks] [-o O] [-su] [-lu LU] [-lm] [-uf] [-unai UNAI] [-v] [-t THREADS]
Subdomain takeover scanner.
options:
-h, --help show this help message and exit
-mode {private,public}
Mode of operation (private/public)
-initkey INITKEY Initialize the API key
-vo VULN Only: Hide UNDETECT messages
-pe Print Error: When there are problems detecting your target
-ins Prepar node & start server
-pf PF Private Fingerprint: uses your local fingerprint. Example: -pf /path/to/tko.json
-subfng SUBFNG Submit fingerprint: submit local fingerprint to admin. Example: -subfng localfinger.json
-lf LF Fingerprint lock: to focus on one or multiple fingerprints. (-lf github.io,surge.sh) and leave this arg to scan all fingerprints
-sfid To view all available fingerprint ids.
-ks To shut down the server node if you want to not use subdosec for a long time.
-o O Save result locally to the specified path. Example: -o /path/to/dir
-su Skip undetect will not stored to server (https://subdosec.vulnshot.com/result/undetected)
-lu LU Undetec stored localy to the specified path. Example: -lu /path/to/dir
-lm Local Mode: Save vuln and undetect to default inside tools directory (auto -su)
-uf Update Fingerprint
-unai UNAI Analyze undetected subdomains using AI. Example: -unai /path/to/undetect.json
-v, --verbose Show progress count (e.g. [1/10])
-t THREADS, --threads THREADS
Number of threads to use for scanning (default: 10)
تحضير القائمة
يدعم بدون بروتوكول
cat list
https://careers.rotacloud.com
http://creators.thinkorion.com
https://docs.polygon-nightfall.technology
a.anchorsawaytpt.com
help.oceges.com
الأمر 1
تخطي تخزين undetect على الخادم وحفظه محليًا
cat test.txt | subdosec -lm
https://subdosec.vulnshot.com [UNDETECT]
http://feedback.bazoom.com [sleekplan.com] [VULN] [SAVED]
http://demodev.destinojet.co [meteor.com] [VULN] [SAVED]
http://creators.thinkorion.com [UNDETECT]
https://www.www.savillerow.status.lnt.cl [ohdear.app] [VULN] [SAVED]
https://careers.rotacloud.com [gohire.io] [VULN] [SAVED]
https://careers.rotacloud.com [gohire.io] [VULN] [SAVED]
https://ai.yooture.com [UNDETECT]
https://help.oceges.com [UNDETECT]
http://ftp.thiagolima.com [surge.sh] [VULN] [SAVED]
VULN DIRECTORY : /home/alice/.subdosec/vulns
UNDETECT FILE : /home/alice/.subdosec/undetect/undetect.json
قراءة المخرجات
~$ ls /home/alice/.subdosec/vulns
gohire.io_tko.txt meteor.com_tko.txt ohdear.app_tko.txt sleekplan.com_tko.txt surge.sh_tko.txt
~$ cat /home/alice/.subdosec/vulns/gohire.io_tko.txt
careers.rotacloud.com
قراءة undetect والتحليل التلقائي للثغرات المحتملة الجديدة باستخدام -unai
cat /home/alice/.subdosec/undetect/undetect.json
[
{
"title": "No title found",
"status_code": 404,
"redirect_url": "No redirects",
"cname_records": [
"cname.redacted.com"
],
"a_records": [
"76.76.21.98",
"76.76.21.241"
],
"subdomain": "try.redacted.com",
"rootdomain": "redacted.com"
},
{
"title": "No title found",
"status_code": 200,
"redirect_url": "No redirects",
"cname_records": [
"cname.fermat.shop"
],
"a_records": [
"216.150.16.129",
"216.150.1.129"
],
"subdomain": "get.redacted.com",
"rootdomain": "redacted.com"
}
]
subdosec -unai /home/pd/.subdosec/undetect/undetect.json
[INFO] PURE UNDETECTED 0 | Subdomains are not detected as vulnerable even though they have passed the subdosec scan..
[INFO] Analyzing 8 items in 2 batches.
[INFO] Progress: 5/8 data analyzed.
NEW POTENTIAL :
Domain : try.redacted.com
CNAME : cname.redacted-service.com
A Record : 76.76.21.98, 76.76.21.241
Takeover : NOT
Reason : The redacted-service custom domain setup guide explicitly states the requirement of adding a TXT record (e.g., 'redacted-service-verification=<your_site_id>') for domain ownership verification. The presence of a TXT record verification step makes it not vulnerable.
Reference: https://www.redacted-service.com/blog/how-to-setup-custom-domain/
================================================================================
Domain : get.redacted.com
CNAME : cname.fermat.shop
A Record : 216.150.16.129, 216.150.1.129
Takeover : POSSIBLE
Reason : The service uses a static CNAME (cname.fermat.shop) for custom domain setup. Publicly available documentation for Fermat's custom domain setup does not clearly specify a requirement for a TXT record or any dynamic verification method for domain ownership. Without such verification, a static CNAME makes the subdomain potentially vulnerable if the corresponding Fermat account is deleted or becomes unlinked.
Reference: https://fermat.shop/
================================================================================
الأمر 2
استخدام النطاق الجذري وأداة اكتشاف النطاقات الفرعية في السلسلة مثل (subfinder, assetfinder, amass, إلخ)
cat list
example.com
cat list | subfinder -silent | subdosec -lm
https://subdosec.vulnshot.com [UNDETECT]
http://feedback.bazoom.com [sleekplan.com] [VULN] [SAVED]
http://demodev.destinojet.co [meteor.com] [VULN] [SAVED]
http://creators.thinkorion.com [UNDETECT]
https://www.www.savillerow.status.lnt.cl [ohdear.app] [VULN] [SAVED]
https://careers.rotacloud.com [gohire.io] [VULN] [SAVED]
https://careers.rotacloud.com [gohire.io] [VULN] [SAVED]
https://ai.yooture.com [UNDETECT]
https://help.oceges.com [UNDETECT]
http://ftp.thiagolima.com [surge.sh] [VULN] [SAVED]
VULN DIRECTORY : /home/alice/.subdosec/vulns
UNDETECT FILE : /home/alice/.subdosec/undetect/undetect.json
الأمر 3
(إعادة توجيه النتيجة إلى notify)
cat list | subdosec -lm -vo | notify -silent
https://careers.rotacloud.com [100.00%] [gohire.io] [VULN] [SAVED]
الأمر 4
استخدام البصمة الخاصة، هذه العلامة ستدمج تلقائيًا البصمة العامة والخاصة
cat priv8.json
{
"fingerprints": [
{
"fid": 0,
"name": "Subdomain takeover - Pagedeck",
"rules": {
"cname": "cname.pagedeck.com",
"status_code": "404",
"in_body":"This page could not be found."
},
"status_fingerprint": 0,
"reference": "https://docs.pagedeck.com/getting-started/connecting-a-subdomain",
"service": "pagedeck.com",
"logo_service": "https://i.ytimg.com/vi/DY76Tjf1m-8/maxresdefault.jpg"
},
add more
]}
echo try.hugsleep.com | subdosec -pf privfinger.json -o testpriv -lu okgaslu
_____ __ __
/ ___/__ __/ /_ ____/ /___ ________ _____
\__ \/ / / / __ \/ __ / __ \/ ___/ _ \/ ___/
___/ / /_/ / /_/ / /_/ / /_/ (__ ) __/ /__
/____/\__,_/_.___/\__,_/\____/____/\___/\___/
https://try.hugsleep.com [pagedeck.com] [VULN] [SAVED]
VULN DIRECTORY : /home/pd/tko/testpriv
UNDETECT FILE : /home/pd/tko/okgaslu/undetect.json
بمعرفة وظيفة إصدار الويب من subdosec، يمكنك هنا استخدام ميزة https://subdosec.vulnshot.com/result/undetected كاستطلاع، لمعرفة IP و CNAME و TITLE و STATUS CODE وما إلى ذلك كمعلومات إضافية أو حتى للعثور على نطاقات فرعية جديدة للاستيلاء عليها
لها نفس وظيفة undetect.json، الفرق هو أنك وغيرك يشاركونها مع بعضكم البعض.
على سبيل المثال، تبحث عن موقع لم يتم اكتشافه كضعيف بواسطة subdosec باستخدام الكلمة المفتاحية 404، وتوجد معلومات عن cname.gohire.io والعنوان GoHire، والتي إذا بحثت في جوجل، لا توجد معلومات مقالية عن الاستيلاء على النطاقات الفرعية في خدمة gohire.

بعد العثور على ثغرة استيلاء على نطاق فرعي جديد، سواء يدويًا أو تلقائيًا (باستخدام -unai)، يمكنك إرسال البيانات إلينا باستخدام أمر subdosec -subfng.
ديناميكيًا يمكنك استخدام هذا العنصر للقواعد :
title, cname, status_code, in_body, a_record, redirect
cat newvuln.json
{
"name": "Subdomain takeover - GoHire",
"rules": {
"cname": "custom.gohire.io",
"in_body": "Page not found",
"status_code": "404"
},
"status_fingerprint": 0,
"reference": "https://help.gohire.io/en/articles/3385288-setting-up-a-custom-domain",
"service": "gohire.io",
"logo_service": "https://gohire-website.s3.amazonaws.com/img/logos/gh-logo-main.gif"
}
subdosec -subfng newvuln.json
[Info] Submitting fingerprint ...
Imported fingerprint data successfully
إذا لم تكن شخصًا ذا خلفية أمنية، ربما مطور ويب/مبرمج وغير معتاد على أدوات سطر الأوامر. يمكنك استخدام الإصدار الويب لمسح جميع نطاقاتك الفرعية بحد أقصى 10 نطاقات فرعية لكل مسح.

الأدوات السابقة التي ألهمت إنشاء أدوات subdosec.
subdosec موزع تحت رخصة MIT