Responder
أداة تسميم لبروتوكولات LLMNR وNBT-NS وmDNS، تستخدم لالتقاط هاشات NTLM من المستخدمين عبر استجابات وهمية على الشبكة المحلية.
أداة Responder — الدليل الكامل للتعامل مع بروتوكولات التسميم
تُعد أداة Responder من الأدوات الأساسية في عمليات التسميم لبروتوكولات (LLMNR / NBT-NS / mDNS). عندما يفشل مضيف يعمل بنظام Windows في العثور على اسم عبر نظام DNS، فإنه يقوم بإرسال نداء بث (Broadcast) متسائلاً: "هل يعرف أحدكم X؟". هنا تتدخل Responder لترد بـ "أنا أعرفه!"، مما يدفع الضحية لمحاولة المصادقة عبر بروتوكول NTLM مع جهاز المهاجم، وبالتالي التقاط "التحدي والاستجابة" (NetNTLMv1/v2 challenge-response).
التثبيت (Install)
يجب تشغيل الأداة بصلاحيات الجذر (root) لأنها تحتاج للارتباط بمنافذ محمية.
الأعلام الأساسية (Core flags)
| العلم (Flag) | الغرض |
|---|---|
-I <iface> | واجهة الشبكة التي سيتم الاستماع عليها |
-w | بدء وكيل WPAD (ملف wpad.dat وهمي) |
-r | الرد على استعلامات NetBIOS لمحطات العمل |
-d | الرد على استعلامات NetBIOS للنطاق (Domain) |
-f | تحديد بصمة نظام التشغيل (Fingerprint) عبر NBT |
-v | نمط التفصيل (Verbose) |
-A | نمط التحليل (Analyze mode) — استماع فقط بدون ردود (استطلاع) |
-F | فرض مصادقة NTLM (عبر HTTP) بغض النظر عن معرف المستخدم (UA) |
-P | فرض المصادقة الأساسية (Basic Auth) على HTTP (لالتقاط كلمات المرور الصريحة إذا تجاهل المستخدم تحذير الشهادة) |
-N | عدم الرد على ملف أسماء محدد |
--lm | فرض خفض مستوى المصادقة إلى LM |
--disable-ess | تعطيل أمن الجلسة الممتد (التحويل إلى NTLMv1) |
--external-ip | استخدام عنوان IP خارجي كجواب لعملية التسميم |
-e <ip> | التسميم باستخدام عنوان IP محدد |
--basic | المصادقة عبر Basic، لتسهيل عمليات الالتقاط |
الإعدادات: Responder.conf
توجد الإعدادات في المسار /usr/share/responder/Responder.conf (أو في جذر المستودع) — وأهم المفاتيح هي:
[Responder Core]
SQL = On
SMB = On
RDP = On
Kerberos = On
FTP = On
POP = On
SMTP = On
IMAP = On
HTTP = On
HTTPS = On
DNS = On
LDAP = On
DCERPC = On
WINRM = On
SNMP = On
Challenge = 1122334455667788 # تحدي قابل للتنبؤ ← كسر التشفير باستخدام جداول Rainbow
SessionLog = Responder-Session.log
تقوم جميع الخوادم الافتراضية (HTTP, SMB, FTP, ...) بالتقاط بيانات الاعتماد من أي عميل يتصل بها.
مسارات العمل (Workflows)
التشغيل القياسي
يقوم -d بتسميم استعلامات NetBIOS للنطاق، و -w بتشغيل WPAD، و -v لعرض التفاصيل.
الاستطلاع بنمط الاستماع فقط
يخبرك بالأسماء التي يمكن تسميمها دون إرسال أي حركة مرور فعلياً. ممتاز كخطوة فحص قبل البدء الفعلي (Pre-engagement check).
الاقتران مع ntlmrelayx (الهجوم الحقيقي)
قم بتعطيل خوادم SMB و HTTP في Responder (حتى لا ترد هي بدلاً من القيام بعملية الترحيل)، ثم قم بتشغيل ntlmrelayx بشكل منفصل:
فرض خفض المستوى لـ NTLMv1 لكسره عبر جداول Rainbow
تحدي NTLMv1 رقم 1122334455667788 له مجموعات Rainbow معدة مسبقاً ← بتكلفة حوالي 25 دولاراً من طاقة المعالج الرسومي (GPU) ليوم واحد يمكن استعادة أي هاش ملتقط. أنظمة ويندوز الحديثة تحظر هذا افتراضياً، لكن الأجهزة القديمة لا تزال تستجيب.
نموذج المخرجات الناجحة
[*] [LLMNR] Poisoned answer sent to 10.0.1.42 for name files-srv (REQUEST: A)
[SMB] NTLMv2-SSP Hash : alice::CORP:1122334455667788:0F1E2D3C...:01010000...
[*] Skipping previously captured hash for CORP\alice
احفظ الهاش الملتقط، وقم بكسره باستخدام hashcat:
أو قم بترحيله مباشرة (Relay) دون الحاجة للكسر (أسرع، لكن يتطلب هدفاً يكون فيه توقيع SMB معطلاً أو يسمح بالترحيل).
المخرجات الخاطئة والإصلاحات
| الأعراض | السبب | الإصلاح |
|---|---|---|
| الأداة تعمل ولكن لا يوجد التقاط | الشبكة تفتقر لحركة مرور البث / وقت هادئ جداً | انتظر، أو قم بتحفيز المصادقة عبر أساليب الإكراه مثل PetitPotam |
| التقاط الهاشات تم لكن تعذر كسرها | كلمة مرور قوية | استخدم أسلوب الرش (Spraying) أو الترحيل (Relay) بدلاً من الكسر |
| تعارض مع خدمة SMB تعمل حالياً | خدمة Samba المحلية مرتبطة بالمنفذ 445 | systemctl stop smbd |
| أحداث أقل من المتوقع | تعطيل LLMNR / mDNS / NBT عبر سياسة المجموعة (GPO) | انتقل إلى أساليب المصادقة القسرية (Coerced auth) |
فشل تسميم أسماء المضيفين Hostnames poisoning failure | واجهة شبكة خاطئة | تحقق باستخدام ip a وأعد التشغيل مع العلم -I الصحيح |
منظور المدافع (Defender's perspective)
تعتبر Responder من أسهل الأدوات في الاكتشاف:
- ظهور عنوان IP جديد يرد على استعلامات LLMNR (UDP 5355) / NBT-NS (UDP 137) في الشبكة المحلية.
- خادم HTTP يرجع المجال (Realm) باسم
WORKGROUPأوCORPلأي رابط URL. - انفجار مفاجئ في محاولات مصادقة NTLM من أجهزة متعددة نحو عنوان IP واحد جديد.
تحصين الأنظمة (Hardening):
- تعطيل LLMNR: (عبر GPO:
Computer Config → Admin Templates → Network → DNS Client → Turn Off Multicast Name Resolution = Enabled). - تعطيل NBT-NS: لكل واجهة شبكة على حدة (
Disable NetBIOS over TCP/IP). - فرض توقيع SMB (SMB Signing): في كل مكان — وهذا يقتل هجمات الترحيل (Relay).
- استخدام "Honeyhost" مصدق: جهاز وهمي يرد على استعلامات LLMNR — أي عميل يحاول المصادقة معه يعتبر نشاطاً مشبوهاً.
الأمن العملياتي (OPSEC)
- الأداة "صاخبة" (Loud) — تظهر بوضوح في سجلات المراقبة. مقبولة في اختبارات الاختراق المحدودة النطاق، لكنها خطرة خارج ذلك.
- قم بتعطيل وحدات Responder التي لا تحتاجها، خاصة HTTP، لتقليل الضجيج على المنافذ.
- استخدم عنوان IP منفصل للاستماع — أول رد فعل للمدافع هو "البحث عن الIP الجديد الذي حاول الجميع المصادقة معه".
- نسق مع أداة
mitm6(تسميم IPv6 DHCP)، فهي غالباً ما تكون أكثر فاعلية في الشبكات الحديثة.
أدوات ذات صلة
| الأداة | التخصص |
|---|---|
| Inveigh | نسخة مكتوبة بلغة C# / PowerShell من Responder (لمشغلي ويندوز) |
| mitm6 | تسميم DHCPv6 + DNS (فعالة جداً في الشبكات المزدوجة) |
| ntlmrelayx.py | نهاية سلسلة هجوم الترحيل (Relay) |
| Pretender | بديل حديث مكتوب بلغة Go (يدعم mDNS / LLMNR / NBT-NS / DHCPv6) |
| dnschef | مخادع DNS لعمليات "الرجل في المنتصف" (MITM) |