اختراق كلمة المرور المخفية مع Smbexec

اختراق كلمة المرور المخفية مع Smbexec

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

ومن ناحية أخرى، لا أريد شيطنة الموظفين لأنه لا أحد يريد العمل في بيئة أعمال مباشرة من رواية أورويل 1984. لحسن الحظ، هناك عدد من الخطوات العملية والحيل الحياتية التي يمكن أن تجعل الحياة أكثر صعوبة بالنسبة للأشخاص المطلعين. سوف ننظر أساليب الهجوم السرية، يستخدمها المتسللون من قبل الموظفين ذوي الخلفية التقنية. وسنناقش بعد ذلك بقليل خيارات الحد من هذه المخاطر - وسندرس الخيارات الفنية والتنظيمية.

ما هو الخطأ في PsExec؟

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

وبدلاً من ذلك، استخدم سنودن القليل من الهندسة الاجتماعية واستخدم منصبه كمسؤول النظام لجمع كلمات المرور وإنشاء بيانات الاعتماد. لا شيء معقد - لا شيء ميميكاتزالهجمات رجل في-متوسطي أو metasploit.

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

بسكسيك وابن عمه com.crackmapexec لقد أثارت إعجاب عدد لا يحصى من المخترقين والمتسللين والمدونين في مجال الأمن السيبراني. وعند دمجه مع mimikatz، يسمح psexec للمهاجمين بالتحرك داخل الشبكة دون الحاجة إلى معرفة كلمة مرور النص الواضح.

يعترض Mimikatz تجزئة NTLM من عملية LSASS ثم يقوم بتمرير الرمز المميز أو بيانات الاعتماد - ما يسمى. هجوم "تمرير التجزئة". – في psexec، السماح للمهاجم بتسجيل الدخول إلى خادم آخر باسم آخر مستخدم. ومع كل انتقال لاحق إلى خادم جديد، يقوم المهاجم بجمع بيانات اعتماد إضافية، وتوسيع نطاق قدراته في البحث عن المحتوى المتاح.

عندما بدأت العمل مع psexec لأول مرة، بدا الأمر سحريًا بالنسبة لي - شكرًا لك مارك روسينوفيتش، المطور الرائع لـ psexec - لكني أعرف عنه أيضًا مزعج عناصر. فهو ليس سريا أبدا!

الحقيقة الأولى المثيرة للاهتمام حول psexec هي أنه يستخدم معقدة للغاية بروتوكول ملف شبكة SMB من مايكروسوفت. باستخدام SMB، ينقل psexec صغيرًا ثنائي الملفات إلى النظام الهدف، ووضعها في المجلد C:Windows.

بعد ذلك، يقوم psexec بإنشاء خدمة Windows باستخدام الملف الثنائي المنسوخ وتشغيله تحت الاسم "غير المتوقع" للغاية PSEXECSVC. وفي الوقت نفسه، يمكنك رؤية كل هذا، كما فعلت أنا، من خلال مشاهدة جهاز بعيد (انظر أدناه).

اختراق كلمة المرور المخفية مع Smbexec

بطاقة اتصال Psexec: خدمة "PSEXECSVC". يقوم بتشغيل ملف ثنائي تم وضعه عبر SMB في المجلد C:Windows.

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

الكثير من المكونات وعملية صاخبة للغاية!

تشرح الأجزاء الداخلية المعقدة لـ psexec الرسالة التي حيرتني أثناء اختباراتي الأولى منذ عدة سنوات: "بدء تشغيل PSEXECSVC..." متبوعة بتوقف مؤقت قبل ظهور موجه الأوامر.

اختراق كلمة المرور المخفية مع Smbexec

يُظهر Psexec من Impacket في الواقع ما يحدث تحت الغطاء.

ليس من المستغرب أن تقوم psexec بقدر كبير من العمل تحت الغطاء. إذا كنت مهتمًا بشرح أكثر تفصيلاً، فراجع هنا بهذا وصف رائع.

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

وبعد ذلك يأتي سمبيكسيك

تعد SMB طريقة ذكية وسرية لنقل الملفات بين الخوادم، وقد ظل المتسللون يتسللون إلى SMB مباشرة لعدة قرون. أعتقد أن الجميع يعلم بالفعل أن الأمر لا يستحق ذلك فتح منافذ SMB 445 و139 إلى الإنترنت، أليس كذلك؟

في ديفكون 2013، إريك ميلمان (brav0hax) قدم com.smbexec، حتى يتمكن المخترقون من تجربة القرصنة الخفية للشركات الصغيرة والمتوسطة. لا أعرف القصة بأكملها، ولكن بعد ذلك قام Impacket بتحسين smbexec بشكل أكبر. في الواقع، من أجل الاختبار، قمت بتنزيل البرامج النصية من Impacket في Python من جيثب.

على عكس psexec، smbexec يتجنب نقل ملف ثنائي يحتمل اكتشافه إلى الجهاز المستهدف. وبدلاً من ذلك، فإن المنفعة تعيش بالكامل من المراعي حتى الإطلاق محلي سطر أوامر ويندوز.

وإليك ما يفعله: فهو يمرر أمرًا من الجهاز المهاجم عبر SMB إلى ملف إدخال خاص، ثم يقوم بإنشاء وتشغيل سطر أوامر معقد (مثل خدمة Windows) سيبدو مألوفًا لمستخدمي Linux. باختصار: يقوم بتشغيل Windows cmd shell الأصلي، ويعيد توجيه الإخراج إلى ملف آخر، ثم يرسله عبر SMB مرة أخرى إلى جهاز المهاجم.

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

اختراق كلمة المرور المخفية مع Smbexec

أليست هذه هي الطريقة الأفضل لإعادة توجيه الإدخال/الإخراج؟ بالمناسبة، إنشاء الخدمة له معرف الحدث 7045.

مثل psexec، يقوم أيضًا بإنشاء خدمة تقوم بكل العمل، ولكن الخدمة بعد ذلك إزالة - يستخدم مرة واحدة فقط لتشغيل الأمر ثم يختفي! لن يتمكن ضابط أمن المعلومات الذي يراقب جهاز الضحية من اكتشاف ذلك بديهي مؤشرات الهجوم: لم يتم إطلاق أي ملف ضار، ولم يتم تثبيت أي خدمة مستمرة، ولا يوجد دليل على استخدام RPC نظرًا لأن SMB هي الوسيلة الوحيدة لنقل البيانات. باهِر!

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

اختراق كلمة المرور المخفية مع Smbexec

لإخراج البيانات مرة أخرى من الجهاز المستهدف إلى جهاز المهاجم، يتم استخدامها عميل صغير. نعم، إنه نفس السامبا فائدة، ولكن تم تحويله إلى برنامج نصي Python فقط بواسطة Impacket. في الواقع، يسمح لك smbclient باستضافة عمليات نقل FTP عبر الشركات الصغيرة والمتوسطة بشكل سري.

دعونا نرجع خطوة إلى الوراء ونفكر فيما يمكن أن يفعله هذا للموظف. في السيناريو الوهمي الخاص بي، لنفترض أنه يُسمح لمدون أو محلل مالي أو مستشار أمني مدفوع الأجر باستخدام جهاز كمبيوتر محمول شخصي للعمل. ونتيجة لبعض العمليات السحرية، فإنها تشعر بالإهانة من الشركة و"تسير الأمور بشكل سيء". اعتمادًا على نظام تشغيل الكمبيوتر المحمول، فإنه إما يستخدم إصدار Python من Impact، أو إصدار Windows من smbexec أو smbclient كملف exe.

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

اختراق DCC: لسنا بحاجة إلى أي ميميكاتز "غبي".

في مشاركاتي السابقة عن pentesting، كنت أستخدم mimikatz كثيرًا. هذه أداة رائعة لاعتراض بيانات الاعتماد - تجزئات NTLM وحتى كلمات مرور النص الواضح المخفية داخل أجهزة الكمبيوتر المحمولة، في انتظار استخدامها.
لقد تغير الزمن. أصبحت أدوات المراقبة أفضل في اكتشاف وحظر mimikatz. يتوفر الآن أيضًا لمسؤولي أمن المعلومات المزيد من الخيارات لتقليل المخاطر المرتبطة بهجمات تمرير التجزئة (PtH).
إذن ما الذي يجب على الموظف الذكي فعله لجمع بيانات اعتماد إضافية دون استخدام mimikatz؟

تشتمل مجموعة Impacket على أداة مساعدة تسمى Secretdump، الذي يسترد بيانات الاعتماد من ذاكرة التخزين المؤقت لبيانات اعتماد المجال، أو DCC للاختصار. ما أفهمه هو أنه إذا قام مستخدم المجال بتسجيل الدخول إلى الخادم ولكن وحدة تحكم المجال غير متوفرة، فإن DCC يسمح للخادم بمصادقة المستخدم. على أية حال، فإن Secretsdump يسمح لك بتفريغ كل هذه التجزئات إذا كانت متوفرة.

تجزئات DCC هي وليس تجزئات NTML وعلى لا يمكن استخدامه لهجوم PtH.

حسنًا، يمكنك محاولة اختراقهم للحصول على كلمة المرور الأصلية. ومع ذلك، أصبحت Microsoft أكثر ذكاءً مع DCC، وأصبح من الصعب للغاية اختراق تجزئات DCC. نعم لدي hashcat، "أسرع أداة لتخمين كلمات المرور في العالم"، ولكنها تتطلب وحدة معالجة رسومات (GPU) لتعمل بفعالية.

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

وهذا هو السيناريو الذي قررت أن أتبعه. لنفترض أن أحد المطلعين على بواطن الأمور علم أن رئيسه، كرويلا، قد تعرض للاختراق عدة مرات على موارد ويب مختلفة. بعد تحليل العديد من كلمات المرور هذه، أدرك أن Cruella تفضل استخدام تنسيق اسم فريق البيسبول "Yankees" متبوعًا بالعام الحالي - "Yankees2015".

إذا كنت تحاول الآن إعادة إنتاج هذا في المنزل، فيمكنك تنزيل حرف "C" صغير رمز، الذي ينفذ خوارزمية التجزئة DCC، ويجمعها. جون الخارقبالمناسبة، تمت إضافة دعم لـ DCC، لذلك يمكن استخدامه أيضًا. لنفترض أن أحد المطلعين على بواطن الأمور لا يريد أن يكلف نفسه عناء تعلم John the Ripper ويحب تشغيل "gcc" على كود C القديم.

تظاهرت بدور أحد المطلعين، وجربت عدة مجموعات مختلفة وتمكنت في النهاية من اكتشاف أن كلمة مرور Cruella كانت "Yankees2019" (انظر أدناه). مهمة مكتملة!

اختراق كلمة المرور المخفية مع Smbexec

القليل من الهندسة الاجتماعية، وقليل من الكهانة، وقليل من Maltego، وستكون في طريقك لكسر تجزئة DCC.

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

المصدر: www.habr.com

إضافة تعليق