
Dengan artikel ini, kami memulakan siri tentang perisian hasad yang sukar difahami. Program penggodaman yang tidak meninggalkan kesan serangan, juga dikenali sebagai tanpa fail, biasanya menggunakan PowerShell pada sistem Windows untuk melaksanakan arahan secara rahsia untuk mencari dan mengekstrak kandungan berharga. Mengesan aktiviti penggodaman tanpa fail berniat jahat adalah tugas yang sukar, kerana perisian antivirus dan banyak sistem pengesanan lain bergantung pada analisis tandatangan. Tetapi berita baiknya ialah perisian sedemikian memang wujud. Sebagai contoh, , mampu mengesan aktiviti berniat jahat dalam sistem fail.
Apabila saya mula menyelidik topik penggodam yang hebat, , tetapi hanya alat dan perisian yang tersedia pada komputer mangsa. Saya tidak tahu bahawa ini tidak lama lagi akan menjadi kaedah serangan yang popular. Profesional keselamatan , bahawa ia menjadi satu trend, dan - ini adalah buktinya. Itulah sebabnya saya memutuskan untuk mencipta satu siri penerbitan mengenai topik ini.
PowerShell yang Hebat dan Mengerikan
Saya telah menulis tentang beberapa idea ini sebelum ini , tetapi lebih berdasarkan pemahaman teori. Nanti saya terserempak , di mana anda boleh menemui sampel perisian hasad "ditangkap" di alam liar. Saya memutuskan untuk mencuba menggunakan tapak ini untuk mencari sampel perisian hasad tanpa fail. Dan saya berjaya. Ngomong-ngomong, jika anda ingin mengikuti ekspedisi memburu perisian hasad anda sendiri, anda perlu lulus proses pengesahan di tapak ini supaya mereka tahu anda menjalankan tugas anda sebagai pakar topi putih. Sebagai seorang blogger yang menulis tentang keselamatan, saya lulus tanpa sebarang soalan. Saya pasti anda juga boleh.
Sebagai tambahan kepada sampel itu sendiri, tapak web juga menunjukkan perkara yang sebenarnya dilakukan oleh program ini. Analisis hibrid menjalankan perisian hasad dalam kotak pasirnya sendiri dan memantau panggilan sistem, menjalankan proses dan aktiviti rangkaian, serta mengekstrak rentetan teks yang mencurigakan. Untuk perduaan dan fail boleh laku yang lain—iaitu, fail yang anda tidak dapat melihat kod peringkat tinggi yang sebenar—analisis hibrid menentukan sama ada perisian itu berniat jahat atau hanya mencurigakan berdasarkan aktiviti masa jalannya. Selepas itu, sampel dinilai.
Dengan PowerShell dan sampel skrip lain (Visual Basic, JavaScript, dll.), saya dapat melihat kod itu sendiri. Sebagai contoh, saya menjumpai contoh PowerShell ini:

Anda juga boleh menjalankan PowerShell dalam pengekodan base64 untuk mengelakkan pengesanan. Perhatikan penggunaan parameter Noninteractive dan Hidden.
Jika anda telah membaca catatan kekeliruan saya, anda tahu bahawa parameter -e menentukan bahawa kandungan dikodkan dalam base64. Secara kebetulan, analisis hibrid juga membantu dengan ini dengan menyahkod semua kembali. Jika anda ingin mencuba sendiri menyahkod base64 PowerShell (selepas ini dirujuk sebagai PS), jalankan arahan ini:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))Teliti lebih dalam
Saya menyahkod skrip PS kami menggunakan kaedah ini, di bawah adalah teks program, sedikit diubah suai oleh saya:

Ambil perhatian bahawa skrip telah terikat pada tarikh 4 September 2017 dan lulus kuki sesi.
Saya menulis tentang gaya serangan ini , di mana skrip berkod base64 itu sendiri memuat turun hilang perisian hasad dari tapak lain, menggunakan objek WebClient .Net Framework untuk melakukan semua pengangkatan berat.
Apa yang ia buat?
Untuk perisian keselamatan mengimbas log peristiwa atau tembok api Windows, pengekodan base64 menghalang rentetan "WebClient" daripada dikesan oleh corak teks mudah, dengan itu melindungi daripada permintaan web sedemikian. Dan memandangkan semua "kejahatan" perisian hasad kemudian dimuat turun dan dihantar ke PowerShell kami, pendekatan ini membolehkan pengelakan sepenuhnya daripada pengesanan. Atau sekurang-kurangnya, itulah yang saya fikirkan pada mulanya.
Ternyata dengan mendayakan pengelogan lanjutan Windows PowerShell (lihat artikel saya ), anda boleh melihat baris yang dimuatkan dalam log peristiwa. saya (sebagai ) Saya percaya Microsoft harus mendayakan tahap pengelogan ini secara lalai. Oleh itu, dengan pengelogan lanjutan didayakan, kami akan melihat permintaan muat turun yang lengkap daripada skrip PS dalam log peristiwa Windows, seperti yang diterangkan di atas. Jadi, masuk akal untuk membolehkannya, tidakkah anda bersetuju?
Mari tambah senario tambahan
Penggodam dengan bijak menyembunyikan serangan PowerShell dalam makro Microsoft Office yang ditulis dalam Visual Basic dan bahasa skrip lain. Ideanya ialah mangsa menerima mesej, contohnya daripada perkhidmatan penghantaran, dengan laporan dilampirkan dalam format .doc. Mangsa membuka dokumen ini, yang mengandungi makro, dan akhirnya melancarkan PowerShell yang berniat jahat.
Selalunya, skrip Visual Basic itu sendiri dikaburkan supaya ia mudah mengelak antivirus dan pengimbas perisian hasad yang lain. Dengan semangat apa yang telah saya jelaskan, saya memutuskan untuk mengekod contoh PowerShell di atas dalam JavaScript sebagai latihan. Berikut adalah hasil kerja saya:

JavaScript yang dikelirukan menyembunyikan PowerShell kami. Penggodam sebenar boleh melakukan ini dalam masa yang singkat.
Ini adalah satu lagi teknik yang saya temui dalam talian: menggunakan shell Wscript.Shell untuk menjalankan PowerShell berkod. Secara kebetulan, JavaScript itu sendiri penghantaran perisian hasad. Banyak versi Windows mempunyai terbina dalam , yang boleh menjalankan JS sendiri.
Dalam kes kami, skrip JS berniat jahat dibenamkan sebagai fail dengan sambungan .doc.js. Windows biasanya hanya memaparkan akhiran pertama, jadi ia akan kelihatan kepada mangsa sebagai dokumen Word.

Ikon JS hanya muncul dalam ikon tatal. Tidak hairanlah ramai orang akan membuka lampiran ini, menganggap ia adalah dokumen Word.
Dalam contoh saya, saya mengubah suai PowerShell di atas untuk memuat turun skrip daripada tapak web saya. Skrip PS jauh hanya mencetak "Hasad Jahat." Seperti yang anda lihat, ia tidak berniat jahat sama sekali. Sudah tentu, penggodam sebenar berminat untuk mendapatkan akses kepada komputer riba atau pelayan, katakan, melalui shell arahan. Dalam artikel seterusnya, saya akan menunjukkan kepada anda cara melakukan ini menggunakan Empayar PowerShell.
Saya harap kita tidak mendalami topik untuk artikel pengenalan pertama ini. Sekarang saya akan memberi anda rehat, dan lain kali kita akan menyelami contoh dunia sebenar serangan perisian hasad tanpa fail tanpa berlengah lagi.
Sumber: www.habr.com
