Petualangan Elusive Malvari, Bagian I

Petualangan Elusive Malvari, Bagian I

Dengan artikel ini kami memulai serangkaian publikasi tentang malware yang sulit dipahami. Program peretasan tanpa file, juga dikenal sebagai program peretasan tanpa file, biasanya menggunakan PowerShell pada sistem Windows untuk menjalankan perintah secara diam-diam guna mencari dan mengekstrak konten berharga. Mendeteksi aktivitas peretas tanpa file berbahaya adalah tugas yang sulit, karena... antivirus dan banyak sistem deteksi lainnya bekerja berdasarkan analisis tanda tangan. Namun kabar baiknya adalah perangkat lunak semacam itu memang ada. Misalnya, sistem UBA, mampu mendeteksi aktivitas berbahaya di sistem file.

Ketika saya pertama kali mulai meneliti topik peretas tangguh, tidak menggunakan metode infeksi tradisional, tetapi hanya alat dan perangkat lunak yang tersedia di komputer korban, saya tidak menyangka bahwa ini akan segera menjadi metode serangan yang populer. Profesional Keamanan kata orangbahwa ini sedang menjadi tren, dan judul artikel yang menakutkan - konfirmasi akan hal ini. Oleh karena itu, saya memutuskan untuk membuat serangkaian publikasi tentang topik ini.

PowerShell yang Hebat dan Kuat

Saya telah menulis tentang beberapa ide ini sebelumnya Seri kebingungan PowerShell, namun lebih berdasarkan konsep teoritis. Kemudian saya menemukan situs web untuk analisis hibrid, tempat Anda dapat menemukan contoh malware yang “tertangkap” di alam liar. Saya memutuskan untuk mencoba menggunakan situs ini untuk menemukan contoh malware tanpa file. Dan saya berhasil. Omong-omong, jika Anda ingin melakukan ekspedisi berburu malware sendiri, Anda harus diverifikasi oleh situs ini sehingga mereka tahu bahwa Anda melakukan pekerjaan sebagai spesialis topi putih. Sebagai seorang blogger keamanan, saya lulus tanpa pertanyaan. Saya yakin Anda juga bisa.

Selain sampelnya sendiri, di situs tersebut Anda dapat melihat apa yang dilakukan program ini. Analisis hibrid menjalankan malware di kotak pasirnya sendiri dan memantau panggilan sistem, proses yang berjalan, dan aktivitas jaringan, serta mengekstrak string teks yang mencurigakan. Untuk binari dan file executable lainnya, mis. ketika Anda bahkan tidak dapat melihat kode tingkat tinggi yang sebenarnya, analisis hibrid memutuskan apakah perangkat lunak tersebut berbahaya atau hanya mencurigakan berdasarkan aktivitas runtime-nya. Dan setelah itu sampel sudah dievaluasi.

Dalam kasus PowerShell dan contoh skrip lainnya (Visual Basic, JavaScript, dll.), saya dapat melihat kode itu sendiri. Misalnya, saya menemukan contoh PowerShell ini:

Petualangan Elusive Malvari, Bagian I

Anda juga dapat menjalankan PowerShell dalam pengkodean base64 untuk menghindari deteksi. Perhatikan penggunaan parameter Noninteraktif dan Tersembunyi.

Jika Anda telah membaca posting saya tentang kebingungan, maka Anda tahu bahwa opsi -e menentukan bahwa konten dikodekan base64. Omong-omong, analisis hibrid juga membantu dalam hal ini dengan menguraikan kembali semuanya. Jika Anda ingin mencoba mendekode sendiri PowerShell base64 (selanjutnya disebut PS), Anda perlu menjalankan perintah ini:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Masuk lebih dalam

Saya memecahkan kode skrip PS kami menggunakan metode ini, di bawah ini adalah teks programnya, meskipun saya sedikit memodifikasinya:

Petualangan Elusive Malvari, Bagian I

Perhatikan bahwa skrip diikat ke tanggal 4 September 2017 dan mengirimkan cookie sesi.

Saya menulis tentang gaya serangan ini Seri kebingungan PS, di mana skrip yang dikodekan base64 itu sendiri dimuat hilang malware dari situs lain, menggunakan objek WebClient perpustakaan .Net Framework untuk melakukan pekerjaan berat.

Apa fungsinya?

Untuk perangkat lunak keamanan yang memindai log peristiwa atau firewall Windows, pengkodean base64 mencegah string "WebClient" terdeteksi oleh pola teks biasa untuk melindungi terhadap pembuatan permintaan web semacam itu. Dan karena semua “kejahatan” malware kemudian diunduh dan diteruskan ke PowerShell kami, pendekatan ini memungkinkan kami menghindari deteksi sepenuhnya. Atau lebih tepatnya, itulah yang kupikirkan pada awalnya.

Ternyata ketika Windows PowerShell Advanced Logging diaktifkan (lihat artikel saya), Anda akan dapat melihat baris yang dimuat di log peristiwa. saya seperti dan lainnya ) Saya pikir Microsoft harus mengaktifkan tingkat pencatatan ini secara default. Oleh karena itu, dengan logging yang diperluas diaktifkan, kita akan melihat di log peristiwa Windows permintaan pengunduhan yang telah selesai dari skrip PS sesuai dengan contoh yang kita bahas di atas. Oleh karena itu, masuk akal untuk mengaktifkannya, setujukah Anda?

Mari tambahkan skenario tambahan

Peretas dengan cerdik menyembunyikan serangan PowerShell di makro Microsoft Office yang ditulis dalam Visual Basic dan bahasa skrip lainnya. Idenya adalah korban menerima pesan, misalnya dari layanan pengiriman, dengan lampiran laporan dalam format .doc. Anda membuka dokumen yang berisi makro ini, dan akhirnya meluncurkan PowerShell berbahaya itu sendiri.

Seringkali skrip Visual Basic itu sendiri dikaburkan sehingga bebas menghindari antivirus dan pemindai malware lainnya. Sejalan dengan semangat di atas, saya memutuskan untuk mengkodekan PowerShell di atas dalam JavaScript sebagai latihan. Di bawah ini adalah hasil pekerjaan saya:

Petualangan Elusive Malvari, Bagian I

JavaScript yang dikaburkan menyembunyikan PowerShell kami. Peretas sejati melakukan ini sekali atau dua kali.

Ini adalah teknik lain yang pernah saya lihat beredar di web: menggunakan Wscript.Shell untuk menjalankan kode PowerShell. Omong-omong, JavaScript itu sendiri cara pengiriman malware. Banyak versi Windows yang memiliki built-in Host Skrip Windows, yang dengan sendirinya dapat menjalankan JS.
Dalam kasus kami, skrip JS berbahaya tertanam sebagai file dengan ekstensi .doc.js. Windows biasanya hanya menampilkan suffix pertama, sehingga akan terlihat oleh korban sebagai dokumen Word.

Petualangan Elusive Malvari, Bagian I

Ikon JS hanya muncul di ikon gulir. Tidak mengherankan jika banyak orang membuka lampiran ini karena mengira itu adalah dokumen Word.

Dalam contoh saya, saya memodifikasi PowerShell di atas untuk mengunduh skrip dari situs web saya. Skrip PS jarak jauh hanya mencetak "Malware Jahat". Seperti yang Anda lihat, dia tidak jahat sama sekali. Tentu saja, peretas sejati tertarik untuk mendapatkan akses ke laptop atau server, misalnya, melalui shell perintah. Pada artikel berikutnya, saya akan menunjukkan cara melakukan ini menggunakan PowerShell Empire.

Saya berharap untuk artikel pengantar pertama kita tidak mendalami topiknya terlalu dalam. Sekarang saya akan membiarkan Anda mengambil napas, dan lain kali kita akan mulai melihat contoh nyata serangan menggunakan malware tanpa file tanpa kata pengantar atau persiapan yang tidak perlu.

Sumber: www.habr.com

Tambah komentar