هجوم LLMNR/NBT-NS Poisoning

Cyber Attacks
" يمثل هجوم LLMNR/NBT-NS Poisoning محاولة من قبل المهاجم للوصول إلى معلومات الاعتماد (Credential Access)."
Badr EN-NOUKH
Jan. 29, 2024, 9 a.m.
badr
هجوم LLMNR/NBT-NS Poisoning

بيئات Active Directory عرضة  للمخاطر، خاصةً في حال وجود "بعض التكوينات الخاطئة". وبمجرد أن يخترق المهاجم شبكة محلية تديرها AD، يكون هدفه الحصول على أقصى قدر من الامتيازات في Domain بأسرع وقت وبأقل إثارة للضجة ممكنة. LLMNR/NBT-NS  Poisoning هو مجرد واحدة من التقنيات المستخدمة لتحقيق هذا الهدف.

ما هي LLMNR و NBT-NS ؟

LLMNR، وهو اختصار لـ Link-Local Multicast Name Resolution، و NBT-NS، وهو اختصار لـ Netbios Name Service، هما اثنان من بروتوكولات ويندوز البديلة لبروتوكولات DNS (Domain Name System) .

عندما تحاول جهاز ويندوز حل لاسم المجال (أي ترجمة عنوان IP إلى اسم مجال/ domain name، أو العكس)، يتبع مجموعة محددة من الخطوات:

  1. يتحقق من إدخالات ملف الـ hosts للاسم المطلوب، إذا لم يكن موجودًا،
  2. يتحقق من ذاكرة التخزين المؤقتة لـ DNS المحلية للإدخالات المخزنة، إذا لم يكن موجودًا،
  3. يرسل استعلام إلى خادم DNS وينتظر الاستجابة. إذا لم يتمكن خادم DNS من العثور على الاسم الصحيح، يتم تكليف مهمة الحل إلى بروتوكولات LLMNR و NBT-NS (LLMNR أولاً، وإذا فشل، ثم NBT-NS).

كيف يقوم LLMNR  بحل الأسماء (resolve names ) ؟

لنفترض أن جهاز الحاسوب PC1  يحاول الوصول إلى مشاركة SMB على //FileServer/MyShared. قبل أن يكون قادرًا على القيام بذلك، يحتاج جهاز الحاسوبPC1  إلى حل اسم FileServer  إلى العنوان الإنترنت (IPv4 أو v6) المقابل لمعرفة إلى أين يجب أن يرسل جميع الحزم.

جهاز الحاسوبPC1 :

  1. يتحقق من التخزين المؤقت المحلي.
  2. يتحقق من توفر خدمة DNS وما إذا كان أيًا من خوادم DNS تحتوي على العنوان الإنترنت. إذا لم يكن العنوان متاحًا، يتابع إلى المراحل التالية:
  3. يرسل استعلام LLMNR Query  للاسم "FileServer" إلى 224.0.0.252 (broadcast address).
  4. يرسل جهاز الحاسوب PC2  LLMNR Response للاسم "FileServer" مع القول بأن العنوان الإنترنت هو 192.168.1.29.
  5. يستلم جهاز الحاسوب PC1  العنوان الإنترنت ويتصل بالخادم.

 

كيفية استغلال LLMNR و NBT-NS ؟

يستغل هجوم LLMNR poisoning الثقة التي يتمتع بها الكمبيوتر الذي يرسل query  تجاه جميع الأجهزة الأخرى الموجودة على الشبكة.

نقطة الضعف هي أن اسم المستخدم والتحدي , التحدي المشفر يتم إرسالهما إلى أي مضيف في الشبكة يستجيب لطلب LLMNR أو NBT-NS. وهذا يعني أنه يمكن للممثل الخبيث إعداد  Man in The Middle Attack ، حيث يضع نفسه في منتصف الشبكة، للاستماع إلى بث LLMNR أو NBT-NS والرد عليها من خلال التظاهر بأنه المضيف المطلوب،  من أجل خداع الضحية لإرسال اسم المستخدم والتحدي والتحدي المشفر.

 

 يُوضح الشكل أدناه عملية الهجوم

 

  1. يرغب الضحية في الوصول إلى مشاركة الملفات \fileserver ولكنه يكتب بطريق الخطأ \filesrvr.
  2. لا يمكن لخادم DNS حل ال host .
  3. ترسل الضحية رسالة broadcast  إلى جميع الأجهزة في الشبكة المحلية.
  4. يقوم المهاجم بتزييف هوية \fileserver والرد على طلب LLMNR.
  5. ترسل الضحية اسم المستخدم الخاص بها وتشفير تحديها إلى جهاز المهاجم للauthenticate.
  6. الآن يمتلك المهاجم اسم المستخدم والتحدي والتحدي المشفر. يتم إرسال رد failed authentication  إلى الضحية لإغلاق session.

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

عرض عملي :

لهذا الهجوم، سنستخدم أداة Responder، التي ستستمع وترد على LLMNR/NBT-NS broadcasts، ثم تقوم بإنشاء خدمة authentification  زائفة . 

 سيقوم الضحية بإرسال بيانات اعتمادها إلى إحدى هذه الخدمات، وهكذا سنحصل على تلك البيانات!

لتشغيل الأداة، اختر interface   للاستماع عليها :

Responder -i Interface_name

  إذا حاولت الوصول إلى خادم SMB  عبر 192.168.233.133.

 

 

بالعودة إلى جهاز Kali الخاص بنا، سنستعيد على الفور الأجزاء المختلفة من المعلومات التي تم إرسالها مرة أخرى إلى خادم SMB الخاص بنا، وهي: اسم المستخدم و Hash !

لمحاولة كسر الهاش، يمكننا استخدام أداة الهاش المفضلة للجميع، Hashcat، وقائمة كلمات السر المفضلة للجميع، Rockyou .

 

hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt
 

5600 هو  the module  لهاش NetNTLMv2.

وها هو كلمة المرور لدينا، ببساطة كما هو الحال!

:  John The Ripper  في هذه الحالة استعملت

 

  : MITIGATION  التخفيف

أحد الحلول الواضحة هو ببساطة تعطيل LLMNR/NetBIOS، أو حظر حركة مرور هذه البروتوكولات باستخدام برنامج أمان مخصص.

إذا لم تتمكن الشركة من تعطيل LLMNR/NetBIOS، فهناك حلان:

  • التحكم في الوصول إلى الشبكة: والذي سيسمح فقط للمستخدمين الشرعيين للنطاق بالدخول إلى الشبكة.
  • تتطلب كلمات مرور قوية ! 

المصادر : 

hackingarticles

Medium_anis wersighni

Youtube_ActiveXSploit


LLMNR_NBT attack AD Pentesting Active Directory Cyberattack هجوم AD attack