
تمت كتابة هذا المقال بناءً على اختبار ناجح جدًا أجراه متخصصو Group-IB منذ عامين: حدثت قصة يمكن تكييفها لفيلم في بوليوود. الآن، ربما يتبع رد فعل القارئ: "أوه، مقال آخر في العلاقات العامة، مرة أخرى يتم تصويره، كم هو جيد، لا تنس شراء Pentest." حسنا، من ناحية، هو كذلك. ومع ذلك، هناك عدد من الأسباب الأخرى لظهور هذه المقالة. أردت أن أظهر ما يفعله المخترقون بالضبط، وكيف يمكن أن يكون هذا العمل مثيرًا للاهتمام وغير تافه، وما هي الظروف المضحكة التي يمكن أن تنشأ في المشاريع، والأهم من ذلك، إظهار المواد الحية بأمثلة حقيقية.
ولإعادة توازن الحياء في العالم، سنكتب بعد فترة عن خماسية لم تسير على ما يرام. سنبين كيف يمكن للعمليات المصممة جيدًا في الشركة أن توفر الحماية ضد مجموعة كاملة من الهجمات، حتى تلك التي يتم الإعداد لها جيدًا، وذلك ببساطة لأن هذه العمليات موجودة وتعمل بالفعل.
بالنسبة للعميل في هذه المقالة، كان كل شيء أيضًا ممتازًا بشكل عام، على الأقل أفضل من 95٪ من السوق في الاتحاد الروسي، وفقًا لمشاعرنا، ولكن كان هناك عدد من الفروق الدقيقة الصغيرة التي شكلت سلسلة طويلة من الأحداث، والتي كانت أولاً أدى ذلك إلى تقرير طويل عن العمل، ثم إلى هذا المقال.
لذلك، دعونا نخزن الفشار، ونرحب بكم في القصة البوليسية. كلمة - بافل سوبرانيوك، المدير الفني لقسم "التدقيق والاستشارات" بشركة Group-IB.
الجزء 1. دكتور بوشكين
2018 هناك عميل - شركة تكنولوجيا معلومات عالية التقنية تخدم في حد ذاتها العديد من العملاء. هل يريد الحصول على إجابة للسؤال: هل من الممكن، دون أي معرفة أولية أو وصول، العمل عبر الإنترنت، للحصول على حقوق مسؤول مجال Active Directory؟ أنا غير مهتم بأي هندسة اجتماعية ()، فهم لا يعتزمون التدخل في العمل عن قصد، ولكن قد يقومون بذلك عن طريق الخطأ - على سبيل المثال، إعادة تحميل خادم يعمل بشكل غريب. الهدف الإضافي هو تحديد أكبر عدد ممكن من نواقل الهجوم الأخرى ضد المحيط الخارجي. تجري الشركة مثل هذه الاختبارات بانتظام، والآن حان الموعد النهائي لإجراء اختبار جديد. الظروف تكاد تكون نموذجية وكافية ومفهومة. هيا بنا نبدأ.
يوجد اسم العميل - فليكن "الشركة" مع الموقع الرئيسي . بالطبع، يتم استدعاء العميل بشكل مختلف، ولكن في هذه المقالة سيكون كل شيء غير شخصي.
أقوم باستطلاع الشبكة - اكتشف العناوين والمجالات المسجلة لدى العميل، وارسم مخططًا للشبكة، وكيفية توزيع الخدمات على هذه العناوين. لقد حصلت على النتيجة: أكثر من 4000 عنوان IP مباشر. ألقي نظرة على النطاقات الموجودة في هذه الشبكات: ولحسن الحظ، فإن الغالبية العظمى منها عبارة عن شبكات مخصصة لعملاء العميل، ونحن لسنا مهتمين بها بشكل رسمي. العميل يعتقد نفس الشيء.
لا تزال هناك شبكة واحدة تحتوي على 256 عنوانًا، حيث يوجد بالفعل في هذه اللحظة فهم لتوزيع المجالات والمجالات الفرعية حسب عناوين IP، وهناك معلومات حول المنافذ التي تم فحصها، مما يعني أنه يمكنك البحث عن الخدمات المثيرة للاهتمام. بالتوازي، يتم إطلاق جميع أنواع الماسحات الضوئية على عناوين IP المتاحة وبشكل منفصل على مواقع الويب.
هناك الكثير من الخدمات. عادة ما يكون هذا فرحًا للبنستر وتوقع النصر السريع، حيث أنه كلما زاد عدد الخدمات، زاد مجال الهجوم وأسهل العثور على قطعة أثرية. نظرة سريعة على المواقع أظهرت أن معظمها عبارة عن واجهات ويب لمنتجات معروفة لشركات عالمية كبيرة، والتي بكل مظاهرها تخبرك بأنها غير مرحب بها. يطلبون اسم مستخدم وكلمة مرور، أو يهزون الحقل لإدخال العامل الثاني، أو يطلبون شهادة عميل TLS، أو يرسلونها إلى Microsoft ADFS. بعضها لا يمكن الوصول إليه ببساطة من الإنترنت. بالنسبة للبعض، من الواضح أنك تحتاج إلى عميل خاص مدفوع الأجر مقابل ثلاثة رواتب أو معرفة عنوان URL الدقيق للدخول. دعونا نتجاوز أسبوعًا آخر من اليأس التدريجي في عملية محاولة "اختراق" إصدارات البرامج بحثًا عن نقاط الضعف المعروفة، والبحث عن المحتوى المخفي في مسارات الويب والحسابات المسربة من خدمات الطرف الثالث مثل LinkedIn، ومحاولة تخمين كلمات المرور باستخدامها أيضًا. مثل التنقيب عن نقاط الضعف في مواقع الويب المكتوبة ذاتيًا - بالمناسبة، وفقًا للإحصاءات، يعد هذا هو الناقل الواعد للهجوم الخارجي اليوم. سألاحظ على الفور مسدس الفيلم الذي أطلق النار لاحقًا.
لذلك، وجدنا موقعين متميزين من بين مئات الخدمات. تشترك هذه المواقع في شيء واحد مشترك: إذا لم تشارك في استطلاع دقيق للشبكة حسب المجال، ولكنك تبحث بشكل مباشر عن المنافذ المفتوحة أو تستهدف أداة فحص الثغرات الأمنية باستخدام نطاق IP معروف، فسوف تفلت هذه المواقع من الفحص ولن يتم فحصها ببساطة. مرئية دون معرفة اسم DNS. ربما تم تفويتها في وقت سابق، على الأقل، ولم تجد أدواتنا التلقائية أي مشاكل معها، حتى لو تم إرسالها مباشرة إلى المورد.
بالمناسبة، حول ما تم العثور عليه من قبل الماسحات الضوئية التي تم إطلاقها بشكل عام. اسمحوا لي أن أذكرك: بالنسبة لبعض الأشخاص، فإن كلمة "Pentest" تعادل "الفحص الآلي". لكن الماسحات الضوئية في هذا المشروع لم تقل شيئًا. حسنًا، تم عرض الحد الأقصى من خلال نقاط الضعف المتوسطة (3 من 5 من حيث الخطورة): في بعض الخدمات، توجد شهادة TLS سيئة أو خوارزميات تشفير قديمة، وفي معظم مواقع Clickjacking. لكن هذا لن يوصلك إلى هدفك. ربما تكون الماسحات الضوئية أكثر فائدة هنا، لكن اسمحوا لي أن أذكرك: العميل نفسه قادر على شراء مثل هذه البرامج واختبار نفسه بها، وبالحكم على النتائج الكئيبة، فقد قام بالفعل بفحصها.
لنعد إلى المواقع "الشاذة". الأول يشبه موقع Wiki المحلي على عنوان غير قياسي، ولكن في هذه المقالة فليكن wiki.company[.]ru. كما طلبت على الفور تسجيل الدخول وكلمة المرور، ولكن من خلال NTLM في المتصفح. بالنسبة للمستخدم، يبدو هذا كنافذة زاهية تطلب إدخال اسم المستخدم وكلمة المرور. وهذه ممارسة سيئة.
ملاحظة صغيرة. يعد NTLM في مواقع الويب المحيطة سيئًا لعدد من الأسباب. السبب الأول هو الكشف عن اسم مجال Active Directory. في مثالنا، اتضح أيضًا أنه Company.ru، تمامًا مثل اسم DNS "الخارجي". بمعرفة ذلك، يمكنك إعداد شيء ضار بعناية بحيث يتم تنفيذه فقط على جهاز المجال الخاص بالمؤسسة، وليس في بعض صناديق الحماية. ثانيًا، تمر المصادقة مباشرة من خلال وحدة تحكم المجال عبر NTLM (مفاجأة، أليس كذلك؟)، مع كافة ميزات سياسات الشبكة "الداخلية"، بما في ذلك منع الحسابات من تجاوز عدد محاولات إدخال كلمة المرور. إذا اكتشف أحد المهاجمين عمليات تسجيل الدخول، فسيحاول استخدام كلمات المرور الخاصة بها. إذا قمت بتكوين حظر الحسابات من إدخال كلمات مرور غير صحيحة، فسوف يعمل وسيتم حظر الحساب. ثالثاً، من المستحيل إضافة عامل ثانٍ إلى هذه المصادقة. إذا كان أي من القراء لا يزال يعرف كيف، يرجى إعلامي، إنه أمر مثير للاهتمام حقًا. رابعاً، التعرض لهجمات تمرير التجزئة. تم اختراع ADFS، من بين أمور أخرى، للحماية من كل هذا.
هناك خاصية واحدة سيئة لمنتجات Microsoft: حتى لو لم تقم بنشر NTLM على وجه التحديد، فسيتم تثبيته افتراضيًا في OWA وLync، على الأقل.
بالمناسبة، قام مؤلف هذا المقال بحظر ما يقرب من 1000 حساب لموظفي أحد البنوك الكبيرة عن طريق الخطأ في ساعة واحدة فقط باستخدام نفس الطريقة ثم بدا شاحبًا إلى حد ما. كانت خدمات تكنولوجيا المعلومات في البنك باهتة أيضًا، ولكن كل شيء انتهى بشكل جيد وكافٍ، حتى أننا تم الإشادة بكوننا أول من اكتشف هذه المشكلة وأثار حلًا سريعًا وحاسمًا.
أما الموقع الثاني فكان يحمل العنوان "من الواضح أنه نوع من الاسم الأخير.company.ru". وجدته من خلال جوجل، شيء من هذا القبيل في الصفحة 10. التصميم كان من أوائل منتصف عام XNUMX، وكان أحد الأشخاص المحترمين ينظر إليه من الصفحة الرئيسية، شيء من هذا القبيل:

لقد التقطت هنا لقطة من فيلم "قلب كلب"، لكن صدقني، كان مشابهًا بشكل غامض، حتى تصميم الألوان كان بدرجات متشابهة. السماح للموقع أن يسمى preobrazhensky.company.ru.
لقد كان موقعًا شخصيًا لطبيب مسالك بولية. تساءلت عما كان يفعله موقع ويب طبيب المسالك البولية على النطاق الفرعي لشركة التكنولوجيا الفائقة. أظهر البحث السريع في Google أن هذا الطبيب كان أحد مؤسسي أحد الكيانات القانونية لعملائنا، بل إنه ساهم بحوالي 1000 روبل في رأس المال المصرح به. ربما تم إنشاء الموقع منذ سنوات عديدة، وتم استخدام موارد الخادم الخاص بالعميل كاستضافة. لقد فقد الموقع أهميته منذ فترة طويلة، ولكن لسبب ما تركه يعمل لفترة طويلة.
ومن حيث نقاط الضعف، كان الموقع نفسه آمنًا. بالنظر إلى المستقبل، سأقول إنها كانت عبارة عن مجموعة من المعلومات الثابتة - صفحات HTML بسيطة مع الرسوم التوضيحية المدرجة في شكل الكلى والمثانة. من غير المجدي "كسر" مثل هذا الموقع.
لكن خادم الويب الذي يعمل تحته كان أكثر إثارة للاهتمام. بالنظر إلى رأس HTTP Server، كان يعمل بنظام IIS 6.0، مما يعني أنه كان قيد الاستخدام. Windows نظام التشغيل هو 2003. اكتشف الماسح الضوئي سابقًا أن موقع طبيب المسالك البولية هذا، على عكس المواقع الافتراضية الأخرى على نفس خادم الويب، يستجيب لأمر PROPFIND، مما يعني تفعيل WebDAV. وقد أبلغ الماسح الضوئي عن هذه المعلومة باستخدام علامة "معلومات" (وهي في مصطلحات تقارير الماسحات الضوئية تمثل أدنى مستوى من المخاطر) - عادةً ما يتم تجاهل مثل هذه الأمور. أدى هذا مجتمعًا إلى نتيجة مثيرة للاهتمام لم تُكتشف إلا بعد مزيد من البحث على جوجل: ثغرة أمنية نادرة تتمثل في تجاوز سعة المخزن المؤقت مرتبطة بمجموعة أدوات Shadow Brokers، وتحديدًا CVE-2017-7269، والتي كان لها بالفعل استغلال جاهز. بعبارة أخرى، إنها كارثة إذا... Windows يعمل نظام WebDAV في عام 2003 على خادم IIS. على الرغم من أنه يعمل في بيئة الإنتاج Windows إن ما حدث في عام 2003 في عام 2018 كارثة بحد ذاتها.
انتهى الأمر بالاستغلال في Metasploit وتم اختباره على الفور من خلال تحميل أرسل طلب DNS إلى خدمة خاضعة للرقابة - يُستخدم Burp Collaborator تقليديًا لالتقاط طلبات DNS. لدهشتي، نجح الأمر في المرة الأولى: تم تلقي ضربة قاضية لنظام DNS. بعد ذلك، كانت هناك محاولة لإنشاء اتصال خلفي عبر المنفذ 80 (أي اتصال شبكة من الخادم إلى المهاجم، مع إمكانية الوصول إلى cmd.exe على المضيف الضحية)، ولكن بعد ذلك حدث إخفاق تام. لم يتم الاتصال، وبعد المحاولة الثالثة لاستخدام الموقع، اختفت جميع الصور المثيرة للاهتمام إلى الأبد.
عادةً ما يتبع ذلك خطاب بأسلوب "أيها العميل، استيقظ، لقد أسقطنا كل شيء". ولكن قيل لنا أن الموقع لا علاقة له بالعمليات التجارية ويعمل هناك بدون سبب على الإطلاق، مثل الخادم بأكمله، وأنه يمكننا استخدام هذا المورد كما نشاء.
وبعد مرور يوم تقريبًا، بدأ الموقع فجأة في العمل من تلقاء نفسه. بعد إنشاء منصة من WebDAV على IIS 6.0، وجدت أن الإعداد الافتراضي هو إعادة تشغيل العمليات المنفذة لـ IIS كل 30 ساعة. وهذا يعني أنه عندما يخرج عنصر التحكم من كود القشرة، تنتهي العملية المنفذة لـ IIS، ثم تعيد تشغيل نفسها عدة مرات ثم تتوقف لمدة 30 ساعة.
نظرًا لفشل الاتصال الخلفي بـ TCP في المرة الأولى، فقد أرجعت هذه المشكلة إلى منفذ مغلق. أي أنه افترض وجود نوع من جدار الحماية الذي لا يسمح بمرور الاتصالات الصادرة إلى الخارج. لقد بدأت في تشغيل أكواد القشرة التي بحثت في العديد من منافذ tcp وudp، ولم يكن هناك أي تأثير. لم تنجح عمليات تحميل الاتصال العكسي عبر http(s) من Metasploit -meterpreter/reverse_http(s). وفجأة، تم إنشاء اتصال بنفس المنفذ 80، لكنه انقطع على الفور. لقد أرجعت ذلك إلى تصرفات IPS التي لا تزال وهمية، والتي لم تعجبها حركة مرور المترجم. في ضوء حقيقة أن اتصال TCP النقي بالمنفذ 80 لم يمر، ولكن تم تنفيذ اتصال http، فقد خلصت إلى أنه تم تكوين وكيل http بطريقة ما في النظام.
حتى أنني حاولت استخدام المترجم عبر DNS (شكرًا لجهودك، أنقذت العديد من المشاريع)، مستذكرًا النجاح الأول، لكنه لم ينجح حتى على المنصة - كان كود القشرة ضخمًا جدًا بالنسبة لهذه الثغرة الأمنية.
في الواقع، بدا الأمر كما يلي: 3-4 محاولات للهجوم خلال 5 دقائق، ثم الانتظار لمدة 30 ساعة. وهكذا لمدة ثلاثة أسابيع متتالية. حتى أنني قمت بتعيين تذكير حتى لا أضيع الوقت. بالإضافة إلى ذلك، كان هناك اختلاف في سلوك بيئات الاختبار والإنتاج: بالنسبة لهذه الثغرة الأمنية، كان هناك اثنتين من عمليات استغلال مماثلة، واحدة من Metasploit، والثانية من الإنترنت، تم تحويلها من إصدار Shadow Brokers. لذلك، تم اختبار Metasploit فقط في القتال، وتم اختبار الثاني فقط على مقاعد البدلاء، مما جعل تصحيح الأخطاء أكثر صعوبة وكان مرهقًا للعقل.
في النهاية، أثبت كود القشرة الذي قام بتنزيل ملف exe من خادم معين عبر http وتشغيله على النظام المستهدف فعاليته. كان كود القشرة صغيرًا بما يكفي ليناسبه، لكنه نجح على الأقل. نظرًا لأن الخادم لم يعجبه حركة مرور TCP على الإطلاق وتم فحص http(s) للتأكد من وجود المترجم، فقد قررت أن أسرع طريقة هي تنزيل ملف exe يحتوي على DNS-meterpreter من خلال كود القشرة هذا.
وهنا نشأت مشكلة مرة أخرى: عند تنزيل ملف exe، وكما أظهرت المحاولات، بغض النظر عن أي منهما، تمت مقاطعة التنزيل. مرة أخرى، لم يعجب جهاز الأمان بين الخادم الخاص بي وطبيب المسالك البولية حركة مرور http مع وجود ملف exe بداخله. يبدو أن الحل "السريع" هو تغيير كود القشرة بحيث يؤدي إلى تشويش حركة مرور http بسرعة، بحيث يتم نقل البيانات الثنائية المجردة بدلاً من exe. أخيرًا، كان الهجوم ناجحًا، وتم التحكم من خلال قناة DNS الرقيقة:

أصبح من الواضح على الفور أن لدي حقوق سير عمل IIS الأساسية، والتي تسمح لي بعدم القيام بأي شيء. هذا ما بدا عليه على وحدة التحكم Metasploit:

تشير جميع منهجيات pentest بقوة إلى أنك بحاجة إلى زيادة الحقوق عند الوصول. عادةً لا أفعل ذلك محليًا، نظرًا لأن الوصول الأول يُنظر إليه ببساطة على أنه نقطة دخول للشبكة، وعادةً ما يكون اختراق جهاز آخر على نفس الشبكة أسهل وأسرع من تصعيد الامتيازات على مضيف موجود. ولكن هذا ليس هو الحال هنا، لأن قناة DNS ضيقة جدًا ولن تسمح بتصفية حركة المرور.
بافتراض أن هذا الخادم Windows لم يتم تحديث نظام التشغيل Windows Server 2003 لمعالجة ثغرة MS17-010 الخطيرة. قمت بتوجيه حركة البيانات إلى المنفذ 445/TCP عبر نفق Meterpreter DNS إلى المضيف المحلي (نعم، هذا ممكن)، وحاولت تشغيل ملف تنفيذي (.exe) تم تنزيله مسبقًا عبر هذه الثغرة. نجحت العملية، وحصلت على اتصال ثانٍ، ولكن هذه المرة بصلاحيات النظام.

ومن المثير للاهتمام أنهم ما زالوا يحاولون حماية الخادم من MS17-010 - حيث تم تعطيل خدمات الشبكة الضعيفة على الواجهة الخارجية. وهذا يحمي من الهجمات عبر الشبكة، ولكن الهجوم من الداخل على المضيف المحلي نجح، حيث لا يمكنك إيقاف تشغيل SMB على المضيف المحلي بسرعة.
وبعد ذلك، يتم الكشف عن تفاصيل جديدة مثيرة للاهتمام:
- بامتلاك حقوق النظام، يمكنك بسهولة إنشاء اتصال خلفي عبر TCP. من الواضح أن تعطيل TCP المباشر يمثل مشكلة لمستخدم IIS المحدود. المفسد: تم تغليف حركة مرور مستخدم IIS بطريقة ما في وكيل ISA المحلي في كلا الاتجاهين. كيف يعمل بالضبط، وأنا لم تتكرر.
- أنا في منطقة "DMZ" معينة (وهذا ليس مجال Active Directory، ولكنه مجموعة عمل) - يبدو الأمر منطقيًا. ولكن بدلاً من عنوان IP الخاص ("الرمادي") المتوقع، لدي عنوان IP "أبيض" بالكامل، تمامًا مثل العنوان الذي هاجمته سابقًا. وهذا يعني أن الشركة قديمة جدًا في عالم عناوين IPv4 لدرجة أنها تستطيع الحفاظ على منطقة DMZ لـ 128 عنوانًا "أبيض" بدون NAT وفقًا للمخطط، كما هو موضح في أدلة Cisco من عام 2005.
نظرًا لأن الخادم قديم، فمن المؤكد أن Mimikatz يعمل مباشرة من الذاكرة:

حصلتُ على كلمة مرور المسؤول المحلي، وقمتُ بتوجيه حركة مرور RDP عبر TCP، وسجلتُ الدخول إلى سطح مكتب مريح. ولأنني كنتُ أستطيع فعل أي شيء على الخادم، قمتُ بإزالة برنامج مكافحة الفيروسات، واكتشفتُ أن الخادم لا يُمكن الوصول إليه من الإنترنت إلا عبر منفذي TCP 80 و443، وكان المنفذ 443 غير مُستخدم. قمتُ بتفعيل المنفذ 443 على الخادم. OpenVPNأقوم بإضافة وظائف NAT لحركة مرور VPN الخاصة بي، وأحصل على وصول مباشر وغير محدود إلى شبكة DMZ من خلالي. OpenVPNتجدر الإشارة إلى أن برنامج ISA، على الرغم من احتوائه على بعض ميزات نظام منع الاختراق (IPS) التي لا يمكن تعطيلها، قام بحظر حركة مرور فحص المنافذ الخاصة بي، مما اضطرني إلى استبداله ببرنامج RRAS الأبسط والأكثر توافقًا مع المعايير. لذا، لا يزال على مختبري الاختراق إدارة الأمور أحيانًا.

سوف يسأل القارئ اليقظ: "وماذا عن الموقع الثاني - ويكي مع مصادقة NTLM، والذي كتب عنه الكثير؟" المزيد عن هذا لاحقا.
الجزء 2. هل مازلت لا تقوم بالتشفير؟ ثم نحن نأتي إليك بالفعل هنا
لذلك، هناك إمكانية الوصول إلى قطاع شبكة DMZ. أنت بحاجة للذهاب إلى مسؤول المجال. أول ما يتبادر إلى الذهن هو التحقق تلقائيًا من أمان الخدمات داخل قطاع المنطقة المجردة من السلاح، خاصة وأن العديد منها مفتوح الآن للبحث. صورة نموذجية أثناء اختبار الاختراق: المحيط الخارجي محمي بشكل أفضل من الخدمات الداخلية، وعند الوصول إلى أي وصول داخل بنية تحتية كبيرة، يكون من الأسهل بكثير الحصول على حقوق موسعة في مجال ما فقط نظرًا لحقيقة أن هذا المجال يبدأ في التواجد يمكن الوصول إليها من خلال الأدوات، وثانيًا، في البنية التحتية التي تحتوي على عدة آلاف من المضيفين، سيكون هناك دائمًا بعض المشاكل الحرجة.
أقوم بشحن الماسحات الضوئية عبر منطقة DMZ OpenVPNالنفق، أنا أنتظر. أفتح التقرير - مرة أخرى، لا شيء خطير؛ يبدو أن شخصًا آخر قد فعل الشيء نفسه من قبل. الخطوة التالية هي التحقق من كيفية تواصل الأجهزة داخل شبكة DMZ. للقيام بذلك، أقوم أولاً بتشغيل Wireshark والاستماع إلى طلبات البث، وخاصة ARP. تم جمع حزم ARP لمدة يوم كامل. اتضح أنه يتم استخدام بوابات متعددة في هذا الجزء. سيكون هذا مفيدًا لاحقًا. من خلال دمج بيانات طلب واستجابة ARP مع بيانات مسح المنافذ، وجدت نقاط خروج لحركة مرور المستخدم من داخل الشبكة المحلية، بالإضافة إلى الخدمات المعروفة سابقًا، مثل الويب والبريد.
نظرًا لأنه في الوقت الحالي لم يكن لدي أي إمكانية الوصول إلى الأنظمة الأخرى ولم يكن لدي حساب واحد لخدمات الشركة، فقد تقرر اصطياد بعض الحسابات على الأقل من حركة المرور باستخدام ARP Spoofing.
تم إطلاق لعبة Cain&Abel على خادم طبيب المسالك البولية. مع الأخذ بعين الاعتبار تدفقات حركة المرور التي تم تحديدها، تم اختيار الأزواج الواعدة لهجوم الوسيط، ومن ثم تم استقبال بعض حركة مرور الشبكة عن طريق إطلاق قصير المدى لمدة 5-10 دقائق، مع مؤقت لإعادة تشغيل الخادم في حالة التجميد. وكما في النكتة، كان هناك خبران:
- جيد: تم القبض على الكثير من أوراق الاعتماد ونجح الهجوم ككل.
- السيئ: جميع بيانات الاعتماد كانت من عملاء العميل. أثناء تقديم خدمات الدعم، كان متخصصو العملاء يتصلون بخدمات العملاء الذين لم يتم تكوين تشفير حركة المرور لديهم دائمًا.
نتيجةً لذلك، حصلتُ على عددٍ كبيرٍ من بيانات الاعتماد التي لم تكن ذات فائدةٍ في سياق المشروع، ولكنها كانت مثيرةً للاهتمام بالتأكيد كدليلٍ على مخاطر الهجوم. أجهزة توجيه الحدود الخاصة بالشركات الكبيرة المزودة ببروتوكول Telnet، ومنافذ HTTP المُعاد توجيهها لتصحيح الأخطاء إلى أنظمة إدارة علاقات العملاء الداخلية مع جميع البيانات، والوصول المباشر عبر بروتوكول سطح المكتب البعيد (RDP) من Windows نظام XP على شبكة محلية وأمور أخرى غامضة. اتضح أن الأمر كان على هذا النحو. .
لقد وجدت أيضًا فرصة ممتعة لجمع الرسائل من حركة المرور، شيء من هذا القبيل. هذا مثال على رسالة جاهزة تم إرسالها من عميلنا إلى منفذ SMTP الخاص بعميله، مرة أخرى، بدون تشفير. يطلب أندريه معينًا من اسمه إعادة إرسال الوثائق، ويتم تحميلها على قرص سحابي مع تسجيل الدخول وكلمة المرور والرابط في خطاب استجابة واحد:

هذا تذكير آخر لتشفير جميع الخدمات. من غير المعروف من ومتى سيقرأ بياناتك ويستخدمها على وجه التحديد - الموفر، أو مسؤول النظام في شركة أخرى، أو مثل هذا المخترق. أنا صامت بشأن حقيقة أن العديد من الأشخاص يمكنهم ببساطة اعتراض حركة المرور غير المشفرة.
وعلى الرغم من النجاح الواضح، إلا أن ذلك لم يقربنا من الهدف. كان من الممكن، بالطبع، الجلوس لفترة طويلة واصطياد معلومات قيمة، لكنها ليست حقيقة أنها ستظهر هناك، والهجوم نفسه محفوف بالمخاطر للغاية من حيث سلامة الشبكة.
بعد البحث مرة أخرى في الخدمات، خطرت في ذهني فكرة مثيرة للاهتمام. توجد أداة مساعدة تسمى Responder (من السهل العثور على أمثلة للاستخدام بهذا الاسم)، والتي، من خلال "تسميم" طلبات البث، تستحث الاتصالات عبر مجموعة متنوعة من البروتوكولات مثل SMB وHTTP وLDAP وما إلى ذلك. بطرق مختلفة، ثم يطلب من كل شخص متصل المصادقة وإعدادها بحيث تتم المصادقة عبر NTLM وفي وضع شفاف للضحية. في أغلب الأحيان، يقوم المهاجم بجمع مصافحات NetNTLMv2 بهذه الطريقة ومن خلالها، باستخدام القاموس، يستعيد كلمات مرور مجال المستخدم بسرعة. هنا أردت شيئًا مشابهًا، لكن المستخدمين جلسوا "خلف جدار"، أو بالأحرى، تم فصلهم بواسطة جدار حماية، ويمكنهم الوصول إلى الويب من خلال مجموعة وكيل Blue Coat.
أتذكر كيف حددت أن اسم نطاق Active Directory هو نفسه اسم النطاق "الخارجي"، أي company.ru؟ حسنًا، Windowsأو بتعبير أدق، يسمح متصفح إنترنت إكسبلورر (بنسختيه إيدج وكروم) للمستخدمين بالمصادقة تلقائيًا على بروتوكول HTTP عبر NTLM إذا اعتقدوا أن الموقع موجود في "منطقة إنترانت". ومن علامات "الإنترانت" الوصول إليه عبر عنوان IP "رمادي" أو اسم DNS قصير، أي بدون نقاط. ولأن الخادم كان لديه عنوان IP "أبيض" واسم DNS preobrazhensky.company.ru، ولأن أجهزة النطاق عادةً ما تتلقى لاحقة نطاق Active Directory عبر DHCP لتسهيل إدخال الاسم، فقد كان عليهم فقط كتابة عنوان URL في شريط العناوين. ، حتى يتمكنوا من العثور على الطريق الصحيح إلى خادم طبيب المسالك البولية المخترق، دون أن ننسى أن هذا يسمى الآن "الإنترانت". وهذا يعني، في نفس الوقت، إعطائي مصافحة NTLM للمستخدم دون علمه. كل ما تبقى هو إجبار متصفحات العميل على التفكير في الحاجة الملحة للاتصال بهذا الخادم.
جاءت الأداة المساعدة Intercepter-NG الرائعة للإنقاذ (شكرًا سمح ذلك بتغيير حركة المرور بشكل فوري وعمل بشكل مثالي على Windows في عام 2003، كانت هناك ميزة منفصلة لتعديل ملفات جافا سكريبت فقط في تدفق البيانات. وكان من المخطط تنفيذ نوع من هجمات البرمجة النصية عبر المواقع على نطاق واسع.
يقوم بروكسي Blue Coat، الذي من خلاله يصل المستخدمون إلى شبكة الويب العالمية، بتخزين محتوى ثابت مؤقتًا بشكل دوري. من خلال اعتراض حركة المرور، كان من الواضح أنهم كانوا يعملون على مدار الساعة، ويطلبون ما لا نهاية من البيانات الثابتة المستخدمة بشكل متكرر لتسريع عرض المحتوى خلال ساعات الذروة. بالإضافة إلى ذلك، كان لدى BlueCoat وكيل مستخدم محدد، والذي يميزه بوضوح عن المستخدم الحقيقي.
تم إعداد Javascript، والذي تم تنفيذه باستخدام Intercepter-NG لمدة ساعة ليلاً لكل استجابة باستخدام ملفات JS لـ Blue Coat. قام البرنامج النصي بما يلي:
- تم تحديد المتصفح الحالي بواسطة وكيل المستخدم. إذا كان Internet Explorer أو Edge أو Chrome، فسيستمر في العمل.
- انتظرت حتى يتم تشكيل DOM للصفحة.
- تم إدراج صورة غير مرئية في DOM باستخدام سمة src للنموذج :8080/NNNNNNNN.png، حيث NNN عبارة عن أرقام عشوائية بحيث لا يقوم BlueCoat بتخزينها مؤقتًا.
- قم بتعيين متغير العلم العام للإشارة إلى أن عملية الحقن قد اكتملت وليس هناك حاجة لإدراج الصور بعد الآن.
حاول المتصفح تحميل هذه الصورة؛ على المنفذ 8080 للخادم المخترق، كان نفق TCP ينتظرها على الكمبيوتر المحمول الخاص بي، حيث كان المستجيب نفسه قيد التشغيل، مما يتطلب من المتصفح تسجيل الدخول عبر NTLM.

بناءً على سجلات المستجيبين، جاء الأشخاص إلى العمل في الصباح، وقاموا بتشغيل محطات العمل الخاصة بهم، ثم بدأوا بشكل جماعي ودون أن يلاحظهم أحد في زيارة خادم طبيب المسالك البولية، دون أن ينسوا "استنزاف" مصافحات NTLM. لقد هطلت المصافحات طوال اليوم وتراكمت بشكل واضح مواد لهجوم ناجح لاستعادة كلمات المرور. هذا ما تبدو عليه سجلات المستجيبين:
زيارات سرية جماعية لخادم المسالك البولية من قبل المستخدمين
ربما لاحظت بالفعل أن هذه القصة بأكملها مبنية على مبدأ "كل شيء على ما يرام، ولكن بعد ذلك كانت هناك مشكلة، ثم كان هناك التغلب، ثم جاء كل شيء إلى النجاح". لذلك، كان هناك مشكلة هنا. من بين الخمسين مصافحة الفريدة، لم يتم الكشف عن واحدة منها. وهذا يأخذ في الاعتبار حقيقة أنه حتى على جهاز كمبيوتر محمول به معالج ميت، تتم معالجة مصافحات NTLMv2 هذه بسرعة عدة مئات الملايين من المحاولات في الثانية.
اضطررت إلى تسليح نفسي بتقنيات تغيير كلمة المرور وبطاقة الفيديو وقاموس أكثر سمكًا والانتظار. وبعد فترة طويلة، تم الكشف عن العديد من الحسابات التي تحتوي على كلمات مرور على شكل "Q11111111....1111111q"، مما يشير إلى أن جميع المستخدمين اضطروا ذات مرة إلى ابتكار كلمة مرور طويلة جدًا بأحرف مختلفة، وهو ما كان من المفترض أيضًا تكون معقدة. لكن لا يمكنك خداع مستخدم متمرس، وهكذا جعل الأمر أسهل على نفسه أن يتذكر. في المجمل، تم اختراق حوالي 5 حسابات، وكان لدى واحد منهم فقط أي حقوق قيمة للخدمات.
الجزء 3. رد روسكومنادزور
لذلك، تم استلام حسابات المجال الأول. إذا لم تكن قد غفوت عند هذه النقطة بعد قراءة طويلة، فمن المحتمل أن تتذكر أنني ذكرت خدمة لا تتطلب عاملًا ثانيًا للمصادقة: إنها wiki مع مصادقة NTLM. وبطبيعة الحال، أول شيء فعله هو الدخول هناك. أدى البحث في قاعدة المعرفة الداخلية إلى نتائج سريعة:
- تمتلك الشركة شبكة WiFi مع مصادقة باستخدام حسابات المجال مع إمكانية الوصول إلى الشبكة المحلية. مع مجموعة البيانات الحالية، يعد هذا بالفعل ناقل هجوم فعال، ولكن عليك الذهاب إلى المكتب بأقدامك والتواجد في مكان ما على أراضي مكتب العميل.
- لقد وجدت تعليمات تفيد بوجود خدمة تسمح... بالتسجيل بشكل مستقل لجهاز مصادقة "العامل الثاني" إذا كان المستخدم داخل شبكة محلية ويتذكر بثقة تسجيل دخول المجال وكلمة المرور الخاصة به. في هذه الحالة، تم تحديد "الداخل" و"الخارج" من خلال إمكانية وصول المستخدم إلى منفذ هذه الخدمة. لم يكن من الممكن الوصول إلى المنفذ من خلال الإنترنت، ولكن كان من الممكن الوصول إليه تمامًا من خلال المنطقة المجردة من السلاح.
وبطبيعة الحال، تمت إضافة "العامل الثاني" على الفور إلى الحساب المخترق في شكل تطبيق على هاتفي. كان هناك برنامج يمكنه إما إرسال طلب دفع إلى الهاتف بصوت عالٍ باستخدام أزرار "الموافقة"/"الرفض" للإجراء، أو إظهار رمز OTP بصمت على الشاشة لمزيد من الإدخال المستقل. علاوة على ذلك، فإن الطريقة الأولى كان من المفترض حسب التعليمات أنها الطريقة الصحيحة الوحيدة، لكنها لم تنجح، على عكس طريقة OTP.
مع كسر "العامل الثاني"، تمكنت من الوصول إلى بريد Outlook Web Access والوصول عن بعد في بوابة Citrix Netscaler. كانت هناك مفاجأة في البريد في Outlook:

في هذه اللقطة النادرة يمكنك أن ترى كيف يساعد Roskomnadzor المخترقين
كانت هذه هي الأشهر الأولى بعد حظر "المعجبين" الشهير لـ Telegram، عندما اختفت الشبكات بأكملها التي تحتوي على آلاف العناوين من الوصول بشكل لا يرحم. أصبح من الواضح لماذا لم تنجح عملية الدفع على الفور ولماذا لم تدق "ضحيتي" ناقوس الخطر لأنهم بدأوا في استخدام حسابها خلال ساعات العمل.
يتخيل أي شخص مطلع على Citrix Netscaler أنه يتم تنفيذه عادةً بطريقة لا يمكن من خلالها نقل سوى واجهة الصورة إلى المستخدم، مع محاولة عدم منحه الأدوات اللازمة لتشغيل تطبيقات الطرف الثالث ونقل البيانات، مما يحد من الإجراءات بكل الطرق الممكنة من خلال قذائف التحكم القياسية. "ضحيتي" بسبب مهنته حصلت على 1C فقط:

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

تم تنفيذ المعالجة بشكل مثالي، وتبين أنها ما يسميه المخترقون "الصدفة" - حيث تم إطلاق برنامج Internet Explorer من خلالها.

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

هناك حديث على الإنترنت عن أنه لا يزال هناك تقديم طعام مجاني لذيذ في مكتب العميل، لكنني ما زلت أفضل تطوير الهجوم عن بعد، فهو أكثر هدوءًا.
تم تنشيط AppLocker على خادم التطبيقات الذي يقوم بتشغيل Citrix، ولكن تم تجاوزه. تم تحميل نفس جهاز Meterpreter وتشغيله عبر DNS، نظرًا لأن إصدارات http(s) لا ترغب في الاتصال، ولم أكن أعرف عنوان الوكيل الداخلي في ذلك الوقت. بالمناسبة، من هذه اللحظة فصاعدا، تحول Pentest الخارجي بشكل أساسي إلى داخلي.
الجزء 4. حقوق الإدارة للمستخدمين سيئة، حسنًا؟
المهمة الأولى للخبير عند التحكم في جلسة مستخدم المجال هي جمع كافة المعلومات حول الحقوق في المجال. توجد أداة مساعدة BloodHound تتيح لك تلقائيًا تنزيل معلومات حول المستخدمين وأجهزة الكمبيوتر ومجموعات الأمان عبر بروتوكول LDAP من وحدة تحكم المجال، وعبر SMB - معلومات حول المستخدم الذي قام بتسجيل الدخول مؤخرًا ومن هو المسؤول المحلي.
تبدو التقنية النموذجية للاستيلاء على حقوق مسؤول المجال مبسطة كدورة من الإجراءات الرتيبة:
- نذهب إلى أجهزة كمبيوتر المجال حيث توجد حقوق المسؤول المحلي، بناء على حسابات المجال التي تم التقاطها بالفعل.
- نقوم بتشغيل Mimikatz ونحصل على كلمات المرور المخزنة مؤقتًا، وتذاكر Kerberos، وتجزئات NTLM لحسابات النطاق التي سجلت الدخول مؤخرًا إلى هذا النظام. بدلاً من ذلك، نأخذ صورة ذاكرة لعملية lsass.exe ونقوم بنفس الشيء من جانبنا. يعمل هذا بشكل جيد مع Windows أصغر من 2012R2/Windows 8.1 مع الإعدادات الافتراضية.
- نحن نحدد أين تتمتع الحسابات المخترقة بحقوق المسؤول المحلي. نكرر النقطة الأولى. في مرحلة ما، نحصل على حقوق المسؤول للنطاق بأكمله.
"نهاية الدورة؛" كما سيكتب مبرمجو 1C هنا.
وهكذا، اتضح أن المستخدم لدينا هو مسؤول محلي على مضيف واحد فقط مع Windows 7، الذي يحمل اسم "VDI" أو "البنية التحتية لسطح المكتب الافتراضي" - أي الأجهزة الافتراضية الشخصية. ربما قصد مصمم خدمة VDI أنه بما أن VDI هو نظام التشغيل الشخصي للمستخدم، فبإمكانه تغيير بيئة البرامج كما يشاء، طالما كان بالإمكان "إعادة تحميل" المضيف. وقد رأيتُ أيضًا أنها فكرة جيدة عمومًا، لذا قمتُ بتسجيل الدخول إلى مضيف VDI الشخصي هذا وأنشأتُ بيئتي الخاصة هناك.
- قمت بتثبيته هناك OpenVPN- عميل أنشأ نفقًا عبر الإنترنت إلى خادمي. كان على العميل المرور بنفس عملية مصادقة نطاق Blue Coat، ولكن OpenVPN لقد نجحت في ذلك، كما يقولون، "بطريقة غير تقليدية".
- قمت بتثبيت OpenSSH على VDI. بصراحة، ما هذا بحق الجحيم؟ Windows 7 بدون SSH؟
وهذا ما بدا وكأنه حي. اسمحوا لي أن أذكرك أن كل هذا يجب أن يتم من خلال Citrix و1C:

تتمثل إحدى تقنيات تعزيز الوصول إلى أجهزة الكمبيوتر المجاورة في التحقق من كلمات مرور المسؤول المحلي للتأكد من تطابقها. هنا كان الحظ ينتظر على الفور: تم الوصول إلى تجزئة NTLM الخاصة بالمسؤول المحلي الافتراضي (الذي أصبح فجأة يُطلق عليه اسم المسؤول) من خلال هجوم تمرير التجزئة إلى مضيفي VDI المجاورين، والذين كان عددهم عدة مئات. وبطبيعة الحال، أصابهم الهجوم على الفور.
هذا هو المكان الذي أطلق فيه مسؤولو VDI النار على أقدامهم مرتين:
- المرة الأولى كانت عندما لم يتم إدراج أجهزة VDI تحت LAPS، مع الاحتفاظ بشكل أساسي بنفس كلمة مرور المسؤول المحلي من الصورة التي تم نشرها على نطاق واسع إلى VDI.
- المسؤول الافتراضي هو الحساب المحلي الوحيد المعرض لهجمات تمرير التجزئة. حتى باستخدام كلمة المرور نفسها، سيكون من الممكن تجنب التسوية الجماعية عن طريق إنشاء حساب مسؤول محلي ثانٍ بكلمة مرور عشوائية معقدة وحظر الكلمة الافتراضية.
لماذا توجد خدمة SSH على ذلك الجهاز؟ Windowsالأمر بسيط للغاية: لم يقتصر دور خادم OpenSSH على توفير واجهة أوامر تفاعلية سهلة الاستخدام دون تعطيل عمل المستخدم، بل وفّر أيضًا وكيل Socks5 على بيئة سطح المكتب الافتراضي (VDI). من خلال هذا الوكيل، اتصلتُ عبر بروتوكول SMB وجمعتُ بيانات الاعتماد المخزنة مؤقتًا من مئات أجهزة VDI، ثم بحثتُ في مخططات BloodHound عن مسار مسؤول النطاق. وبفضل مئات الأجهزة المتاحة، عثرتُ على هذا المسار بسرعة كبيرة، وحصلتُ على صلاحيات مسؤول النطاق.
إليكم صورة من الإنترنت تظهر بحثًا مشابهًا. تُظهر الاتصالات من هو المسؤول ومن قام بتسجيل الدخول وأين.

بالمناسبة، تذكر الشرط منذ بداية المشروع - "لا تستخدم الهندسة الاجتماعية". لذلك، أقترح التفكير في مقدار ما سيتم قطعه كل هذا بوليوود مع المؤثرات الخاصة، إذا كان لا يزال من الممكن استخدام التصيد العادي. لكن شخصياً، كان من المثير للاهتمام بالنسبة لي أن أفعل كل هذا. أتمنى أن تستمتع بقراءة هذا. بالطبع، لا يبدو كل مشروع مثيرًا للاهتمام، لكن العمل ككل يمثل تحديًا كبيرًا ولا يسمح له بالركود.
قد يتساءل البعض: كيف يمكنني حماية نفسي؟ حتى هذه المقالة تصف العديد من التقنيات، والتي يغطيها المسؤولون. Windows إنهم لا يعلمون ذلك حتى. ومع ذلك، أقترح النظر إليهم من منظور المبادئ والتدابير الراسخة لأمن المعلومات:
- لا تستخدم برامج قديمة (تذكر) Windows (2003 في البداية؟)
- لا تبقي الأنظمة غير الضرورية قيد التشغيل (لماذا كان هناك موقع ويب لطبيب المسالك البولية؟)
- تحقق من كلمات مرور المستخدم للتأكد من قوتها بنفسك (وإلا فإن الجنود... سوف يقوم المخترقون بذلك)
- ليس لديك نفس كلمات المرور لحسابات مختلفة (تسوية VDI)
- وغيرها
وبطبيعة الحال، من الصعب للغاية تنفيذ ذلك، ولكن في المقالة التالية سوف نبين في الممارسة العملية أنه من الممكن تماما.
المصدر: www.habr.com
