The Adventures of the Elusive Malvari, Bagian II: Script VBA Rahasia



Artikel ini adalah bagian dari seri Fileless Malware. Semua bagian seri lainnya:


Saya penggemar situs web analisis hibrid (HA). Ini adalah semacam kebun binatang malware di mana Anda dapat dengan aman menonton "predator" liar dari jarak aman tanpa diserang. HA meluncurkan malware di lingkungan yang aman, merekam panggilan sistem, menghasilkan file dan lalu lintas Internet, dan menampilkan semua hasil ini untuk setiap sampel yang Anda analisis. Dengan demikian, Anda tidak dapat menyia-nyiakan waktu dan energi Anda sendiri dengan memecahkan kode yang membingungkan, tetapi segera memahami semua niat para peretas.

Contoh HA yang menarik perhatian saya menggunakan skrip JavaScript atau Visual Basic for Applications (VBA) yang disematkan sebagai makro dalam dokumen Word atau Excel dan dilampirkan ke email phishing. Ketika dibuka, makro ini memulai sesi PowerShell di komputer korban. Peretas biasanya mengirim aliran perintah yang disandikan Base64 ke PowerShell. Ini semua dilakukan untuk membuat serangan sulit dideteksi dengan filter web dan perangkat lunak antivirus yang merespons kata kunci tertentu.
Untungnya, HA secara otomatis menerjemahkan Base64 dan segera menunjukkan semuanya dalam bentuk yang dapat dibaca. Pada dasarnya, Anda tidak perlu fokus pada cara kerja skrip ini, karena Anda dapat melihat output lengkap dari perintah untuk menjalankan proses di bagian HA yang sesuai. Lihat contoh di bawah ini:



Analisis hibrida memotong perintah yang disandikan Base64 yang dikirim ke PowerShell:



... dan kemudian menerjemahkannya untuk Anda. # secara ajaib

Dalam posting sebelumnya, saya membuat wadah JavaScript saya sendiri yang agak dikaburkan untuk memulai sesi PowerShell. Kemudian skrip saya, seperti banyak malware berbasis PowerShell, mengunduh skrip PowerShell berikut dari situs web jarak jauh. Kemudian, sebagai contoh, saya mengunduh PS yang tidak berbahaya untuk mencetak pesan di layar. Tetapi waktu berubah, dan sekarang saya mengusulkan untuk memperumit skenario.

PowerShell Empire dan Reverse Shell


Salah satu tujuan latihan ini adalah untuk menunjukkan bagaimana (relatif) dengan mudah seorang hacker dapat mengatasi pertahanan perimeter klasik dan antivirus. Jika seorang blogger IT tanpa keahlian pemrograman seperti saya dapat membuat malware yang sepenuhnya tidak terdeteksi (FUD) dalam beberapa malam, bayangkan kemungkinan-kemungkinan seorang hacker muda tertarik pada hal ini!

Dan jika Anda adalah orang yang menyediakan keamanan TI, tetapi manajer Anda tidak mengetahui konsekuensi yang mungkin timbul dari ancaman ini, cukup tunjukkan padanya artikel ini.

Peretas bermimpi mendapatkan akses langsung ke laptop atau server korban. Sangat mudah untuk melakukan ini: semua yang dibutuhkan peretas adalah mendapatkan beberapa file rahasia di laptop CEO.

Entah bagaimana saya sudah menulis tentang runtime PowerShell Empire pasca-operasional. Mari kita ingat apa itu.

Pada dasarnya, ini adalah alat pengujian penetrasi berbasis PowerShell yang, di antara banyak fitur lainnya, membuatnya mudah untuk menjalankan shell terbalik. Anda dapat mempelajari lebih lanjut tentang itu di beranda PSE .

Mari kita lakukan percobaan kecil. Saya mengatur lingkungan pengujian malware yang aman di cloud Amazon Web Services. Anda dapat mengikuti contoh saya dengan cepat dan aman menunjukkan contoh kerja kerentanan ini (dan tidak dipecat karena meluncurkan virus di dalam perimeter perusahaan).

Jika Anda memulai konsol PowerShell Empire, Anda akan melihat sesuatu seperti berikut:



Pertama, Anda memulai proses pendengar di komputer peretas Anda. Masukkan perintah "listener", dan tentukan alamat IP sistem Anda menggunakan "set Host". Kemudian mulai proses pendengar dengan menjalankan perintah (di bawah). Jadi, untuk bagian Anda, mulai menunggu koneksi jaringan dari shell jarak jauh:



Untuk sisi lain, Anda perlu membuat kode agen dengan memasukkan perintah peluncur (lihat di bawah). Ini akan menghasilkan kode PowerShell untuk agen jarak jauh. Perhatikan bahwa itu disandikan di Base64, dan mewakili fase kedua payload. Dengan kata lain, kode JavaScript saya sekarang akan menarik agen ini untuk menjalankan PowerShell alih-alih output teks yang tidak berbahaya ke layar dan terhubung ke server PSE jarak jauh kami untuk menjalankan shell terbalik.


Keajaiban shell terbalik. Perintah PowerShell yang disandikan ini akan terhubung ke pendengar saya dan memulai shell jarak jauh.

Untuk menunjukkan kepada Anda eksperimen ini, saya mengambil peran sebagai korban yang tidak bersalah dan membuka Evil.doc, dengan demikian meluncurkan JavaScript kami. Ingat bagian pertama? PowerShell dikonfigurasikan sehingga jendelanya tidak muncul, sehingga korban tidak akan melihat sesuatu yang tidak biasa. Namun, jika Anda membuka Windows Task Manager, Anda akan melihat proses latar belakang PowerShell, yang sebagian besar masih tidak akan menimbulkan alarm. Karena itu PowerShell biasa, bukan?



Sekarang, ketika Anda menjalankan Evil.doc, proses latar belakang tersembunyi akan terhubung ke server dengan PowerShell Empire. Setelah mengenakan topi putih hacker-pentester, saya kembali ke konsol PowerShell Empire dan sekarang saya melihat pesan bahwa agen jarak jauh saya aktif.



Kemudian saya memasukkan perintah "berinteraksi" untuk membuka shell di PSE - dan inilah saya! Singkatnya, saya meretas ke server Taco, yang saya atur sendiri sekali.



Apa yang baru saja saya tunjukkan tidak membutuhkan banyak pekerjaan dari Anda. Anda dapat melakukan semua ini dengan aman untuk istirahat makan siang selama satu hingga dua jam untuk meningkatkan pengetahuan Anda tentang keamanan informasi. Ini juga merupakan cara yang bagus untuk memahami bagaimana peretas menghindari perlindungan perimeter keamanan eksternal dan secara diam-diam menggunakan sistem Anda.

Manajer TI yang percaya bahwa mereka telah membangun perlindungan yang tidak dapat dihancurkan terhadap penetrasi apa pun mungkin akan menganggapnya informatif - yah, jika, tentu saja, Anda bisa meyakinkan mereka untuk duduk di sebelah Anda untuk waktu yang lama.

Kembali ke kenyataan


Seperti yang saya harapkan, peretasan nyata yang tidak terlihat oleh pengguna rata-rata hanyalah variasi dari apa yang baru saja saya jelaskan. Untuk mengumpulkan bahan untuk publikasi berikutnya, saya mulai mencari sampel tentang HA yang bekerja dengan cara yang sama seperti contoh yang saya temukan. Dan saya tidak harus mencarinya dalam waktu yang lama - situs ini memiliki banyak pilihan untuk teknik serangan seperti itu.

Malware yang akhirnya saya temukan di HA adalah skrip \ VBA yang dibangun ke dalam dokumen Word. Artinya, saya bahkan tidak perlu memalsukan ekstensi doc, malware ini benar-benar dokumen Microsoft Word yang paling umum. Jika Anda tertarik, maka saya memilih sampel ini, yang disebut rfq.doc .

Saya dengan cepat mengetahui bahwa seringkali Anda tidak akan dapat langsung mengekstrak skrip VBA berbahaya dari dokumen. Peretas menekan dan menyembunyikannya, dan mereka tidak terlihat di alat makro bawaan Word. Anda akan memerlukan alat khusus untuk mengekstraknya. Untungnya, saya menemukan OfficeMalScanner milik Frank Baldwin. Terima kasih, Frank.

Dengan menggunakan alat ini, saya bisa mengeluarkan kode VBA yang sangat membingungkan. Itu terlihat seperti ini:


Kebingungan dilakukan oleh para profesional. Saya terkesan!

Para penyerang benar-benar pandai mengacaukan kode, tidak seperti upaya saya menciptakan Evil.doc. Baiklah, ok, pada bagian selanjutnya kita akan mendapatkan debuggers VBA kita, masuk lebih dalam ke kode ini dan bandingkan analisis kita dengan hasil HA.

Source: https://habr.com/ru/post/id458010/


All Articles