Adversary Emulation Menggunakan Atomic Red Team

Adversary Emulation Menggunakan Atomic Red Team. Di tutorial ini saya akan membahas mengenai penggunaan Atomic Red Team untuk keperluan adversary emulation. Dalam konteks red teaming, Adversary emulation adalah teknik simulasi serangan siber yang dilakukan oleh red team untuk meniru taktik, teknik, dan prosedur (TTP) yang digunakan oleh threat actor. Tujuannya adalah untuk menguji ketahanan sistem dan infrastruktur keamanan suatu organisasi terhadap serangan siber yang mungkin terjadi di masa mendatang.

Atomic Red Team

Ada berbagai jenis framework yang bisa digunakan untuk menjalankan adversary emulation. Sebut saja ada Caldera, Silver, PTEF, Prelude, dan juga yang akan kita bahas sekarang, Atomic Red Team (ATR). Semuanya memiliki kelebihan tersendiri, namun saya sendiri memilih Atomic Red Team karena framework ini cukup portable, tidak banyak dependensi yang dibutuhkan, serta dapat berjalan di Windows, Linux, maupun MacOS.

Instalasi ATR

Oke, di tutorial ini saya akan mencoba untuk mengeksekusi Atomic Red Team di sistem operasi Windows 10. Untuk eksekusi Atomic kita harus menginstall Invoke-Atomic. Di Windows, kalian hanya perlu menjalankan powershell saja. Cara yang sama juga berlaku untuk Linux dan MacOS, cukup pastikan Powershell terinstall di sistem.

Namun sebelum itu, pastikan kalian melakukan whitelist direktori instalasi Atomic Red Team, dikarenakan tool ini akan terdeteksi sebagai virus oleh Windows Defender. Defaultnya, ATR akan terinstall di direktori C:\AtomicRedTeam.

Menggunakan Powershell dengan hak akses Administrator, jalankan command

Add-MpPreference -ExclusionPath C:\AtomicRedTeam\

Selanjutnya untuk verifikasi apakah folder tersebut sudah masuk kedalam exclusion, jalankan perintah:

Get-MpPreference | Select-Object -Property ExclusionPath -ExpandProperty ExclusionPath

Selanjutnya adalah proses instalasi Execution Framework dan juga Atomics Folder yang berisi test definition yang akan kita gunakan untuk aktifitas Adversary Emulation.

IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1' -UseBasicParsing);

Install-AtomicRedTeam -getAtomics -Force

Seperti yang sudah dibahas diatas, instalasi Atomic Red Team by default akan berlokasi di C:\AtomicRedTeam.


Oke sekarang ATR sudah terpasang. Dan kita bisa langsung menggunakannya dengan perintah Invoke-AtomicTest. Namun jika di masa mendatang kalian ingin menggunakan ATR lagi setelah keluar dari session powershell saat ini, kalian perlu melakukan import module dengan perintah:

Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1"

Invoke-AtomicTest

Oke setelah terinstall, eksekusinya bisa menggunakan perintah Invoke-AtomicTest. Sebenarnya ada banyak flag atau options yang bisa dipakai, tapi berikut options yang umum dipakai untuk basic testing:

  • ShowDetailsBrief: Opsi ini digunakan untuk melihat detail dari teknik yang akan dieksekusi, dan juga list test number yang tersedia.
  • TestNumbers: Untuk mengeksekusi salahsatu testcase berdasarkan nomor yang tersedia di framework ATR
  • CheckPrereqs: Untuk melihat dependensi ataupun prerequisite yang dibutuhkan untuk mengeksekusi teknik
  • GetPrereqs: Untuk mengunduh dependensi yang kurang sebelum menjalankan eksekusi
  • ShowDetails: Untuk melihat detail eksekusi dari tiap test number
  • Cleanup: Untuk menghapus bekas eksekusi dari ATR, ataupun mengembalikan value ke semula.

Untuk list testcase, kalian bisa langsung cek di halaman GitHub ATR.

Oke mungkin langsung saja ke contoh. Untuk eksekusi tiap teknik flownya sama, namun di tutorial ini kita akan coba teknik T1003.001, OS Credential Dumping: LSASS Memory.

Menggunakan Invoke-AtomicTest, pertama kita jalankan perintah berikut untuk melihat list test yang tersedia.

Invoke-AtomicTest T1003.001 -ShowDetailsBrief

Oke, kita akan coba gunakan testnumber 2, Dump LSASS.exe Memory using comsvcs.dll.

Cek terlebih dahulu apakah ada dependensi yang dibutuhkan:

Invoke-AtomicTest T1003.001 -TestNumbers 2 -CheckPrereqs

Untuk test number ini tidak dibutuhkan dependensi eksternal dikarenakan kita akan menggunakan utilitas built-in Windows yakni comsvcs.dll. Namun jika ternyata dependensi ada yang belum terpenuhi, kalian bisa gunakan flag GetPrereqs. Contoh:

Invoke-AtomicTest T1003.001 -TestNumbers 2 -GetPrereqs

Jika semua sudah oke, kita bisa cek dulu detail dari test yang akan kita eksekusi menggunakan perintah:

Invoke-AtomicTest T1003.001 -TestNumbers 2 -ShowDetails

Untuk eksekusinya langsung saja jalankan test tanpa flag tambahan:

Invoke-AtomicTest T1003.001 -TestNumbers 2

Pada tutorial sebelumnya kita sudah membahas mengenai instalasi Wazuh dan integrasi Sysmon. Apakah ketika kita mengeksekusi test ini Wazuh mendeteksi adanya aktifitas LSASS dumping?

Yup ketika kita cek di dashboard Wazuh, aktifitas ini terdeteksi. 

Jadi inilah sebenarnya tujuan dari dilakukannya adversary emulation. Untuk memastikan bahwa serangan apapun yang dilakukan terdeteksi. Tidak hanya serangan yang dilakukan pada aplikasi publik, namun jika serangan yang mungkin dilakukan pada fase post exploitation. Karena jika tahapan-tahapan ini dilakukan, seharusnya kasus data breach yang marak terjadi bisa dideteksi lebih awal. Pernahkah kalian berpikir, kok bisa ada threat actor yang berhasil mengekstrak data dalam ukuran GB ataupun TB, namun tidak terdeteksi? Tau-tau datanya sudah disebar di Breach forum? Jika instansi ataupun perusahaan tersebut memasang dan mengkonfigurasi EDR/XDR dengan tepat, seharusnya tim IT dari instansi terkait akan mendapatkan alert ketika seseorang melakukan aktifitas dump database dll.

Oke back to topic, dari test sederhana diatas, dump LSASS akan tersimpan di direktori temp.

Untuk cleanupnya cukup hapus file tersebut. Namun jika test case nya lebih compleks, maka akan ada beberapa file ataupun perubahan registry yang dilakukan, maka gunakan perintah dari Invoke-AtomicTest.

Invoke-AtomicTest T1003.001 -TestNumbers 2 -Cleanup

Uninstall ATR

Untuk uninstall cukup mudah, cukup hapus folder C:\AtomicRedTeam.

Oke mungkin itu saja sharing kali ini, semoga bermanfaat. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.

Referensi:

  • https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/Indexes/Indexes-Markdown/index.md
  • https://github.com/redcanaryco/invoke-atomicredteam/wiki/Execute-Atomic-Tests-(Local)

1 komentar untuk "Adversary Emulation Menggunakan Atomic Red Team"

Comment Author Avatar
review caldera dong mas

Silahkan tinggalkan komentar jika ada masukan, pertanyaan, kritik ataupun dukungan. Namun pastikan untuk berkomentar secara sopan.