مؤتمر DEFCON 20. التقاط في 60 ثانية: من حساب ضيف إلى مسؤول مجال Windows. الجزء 1الشيء الجيد هو أنه يمكننا الدخول إلى الشبكة المحلية عن طريق تزوير DNS. ماذا عن الهندسة الاجتماعية التي تأخذ في الاعتبار تفضيلات المستخدم والميل؟ يعلم العاهرات أنه في IE يمكنك وضع علامات ملفات صور ، على سبيل المثال ، تنسيق jpg. ، لمسار شبكة UNC ، ثم ستنقل IE هذا مرة أخرى إلى Windows والاتصال تلقائيًا بمجلد الشبكة ، في محاولة للحصول على الصورة المطلوبة أو أي شيء آخر ، على سبيل المثال و JavaScript و iFrame وما إلى ذلك لهذا اليوم ، IE لديه مصادقة تلقائية.

يمكن القيام بنفس الشيء في Firefox و Chrome ، على الرغم من أن الناس يعتقدون أن هذه المتصفحات أكثر أمانًا. تعرض لقطة الشاشة هذه وحدة التحكم في أخطاء Firefox ، والتي تنص على أنه لا يمكن للمتصفح تنزيل ملف الصورة هذا من الشبكة العامة ، حيث تمنع سياسة الأمان تنزيل الملفات غير الموجودة في سياق أمان المتصفح. من بين الميزات المهمة لأدواتنا أنه يمكن إجبار متصفحي Firefox و Chrome على تنزيل الملفات ببساطة عن طريق إرسال رؤوس HTTP لإجبار Content-Type: application / download-download لتنزيل هذه الملفات ثم فتحها من مجلد Temp أو مباشرة من سطح المكتب. وبالتالي ، قمنا بتعيين سياق أمان الملف والمصادقة التلقائية المنشّطة في SMB العام ، بحيث يمكنك الآن إجبار المستخدمين على المصادقة على خادمك الاحتيالي.
ولكن ماذا لو لم ينقروا على "تحميل ملف" أو فتحه من مجلد Temp؟ في هذه الحالة ، يمكنك إجراء ذلك حتى يقوم المستخدمون بالمصادقة تلقائيًا ببساطة عند عرض صفحة HTML في المستعرض. للقيام بذلك ، يجب أن تكون المكونات الإضافية متصلة بـ Firefox و Chrome. تم لفت انتباهي إلى المكوّن الإضافي ، QuickTime ، الذي غالبًا ما يتم تثبيته افتراضيًا بواسطة المستخدمين. أعرف أن هناك العشرات من المكونات الإضافية المختلفة ، ولكن في أغلب الأحيان تقابل أشخاصًا على iTunes على أجهزة iPhone الخاصة بك وتثبيتها QuickTime. انتقلت إلى قائمة ميزات QuickTime وتساءلت عن كيفية ربطها بخادم الشبكة الاحتيالية لإجبار الأشخاص على المصادقة عن طريق إدخال اسم المستخدم وكلمة المرور الخاصة بهم.
لقد فكرنا قليلاً وقررنا أنه يمكنك إدراج قائمة تشغيل في مسار شبكة UNC ، وبعد ذلك سيقوم المستخدمون تلقائيًا بمصادقة سياق الأمان المحلي وتجاوزه. نحتاج إلى العمل أكثر قليلاً على الإضافتين الأخريين ، لكن في الوقت الحالي ، يقوم QuickTime بعمل ممتاز في مهمتنا.
هناك طريقة أخرى لإجبار الناس على المصادقة تلقائيًا على الخادم الخاص بنا وهي عبر رسائل البريد الإلكتروني. يعرف بعض الناس أنه في Outlook يمكنك استخدام البريد الإلكتروني بتنسيق HTML أو رسائل البريد الإلكتروني باستخدام قالب HTML. إذا كان لدينا مورد شبكة مشترك ، فيمكننا إدراجه داخل رسالة بريد إلكتروني كهذه ، وإذا قام المستخدم بفتح هذا البريد الإلكتروني ، فسوف يتصل تلقائيًا بهذا المورد ويوثقه.
لأغراضنا ، يمكنك استخدام الملفات بتنسيق .docs. يمكن استخدام أي مستند بنفس الطريقة التي يتم بها إدراج صورة أو ملف HTML في UNC ، والذي سيتم فتح فتحه تلقائيًا بمشاركة شبكة.
لا تنسى ملف desktop.ini. هذا غير معروف جيدًا ، ولكن يمكنك إنشاء هذا الملف لتثبيت موارد سطح المكتب مثل الرموز والخلفيات ووضعها في مجلد "مشترك". في هذه الحالة ، مرة أخرى ، سيتصل النظام تلقائيًا لتلقي هذه الرموز و "تسجيل الدخول" باستخدام حساب المستخدم الحالي.

بنفس الطريقة ، يمكنك تغيير إعدادات ملف الاختصار بالملحق .lnk للاتصال تلقائيًا بالمورد.
لذلك ، تقوم أداتنا بسرعة وسهولة بإنشاء ملفات .ini أو HTML هذه تلقائيًا.
آخر شيء أريد أن أتحدث عنه هو MITM ، أو "الرجل في المنتصف". يمكنك إعادة توجيه طلبات مصادقة NTLM أو تضمين محتوى HTML في الصفحات ، كما لا تفعل الأداة ، وبالتالي مساعدتها على أداء مهمتها. وبهذه الطريقة ، يمكنك إجبار العملاء على الاتصال بخادم احتيالي من أجل تنفيذ ترحيل NTLM. هناك أدوات أخرى تسمح لك بإجراء ترحيل NTLM عبر SMB أو HTTP وتفرض على المستخدمين المصادقة نيابة عنك.
هناك ميزة أخرى رائعة في Squirtle وهي القدرة على جعلها نقطة انطلاق لإنشاء طلبات واجهة برمجة التطبيقات ، حيث يمكنك استخدام أي أداة كتبتها لتلقي رسائل النوع 2 و 3. رسالة النوع 3. هي آخر طلب مصادقة ، ويجب إرسال رسالة واجهة برمجة التطبيقات لاستلامها اكتب 2 واستعادتها. كتبت بسرعة واجهة برمجة تطبيقات تتيح لك استخدام أي مجموعة من الأدوات التي تريدها ، ويمكنك تغيير شفرة المصدر واستخدام خوادم احتيالية للاتصال وما إلى ذلك.
ومع ذلك ، إذا كنت خبيراً أو تختبر مستخدمين ، فأنت بحاجة إلى بعض العلاقات ، والتفاعل العكسي. لذلك ، تتضمن أداتنا مجموعة من القواعد. لقد قلت بالفعل أن جميع الأدوات الحالية ترسل المستخدمين إلى نفس المصدر ، ويجب أن نحدد هوية هؤلاء المستخدمين. كنت أرغب في القيام بذلك بنقرة واحدة بحيث ، كما قلت ، سيكون من الممكن الحصول على سلطة مسؤول المجال في 60 ثانية.
كتبت في قواعد تطبيقنا بناءً على حقيقة أن المستخدمين ينتمون إلى مجموعات وأهداف تنتمي إلى مجموعات أهداف.
بمجرد اكتشاف أن المستخدم ينتمي إلى مجموعة ما ويمكنه الوصول إلى شيء ما باستخدام اتصال تلقائي ، لا نحتاج إلى إجباره على الاتصال والانتظار ونأمل أن يعود. لقد أنشأنا قاعدة بسيطة ، وسأظهر لاحقًا في واجهة المستخدم أنه إذا دخل مستخدم إلى المجموعة X ، يتم استخدام وحدة نمطية معينة Y لتنفيذ الإجراء Z فيما يتعلق بالمجموعات المستهدفة T. بعد بضع ثوانٍ سأوضح كيف يعمل هذا.
تتكون القواعد أيضًا من التحقق الفوري من طلبات واجهة برمجة التطبيقات ، والتحقق من القواعد العامة ، وتكرار ذلك حتى تحدث مهلة. بمجرد حدوث المهلة ، تحتاج إلى الرد بمكالمة ثابتة مع الاستمرار في حالة المصادقة ، وعدم السماح للمستخدم بقطع الاتصال.
يمكننا استخدام SMB للاتصال بـ SMB ، HTTP للاتصال بـ HTTP ، HTTP للاتصال بـ SMB ، وما إلى ذلك ، من خلال تطبيق ترحيل NTLM. تكمن المشكلة في أن الناس لا يستخدمون عملياً العديد من البروتوكولات الأخرى ، لذلك قررت إلقاء نظرة فاحصة على البروتوكولات مثل LDAP و MSSQL.
سأتحدث عن LDAP لاحقًا ، لكنني الآن سألاحظ أن MSSQL شيء رائع ، لأنه يمكننا الحصول على قاعدة بيانات ، ويمكننا الوصول إلى البيانات ، وهذا مذهل.

نظرًا لأننا نتعامل مع العملاء ، فنحن نريد تنفيذ الإجراءات تلقائيًا فور الاتصال. لذلك ، أدرجنا المستخدمين والمجموعات الذين يستخدمون Metasploit ، والذي تم تقديمه في مؤتمر BlackHat لهذا العام. وهكذا ، بصفتي خبيرًا ، تمكنت من الوصول إلى الملفات المشتركة ، وحصلت على فرصة لتنفيذ الأوامر وحصلت على معلومات حول المستخدمين المستهدفين والمجموعات المستهدفة ، دون امتيازات المسؤول. ومع ذلك ، مع كل هذا ، لا يمكنني الاتصال بوحدات تحكم المجال. السبب هو افتراضياً أن معظم وحدات التحكم بالمجال لها توقيع SMB. بالنسبة لأولئك الذين ليسوا على دراية بتوقيع SMB ، سأقول أن هذه هي آلية الأمان لبروتوكول SMB ، وتسمى أيضًا التوقيعات الأمنية. يستخدم تجزئة NTLM الأصلي لتوقيع الجلسة والتوقيع على كل حزمة ، وإذا لم يكن هناك توقيع ، فإنه يقطع الاتصال بك. لذلك ، بشكل افتراضي ، لا يمكننا تطبيق ترحيل NTLM على وحدة تحكم مجال. هذا غاضب مني ، لذلك قررت معرفة مدى سهولة وسرعة الوصول إلى وحدة التحكم هذه. دعنا نعود بضع شرائح.

اتضح أنه يتم تمكين LDAP بشكل افتراضي في وحدة تحكم المجال ، والذي يسمح باستخدام مصادقة NTLM ، وهو أمر رائع. لكن لا يمكننا تغيير كلمة المرور ، لأن تغيير كلمة المرور أو إضافة مستخدم ، كقاعدة عامة ، يتطلب SSL ويتم تضمين SSL في LDAP إذا كان المجال لديه شهادة المرجع المصدق. ما فعلناه هو إدخال أدواتنا التي يمكنك من خلالها تغيير كلمات مرور المستخدم ، واستبعاد وإضافة مستخدمين ، ونطاقات القائمة ، واستخراج تجزئات مستخدمين نشطة من الذاكرة ، وتسجيل الدخول إلى التحكم في المجال والقيام بأشياء رائعة أخرى. الشيء الممتع هو أنه يمكنك إضافة مستخدمين إلى مجموعات بدون طبقة مآخذ توصيل آمنة (SSL) وأشياء أخرى ، بحيث يمكنك كمسؤول أن تأخذ وتربط حسابات المستخدمين الآخرين ، وإضافتهم إلى مجموعة مسؤولي المجال إذا كان لديك امتيازات المسؤول ، وهكذا دواليك.
العودة إلى SMB. خلال رحلتي التي استغرقت 4 ساعات من شيكاغو ، فكرت في استخدام وكيل SMB SOCKS لأغراضنا. يدرك أي شخص يعرف أن هذا البروتوكول يسمح للتطبيقات بالاتصال من خلال جدار الحماية الذي يمنع الاتصال المباشر باستخدام خادم وسيط يمكن للعملاء الاتصال بهما. وهذا يعني أن وكيل SOCKS يرسل بيانات نظيفة من عميل إلى آخر والعكس. وبالتالي ، يمكن لهذا الوكيل استبدال حزم NTLM بالبيانات المنقولة.

باستخدام HTTP ، يمكننا ربط خوادم SharePoint بمواقع الويب الداخلية. يعتقد بعض الناس أنه لن تكون هناك مشكلة مع NTLM لأنك على شبكة داخلية ، ولكن ماذا عن الشبكات الخارجية؟ هناك أيضًا أحيانًا خوادم SharePoint هناك ، لكن ليس كثيرًا. اعتقدت أن العديد من المؤسسات مفتوحة للوصول الخارجي ، وتدعم NTLM وتسمح بتبادل خدمات الويب. بالنسبة لأولئك الذين ليسوا على دراية بـ Exchange Web Services (EWS) ، أقول إنهم نوع من واجهة برمجة تطبيقات HTTP ، والتي توجد عادةً على نفس الخادم مثل Outlook Web Access. بشكل افتراضي ، يستخدمون أسلوب مصادقة مفاوضة HTTP ، الذي يدعم NTLM ، حتى نتمكن من القيام بترحيل HTTP خارجي إلى الخدمة الموجودة في EWS.
هذا أمر مثير للقلق ، لأنه من الخارج يمكنك الوصول إلى المراسلات وجهات الاتصال وتقويم الأحداث ووضع القواعد الخاصة بك للبريد الإلكتروني باستخدام نقاط اتصال HotSpot. يمكنك الوصول إلى خادم EWS عبر الإنترنت إذا لم يكن لديهم قواعد جدار الحماية للاتصالات الصادرة التي لا تسمح لك بالاتصال بخادم SMB احتيالي وتلقي المصادقة تلقائيًا. وكل هذا ممكن بسبب حقيقة أن كل شخص لديه هاتف محمول متصل بخدمات EWS ومتزامن معها.
والآن أحتاج إلى مشروب ، لأنني في هذا المكان أردت أن أبدأ عرضًا تجريبيًا. لذلك ، تعرض هذه الشريحة الشكل الذي تبدو عليه واجهة المستخدم الرسومية لتطبيق ZackAttack ، وسأقوم بالتمرير لأسفل في الصفحة أدناه لمشاهدة إعدادات الإجراءات والأهداف والمجموعات المستهدفة ومجموعات المستخدمين.

حتى تتمكن من الحصول على فكرة عن وظائفها ومدى قوتها. يتم الآن تشغيل خادم HTTP الاحتيالي وخادم SMB الاحتيالي وخادم HTTP لإدارة. تُظهر الشريحة أيضًا المجموعات التي المستخدمين فيها.

إنه يعرض من وعند الاتصال بالشبكة ، بحيث يمكنك معرفة المستخدم الذي قام بإعادة الاتصال.

على اليمين ، تظهر حسابات النظام وحسابات المستخدمين الحاليين باللون الأحمر ، حيث يمكنك سرد الأهداف عبر SMB بنقرة واحدة ، وتلقي البريد من Exchange Web Services ، واستخدام shell command إذا كنت مسؤول جلسة ، وقم بالوصول إلى الملفات المشتركة ، و SharePoint ، وما إلى ذلك.

كما قلت ، يمكننا إنشاء قواعد ويمكننا إضافة مستخدمين إلى مجموعات عن طريق التعداد التلقائي أو عن طريق إنشاء مجموعات يدويًا ، على سبيل المثال ، إنشاء مجموعة تسمى "moo".

شيء لا أستطيع فعله ، كما قلت ، لا تحبني الآلهة التجريبية. سيتعين علينا العودة وإصلاح شيء ما في البرنامج.

عذرا يا شباب ، ولكن هذا مجرد إصدار ألفا ، كتبت هذا الكود وحده في 3 أسابيع. الآن سأضيف مجموعة تسمى "yar" ، والآن ترى أن هاتين المجموعتين ظهرت في الأسفل ، حيث تمت إضافة المستخدم المحدد.

كما قلت ، يمكننا أيضًا سرد مجموعات المستخدمين المختلفة من وحدة تحكم المجال ، هذه علامة التبويب "مجموعات المستخدمين" ، وإنشاء قواعد للمصادقة التلقائية باستخدام علامة التبويب "قواعد الهجوم" - "قواعد الهجوم".
ترى هنا مستخدمي مجموعة Yar التي تم إنشاؤها حديثًا والذين يمكن توصيلهم بـ Exchange Web Services لأغراض محددة من المجموعات المستهدفة ، ويمكنك هنا أيضًا إضافة أي عنوان IP ، على سبيل المثال ، 10.1.10.250 إلى المجموعة المستهدفة.

بمجرد استلام طلب المصادقة من شخص ما من مجموعة المستخدمين ، نتصل تلقائيًا بـ EWS وسحب جميع الرسائل من علبة الوارد ، من مجلد المسودات ، يمكننا بسهولة إضافة مجلد آخر ، على سبيل المثال ، العناصر المرسلة.

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

هنا يمكنك إنشاء desktop.ini لتحميل الملفات إلى المجلدات المشتركة واستخدام أداة إنشاء الملفات لحقن UNC Path في ملف xml .doc وإنشاء ملفات اختصار .lnk وأرشفة ملفات Zip ، تمامًا مثل إنشاء ملفات بريد XTML تلقائيًا. كل هذا يتم بطريقة بسيطة قدر الإمكان بمساعدة Firesheep و NTLM Relaying.
أخيرًا ، من خلال علامة تبويب النتائج والسجلات ، تتعقب أداتي تجزئات المستخدم كما فعلت قبل المصادقة الثابتة ، وبذلك يمكنك محاولة كسر كلمات المرور.

لذلك ، كان هذا دليلاً على قدرات ZackAttack. إذن كيف نحمي أنفسنا من هذا؟ الدفاع هو الحد من سطح الهجوم.

لكل منها طرقه الدفاعية ضد الهجمات من هذا النوع. يقترح الأشخاص استخدام الإصدار 2. من NTLM تدعم أداتي هذا الإصدار ، لكن لا توجد اختلافات كبيرة بين الإصدار 2 والإصدار 1.
يمكنك تثبيت جدار حماية على المنفذ الخارجي 445 ، والذي سوف يحميك من إرسال أي شخص حمولات احتيالية تفرض مصادقة تلقائية. ومع ذلك ، هذا لا يحمي ضد الاختراق من خلال الأجهزة المحمولة.
يمكنك تكوين سياسات المجموعة لتقييد استخدام برامج GPO في نظام التشغيل Windows 7 للحد من أهداف مصادقة NTLM. الجميع يدعي أن الحل الأفضل هو Kerberos. ومع ذلك ، فإن المشكلة هي أن المنظمة ستحتاج إلى تبديل كل شيء إلى Kerberos ، وهذا لن ينجح ، لأن هناك العديد من الأشياء التي لا تدعم Kerberos. شيء آخر هو أنه إذا قمت بتمكين Kerberos ، فلن تكون قادرًا على دعم NTLM على الإطلاق ، وينطبق نفس الشيء على التوقيع ، لأنه بالنسبة لأولئك الذين لا تعرفهم ، ستحتاج إلى توقيع كل حزمة مع تجزئة كلمة مرور أصلية. توقيع LDAP ، توقيع SMB ، مصادقة HTTP متقدمة - كل هذا غير مدعوم من Cerberus ، لذلك يخطئ الناس في التفكير في أن التوقيعات ستحل جميع المشاكل. إذا فرضت التواقيع الإلزامية ، فإن هذا يمكن أن يعطل العديد من الأشياء.
لذلك ، في حماية المنظمة ، يجب الحفاظ على بعض التوازن. إذا كنت مستخدمًا نهائيًا ، فعادةً ما لا تقلق بشأن مثل هذه الأشياء ، ولكن إذا كنت مسؤول نظام في شركة ، فإن المشكلة الكبرى بالنسبة لك هي الحاجة إلى رفض استخدام NTLM.
نظرًا لأن Windows 8 و Windows 2012 لا يزالان يدعمان NTLM بشكل افتراضي ، سيستغرق الأمر بعض الوقت للتخلي عن هذا والانتقال إلى استخدام Kerberos ، وآمل أن تساعد أداتي. سيتم نشره يوم الثلاثاء 31 يوليو بمجرد وصولي إلى المنزل على
zfasel.com/tools . كما أنه متوفر على قرص DVD لهذا المؤتمر ، وكذلك الشرائح الخاصة بي. إذا كنت تريد أن تخبرني عن مدى كربي لأدائي وعرضي التوضيحي ، فأرسل بريدًا إلكترونيًا إلى dc20@zfasel.com أو ابحث على Twitter عن اسم مستعارzfasel الخاص بي.
شكرا لك على البقاء معنا. هل تحب مقالاتنا؟ تريد أن ترى المزيد من المواد المثيرة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية به لأصدقائك ،
خصم 30٪ لمستخدمي Habr على تناظرية فريدة من خوادم الدخول التي اخترعناها لك: الحقيقة الكاملة حول VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1 جيجابت في الثانية من 20 $ أو كيفية تقسيم الخادم؟ (تتوفر خيارات مع RAID1 و RAID10 ، ما يصل إلى 24 مركزًا وما يصل إلى 40 جيجابايت من ذاكرة DDR4).
VPS (KVM) E5-2650 v4 (6 مراكز) 10GB DDR4 240GB SSD بسرعة 1 جيجابت في الثانية حتى الربيع مجانًا عند الدفع لمدة ستة أشهر ، يمكنك طلبها
هنا .
ديل R730xd 2 مرات أرخص؟ لدينا فقط
2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD بسرعة 1 جيجابت في الثانية 100 TV من 249 دولارًا في هولندا والولايات المتحدة الأمريكية! اقرأ عن
كيفية بناء البنية التحتية فئة باستخدام خوادم V4 R730xd E5-2650d تكلف 9000 يورو عن بنس واحد؟