تسجيل Windows المتقدم. تبحث عن mimikatz


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

لقد كتب الكثير عن مكدس ELK (Elasticsearch ، Logstash ، Kibana) (بما في ذلك على Habré) ، واليوم سنستخدمها ، أو لنكون أكثر دقة ، ELK مخدوعًا لاحتياجاتنا لصيد التهديدات.

الصيد ELK ، أو HELK


يبدو مخطط HELK كما يلي:



دعنا ننتقل إلى التثبيت.

بصفتي الخادم حيث سيكون موقع HELK ، اخترت ذلك ، وفقًا لما ينصح به المطور:

tomhunter@helk:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS" 

التثبيت بسيط ويتم تنفيذه في أمرين:

git clone https://github.com/Cyb3rWard0g/HELK
tomhunter@helk:~/HELK/docker$ sudo ./helk_install.sh

ملاحظة: قد يُطلب منك تخصيص المزيد من ذاكرة الوصول العشوائي للتثبيت. أستخدم 10 غيغابايت.

من خيارات التثبيت المقترحة ، اخترت KAFKA + KSQL + ELK + NGNIX + ELASTALERT . والآن أنتظر فقط. وإذا فعلنا كل شيء بشكل صحيح ، فسنرى العزيزة:



مع انتهاء الخادم ، دعنا نجهز العميل. سيكون جهاز Windows 10. نحتاج إلى تثبيت Sysmon عليه.

نحتاج أيضًا إلى ملف تكوين:

 git clone https://github.com/olafhartong/sysmon-modular  

إنشاء التكوين:

 . .\Merge-SysmonXml.ps1
Merge-AllSysmonXml -Path ( Get-ChildItem '[0-9]*\*.xml') -AsString | Out-File sysmonconfig.xml

يركض:

 PS C:\Users\Tomhunter\Documents\sysmon-modular> .\Sysmon64.exe -i .\sysmonconfig.xml 

سنقوم أيضًا بتثبيت winlogbeat ، وحذف ملف winlogbeat.yml وإنشاء ملف جديد عن طريق نسخ raw.githubusercontent.com/Cyb3rWard0g/HELK/master/configs/winlogbeat/winlogbeat.yml في ذلك


ملاحظة: هنا نحتاج أيضًا إلى تغيير عنوان IP إلى العنوان المطلوب (في حالتي تستضيف: ["192.168.31.97:9092"].



تثبيت:

 PS C:\Users\Tomhunter\Desktop\winlogbeat-7.6.2-windows-x86_64> .\install-service-winlogbeat.ps1 

ملاحظة: تحتاج إلى تمكين الخدمة يدويًا ، أو إعادة تشغيل النظام.

كل شيء جاهز ، دعنا نرى ما نحصل عليه.

نبدأ mimikatz على Windows 10.



وبعد دخول cybana (في حالتي هو 192.168.31.97 ، بيانات الاعتماد الافتراضية: helk: hunting) نرى تنبيهًا. في شكلها الخام ، يبدو كما يلي:



يمكن إرسال التنبيهات إلى نفسك عن طريق البريد الإلكتروني ، أو الكسل ، إلخ.

لكننا مهتمون أكثر بكيفية عمل ذلك ، دعنا نفهم.

جزء من النظرية


بعد بدء mimikatz مع Windows 10 ، تطير الرسالة التالية:



ما هي القاعدة التي أصدرت التنبيه الذي أربكني؟ (spoiler: ليس اسم ملف mimikatz.exe). دعونا نلقي نظرة على القاعدة نفسها:

sudo docker exec -it helk-elastalert bash
cat /opt/sigma/rules/windows/sysmon/sysmon_mimikatz_detection_lsass.yml



EventID: 10. هذا هو ProcessAccess لدينا.

TargetImage: C: \ windows \ system32 \ lsass.exe. هذا جيد ، لكن mimikatz ليس الوحيد الذي يتحول إلى lsass.



GrantedAccess: 0x1410 أو 0x1010.

وهنا يقع كل شيء في مكانه. أشرح.

دعنا نلقي نظرة على شفرة مصدر mimikatz ، أي أننا مهتمون بملف kuhl_m_sekurlsa.c ووظيفة kuhl_m_sekurlsa_acquireLSA ().



وبالانتقال إلى موقع Microsoft على الويب ، نرى

PROCESS_QUERY_LIMITED_INFORMATION (0x1000)
PROCESS_VM_READ (0x0010)
PROCESS_QUERY_INFORMATION (0x0400)

باستخدام أحادي المعامل "OR" نحصل على حق الوصول الممنوح
ملاحظة: في وقت سابق من قاعدة سيغما لم يكن هناك سوى اكتشاف 0x1410 ، ربما يرجع ذلك إلى حقيقة أن الإصدارات القديمة من mimikatz قدمت كلا الطلبين (PROCESS_QUERY_INFORMATION و PROCESS_QUERY_LIMITED_INFORMATION) ، ومع ذلك ، مرت mimikatz مع 0x1010 ، لذلك كان عليك تصحيح القاعدة بنفسك. الآن لا توجد مشكلة من هذا القبيل ، وكل شيء يعمل خارج الصندوق.

وبالتالي ، إذا وضعنا في
kiban عامل التصفية event_id: 10 AND process_target_name: "* lsass.exe" AND process_granted_access: "0x1010" ، فلن يكون لدينا سوى mimikatz.



من اللطيف: هناك قواعد لـ mimikatz_inmemory ، mimikatz_trough_winrm ، وحتى safetycatz (إصدار .NET من mimikatz بشرائحها الخاصة).

ماذا يمكنك أن تفعل أيضا؟


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

ومن يدري ، ربما بتضمين تسجيل powerhell في GPO ، ستتلقى تنبيهات وفقًا لهذه القواعد:



يبدو أن هذا كل شيء. اشترك في القناة ، مثل النقر على الجرس.

All Articles