
أداة استطلاع لنقاط نهاية NTLM غير المصادق عليها تقوم بفك تشفير تحديات Type-2 عبر HTTP وSMB وMSSQL وSMTP وIMAP وPOP3 وNNTP وLDAP وRDP لاستخراج تفاصيل AD وعناوين IP الداخلية.
____ / // /__ ___ ______________ __ / / / __ / / / __ ` / / / __ / / / / __/ / / / / // / / / / / ( ) // // / // / /_ // //_/// // ///_/___/_,/__/
hunting exposed NTLM BoydHacks · github.com/BoydHacks
# ntlmscout
**أداة واحدة لاستخراج كل قطرة معلومات من نقاط نهاية NTLM المكشوفة على الإنترنت.**
يكشف تفاوض NTLM غير المُصادَق عنه قدرًا مدهشًا من تفاصيل Active Directory الداخلية قبل إرسال أي بيانات اعتماد على الإطلاق. تُرسل `ntlmscout` رسالة NTLM Type-1 (NEGOTIATE) عبر مجموعة واسعة من وسائل النقل، وتفكّك بالكامل رسالة Type-2 (CHALLENGE) العائدة، وتستخرج كل شيء: أسماء المضيف والنطاق الداخلية NetBIOS/DNS، غابة AD، إصدار نظام التشغيل (مُعيَّن إلى إصدار Windows ودّي)، ساعة الخادم (والانحراف)، أعلام التفاوض، وكل AV_PAIR — ثم تُثري ذلك بالكشفيات المجاورة غير المُصادَق عليها ورشّ كلمات مرور اختياري آمن ضد القفل.
مكتبة قياسية خالصة. ملف واحد. Python 3.7+. بلا تبعيات.
## الميزات
- **كل وسائل النقل في أداة واحدة** — HTTP(S) (مع اكتشاف نقاط النهاية)، SMB2/3، MSSQL/TDS، SMTP، IMAP، POP3، NNTP، LDAP(S)، و RDP/CredSSP(NLA).
- **فكّ عميق لـ Type-2** — مضيف/نطاق NetBIOS + DNS، اسم الغابة/الشجرة، إصدار نظام التشغيل → اسم ودّي (مع تمييز العميل عن الخادم)، طابع وقت الخادم + انحراف الساعة، SPN، MachineID، ارتباطات القناة، وتفصيل كامل لأعلام التفاوض.
- **يُفسّر، لا يكتفي بالتفريغ** — تصنيف صادق بين **عضو النطاق ومتحكم النطاق** (لا يُدَّعى أن الهدف DC إلا عندما يستجيب فعلاً خدمة DC)، وقراءة للوضع الأمني (توقيع SMB/LDAP، EPA/ارتباط القناة، التشفير الضعيف NTLMv1/LM).
- **يستعيد عنوان IP الداخلي** — الشيء الوحيد الذي لا يستطيع NTLM نفسه تقديمه — عبر كشف ترويسة Host في IIS (CVE-2000-0649)، WebDAV PROPFIND، RPC `IOXIDResolver::ServerAlive2` (TCP 135)، و IP SANs في شهادة TLS/RDP.
- **كشفيات إضافية** — CN + SANs في شهادة TLS/RDP، تسريبات ترويسات Exchange `X-FEServer`/`X-CalculatedBETarget`، وإثراء **LDAP rootDSE** المجهول (سياقات التسمية، `dnsHostName`، المستويات الوظيفية لـ AD).
- **سريع** — بوابة فحص حيوية المنفذ تتخطى كل مجسّ على منفذ مغلق، فلا تكلفك المضيفات المُرشَّحة جدارًا من المهلات.
- **وضع رشّ آمن ضد القفل** — ترتيب رشّ كلمات المرور (كلمة مرور واحدة عبر كل المستخدمين في كل جولة)، NTLM Type-3 أو HTTP Basic ضد أكثر نقطة نهاية فعالية، مع حكم واضح صالح / غير صالح / غير حاسم.
- **مخرجات جاهزة للتقارير** — ملخص مجمّع لكل مضيف بالإضافة إلى JSON و NDJSON و CSV وملف hosts بنمط NetExec. تُكتب ملفات المخرجات بأذونات المالك فقط.
## التثبيت
```bash
git clone https://github.com/BoydHacks/ntlmscout
cd ntlmscout
python3 ntlmscout.py --help
لا pip install، ولا virtualenv — يستخدم فقط مكتبة Python القياسية.
# recon a single IP or host (full sweep of every NTLM-capable port)
python3 ntlmscout.py 203.0.113.10
python3 ntlmscout.py mail.example.com
# a specific endpoint, or a whole range, or a target list
python3 ntlmscout.py https://mail.example.com/ews/
python3 ntlmscout.py 10.0.0.0/24
python3 ntlmscout.py -I targets.txt --json results.json
# route everything through Burp / a CONNECT proxy
python3 ntlmscout.py -I targets.txt --proxy 127.0.0.1:8080
# lockout-safe password spray against the best endpoint
python3 ntlmscout.py --spray -I hosts.txt -u users.txt -p 'Winter2026!' --delay 1800
الاستطلاع هو مسح كامل افتراضيًا. قلّصه باستخدام --no-discover (تخطي قائمة كلمات مسار HTTP) أو --no-internal-ip (تخطي فحوصات الشهادة/OXID/IIS). راجع --help للقائمة الكاملة.
========================================================================
HOST: 203.0.113.10 (EXCH01.corp.example.com)
------------------------------------------------------------------------
External address : 203.0.113.10
Internal address : 10.0.0.25
Realm : CORP
Realm type : domain
NetBIOS host : EXCH01
NetBIOS domain : CORP
DNS host : EXCH01.corp.example.com
DNS domain : corp.example.com
DNS forest : corp.example.com
OS : Windows Server 2019
OS build : 10.0.17763
Server time (UTC) : 2026-01-01 12:00:00
Time skew (s) : -0.1
Role : Domain member
NTLM endpoints identified: 4
- https://203.0.113.10/ews/
- https://203.0.113.10/rpc/
- https://203.0.113.10/autodiscover/
- smb://203.0.113.10:445
========================================================================
[+] 4 exposed NTLM endpoint(s) on 1 of 1 host(s).
تُعرض نقاط النهاية المكتشفة على الشاشة تلقائيًا. أضف -o log.txt
للحصول على سجل كامل لكل حقل، أو --json/--csv لمخرجات قابلة للقراءة آليًا.
وضع الرشّ اختياري ومُقيَّد بـ ترتيب رشّ كلمات المرور — تُجرَّب كلمة مرور واحدة عبر كل حساب في كل جولة، فلا يرى أي حساب أكثر من محاولة واحدة في الجولة. اضبط --delay على نافذة مراقبة القفل لدى الهدف وتأكد من سياسة القفل قبل التشغيل. يُبلّغ عن النتائج الصالحة والمرفوضة بشكل نظيف وغير الحاسمة بشكل منفصل، بحيث تكون النتيجة السلبية موثوقة بدلاً من أن تكون أثرًا لعيّنة معطوبة.
تقف ntlmscout على أكتاف الباحثين والأدوات الذين ابتكروا استطلاع نقاط نهاية NTLM. أفكارهم وتقنياتهم وقوائم كلمات نقاط النهاية الخاصة بهم أثرت مباشرة في هذا المشروع:
*-ntlm-info NSE — Justin Cacak (http/imap/pop3/smtp/nntp/telnet/ms-sql) و Tom Sellers (rdp): وصفات كل بروتوكول لاستدراج Type-2 من كل خدمة.IOXIDResolver::ServerAlive2 ومفاهيم إعادة توجيه NTLM والوضع الأمني.تتبع تفاصيل البروتوكول المواصفة المفتوحة [MS-NLMP] من Microsoft وملاحظات davenport NTLM الكلاسيكية لإريك غلاس. كشف عنوان IP الداخلي في IIS هو CVE-2000-0649.
إذا كان عملك ينتمي إلى هنا وقد أغفلتك، افتح issue — الفضل واجب وسأضيفه.
BoydHacks — github.com/BoydHacks