Pencatatan Windows Lanjut. Mencari mimikatz


Halo semuanya. Hari ini kita akan melihat contoh di mana penyerang berhasil melewati Windows Defender, tetapi gagal - penjaga keamanan. Ya, ini lagi tentang mimikatz. Caranya, dengan meluncurkan mimikatz, untuk mem-bypass Windows Defender, Anda dapat membaca di sini. Dan hari ini, seperti yang saya janjikan, pertimbangkan sesuatu untuk tim "biru". Jika itu membantu siapa pun setidaknya, maka itu tidak sia-sia. Jadi ayo pergi.

Banyak yang telah ditulis tentang tumpukan ELK (Elasticsearch, Logstash, Kibana) (termasuk di HabrΓ©), dan hari ini kita akan menggunakannya, atau lebih tepatnya, ELK memenuhi kebutuhan kita untuk berburu ancaman.

Hunting ELK, atau HELK


Diagram BANTUAN terlihat seperti ini:



Mari kita beralih ke instalasi.

Sebagai server tempat HELK akan berlokasi, saya memilih, sesuai saran pengembang:

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

Instalasi sederhana dan dilakukan dalam 2 perintah:

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

Catatan: Anda mungkin diminta mengalokasikan lebih banyak RAM untuk instalasi. Saya menggunakan 10 GB.

Dari opsi instalasi yang diusulkan, saya memilih KAFKA + KSQL + ELK + NGNIX + ELASTALERT . Dan sekarang tinggal menunggu. Dan, jika kita melakukan segalanya dengan benar, kita akan melihat dihargai:



Dengan server selesai, mari kita siapkan klien. Ini akan menjadi mesin Windows 10. Kita perlu menginstal Sysmon di atasnya.

Kami juga memerlukan file konfigurasi:

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

Buat konfigurasi:

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

Lari:

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

Kami juga akan menginstal winlogbeat , menghapus file winlogbeat.yml dan membuat yang baru dengan menyalin raw.githubusercontent.com/Cyb3rWard0g/HELK/master/configs/winlogbeat/winlogbeat.yml ke dalamnya


Catatan: di sini kita juga perlu mengubah alamat IP ke yang diinginkan (dalam host kasus saya: ["192.168.31.97:9092"].



Install:

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

Catatan: Anda harus mengaktifkan layanan dengan tangan, atau reboot sistem.

Semuanya sudah siap, mari kita lihat apa yang kita dapatkan.

Kami mulai mimikatz pada Windows 10.



Dan, setelah memasuki cybana (dalam kasus saya ini adalah 192.168.31.97 , kredensial default: helk: hunting) kami melihat peringatan. Dalam bentuknya yang mentah, tampilannya seperti ini:



Peringatan dapat dikirim kepada Anda sendiri melalui email, kendur, dll.

Tapi kami jauh lebih tertarik dengan cara kerjanya, mari kita mengerti.

Sedikit teori


Setelah memulai mimikatz dengan Windows 10, pesan berikut ini terbang:



Apa aturan yang mengeluarkan peringatan yang membingungkan saya? (spoiler: bukan nama file mimikatz.exe). Mari kita lihat aturannya sendiri:

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



EventID: 10. Ini adalah ProcessAccess kami.

TargetImage: C: \ windows \ system32 \ lsass.exe. Ini bagus, tetapi mimikatz bukan satu-satunya yang beralih ke lsass.



GrantedAccess: 0x1410 atau 0x1010.

Dan di sini semuanya jatuh ke tempatnya. Aku jelaskan.

Mari kita lihat kode sumber mimikatz, yaitu, kami tertarik pada file kuhl_m_sekurlsa.c dan fungsi kuhl_m_sekurlsa_acquireLSA ().



Beralih ke situs web Microsoft, kami melihat bahwa

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

Menggunakan bitwise "ATAU" kami mendapatkan Akses yang Diberikan kami
Catatan: sebelumnya dalam aturan sigma hanya ada deteksi 0x1410, mungkin ini disebabkan oleh fakta bahwa versi lama mimikatz membuat kedua permintaan (PROCESS_QUERY_INFORMATION dan PROCESS_QUERY_LIMITED_INFORMATION), namun, mimikatz diteruskan dengan 0x1010, jadi Anda harus memperbaiki aturan sendiri. Sekarang tidak ada masalah seperti itu, dan semuanya berjalan di luar kotak.

Jadi, jika di kiban kita menetapkan filter
event_id: 10 AND process_target_name: "* lsass.exe" AND process_granted_access: "0x1010", maka kita hanya akan memiliki mimikatz kita.



Dari yang menyenangkan: ada aturan untuk mimikatz_inmemory, mimikatz_trough_winrm, dan bahkan safetycatz (.NET versi mimikatz dengan chipnya sendiri).

Apa lagi yang bisa kamu lakukan?


Aturannya, tentu saja, tidak terbatas pada mimikatz, ada banyak dari mereka. Mereka dibagi menjadi aplikasi kategori, cloud, kepatuhan, linux, jaringan, proksi, web dan windows. Kategori dibagi menjadi beberapa subkategori. Sebagai contoh, windows dibagi menjadi builtin, malware, lainnya, PowerShell, process_creation, sysmon.

Dan siapa tahu, mungkin dengan memasukkan PowerShell ke GPO, Anda akan menerima peringatan sesuai dengan aturan ini:



Sepertinya hanya itu saja. Berlangganan saluran, seperti, klik bel.

All Articles