
خدمة ويندوز تُنشئ جلسات SMB وهمية لمحاكاة عمليات تسجيل دخول مستخدمين ذوي صلاحيات عالية، مما يجذب المهاجمين إلى أجهزة honeypot للكشف المبكر والاستجابة للحوادث.
________ _________ _____ _ _____ __
/ ___| \/ || ___ \ / ___| (_) / ___| / _|
\ `--.| . . || |_/ / \ `--. ___ ___ ___ _ ___ _ __ \ `--. _ __ ___ ___ | |_ ___ _ __
`--. \ |\/| || ___ \ `--. \/ _ \/ __/ __| |/ _ \| '_ \ `--. \ '_ \ / _ \ / _ \| _/ _ \ '__|
/\__/ / | | || |_/ / /\__/ / __/\__ \__ \ | (_) | | | | /\__/ / |_) | (_) | (_) | || __/ |
\____/\_| |_/\____/ \____/ \___||___/___/_|\___/|_| |_| \____/| .__/ \___/ \___/|_| \___|_|
| |
|_|
مرحباً! هذه أداة يمكن تجميعها باستخدام Visual Studio 2019 (أو الأحدث). الهدف من هذا البرنامج هو إنشاء جلسة SMB وهمية. الغرض الأساسي منه هو أن يكون وسيلة لجذب المهاجمين إلى الوصول إلى جهاز شرك (honey-device). يأتي هذا البرنامج بدون أي ضمان أو كفالة.
سيتطلب منك هذا البرنامج تعديل الكود قليلاً. في السطر 144، يتم استدعاء واجهة برمجة تطبيقات Windows CreateProcessWithLogonW، وهناك معلمتان تم توفيرهما افتراضياً - svc-admin (اسم المستخدم) و contoso.com (المجال). من الضروري تغيير هذه القيم إلى ما يتوافق مع شبكة الإنتاج الخاصة بك.
CreateProcessWithLogonW(L"DomainAdminUser", L"YourDomain.com", NULL, LOGON_NETCREDENTIALS_ONLY, <snip>);
بعد تعديل الكود وتجميعه، يجب عليك تثبيت الخدمة. يمكنك القيام بذلك باستخدام الأمر التالي:
sc create servicename binpath="C:\ProgramData\Services\Inject\service.exe" start="auto"
للتحقق من أن البرنامج يعمل بشكل صحيح، يجب عليك التحقق من الجلسات الموجودة على النظام. يمكن القيام بذلك باستخدام الأمر التالي:
C:\ProgramData\Services\Inject> net sessions
Computer User name Client Type Opens Idle time
-------------------------------------------------------------------------------
\\[::1] svc-admin 0 00:00:04
The command completed successfully.
يجب عليك العودة بعد حوالي 13 دقيقة للتحقق من إنشاء جلسة جديدة وأن البرنامج يعمل بشكل صحيح.
النظرية وراء ذلك هي أنه عندما يقوم الخصم بتشغيل SharpHound وجمع الجلسات وتحليل مسارات الهجوم من الكيانات المملوكة، يمكنه تحديد أن مستخدمًا بصلاحيات عالية مسجل الدخول على بنية تحتية من الطبقة 2 (محطات العمل)، مما يسمح له (على ما يبدو) بالوصول إليها وسحب بيانات الاعتماد للحصول على صلاحية مسؤول المجال.
في السيناريو أعلاه، اخترق المهاجم المستخدم "[email protected]" وهو مسؤول محلي على lab-wkst-2.contoso.com. المستخدم svc-admin مسجل الدخول على lab-wkst-2.contoso.com، مما يعني أن كل ما على المهاجم فعله هو تسجيل الدخول إلى محطة العمل، وتشغيل Mimikatz وسحب بيانات الاعتماد. إذًا، كيف تراقب هذا؟
تنفيذ هذه الأداة مهم، وكذلك المراقبة. إذا قمت بتنفيذ الأداة دون مراقبة، فإنها غير مجدية عمليًا؛ لذلك المراقبة ضرورية. الطريقة الأكثر فعالية لمراقبة هذا المضيف هي التنبيه على أي عملية تسجيل دخول. يتم استخدام هذا البرنامج بشكل أفضل على مضيف لا يوجد به أي نشاط مستخدم، وهو منضم إلى المجال، مع أدوات المراقبة المؤسسية القياسية (EDR، AV، Windows Event Log Forwarding، إلخ). يُوصى بشدة بإعداد تنبيه عبر البريد الإلكتروني، وتنبيه عبر الرسائل القصيرة (SMS)، والعديد من التنبيهات الأخرى إن أمكن، لضمان معالجة الحوادث المتعلقة بهذا الجهاز في أسرع وقت ممكن، نظرًا لأن هذا يمثل أعلى احتمالية لتفاعل خصم حقيقي مع محطة العمل المعنية.
شكرًا لشركة Microsoft على توفير كود نموذج الخدمة ولوثائق واجهة برمجة تطبيقات Windows الممتازة.