Konten dari Pengguna

Mengupas Teknik Canggih Lokibot Malware dan Menguak Hidden-Malware di Baliknya

Adhitya Priyanka
Cyber Security Tutor (Self Employed) - Individual Researcher - Malware Analyst - Reverse Engineering for a hobby
15 Juli 2024 10:32 WIB
·
waktu baca 13 menit
comment
0
sosmed-whatsapp-white
copy-link-circle
more-vertical
Tulisan dari Adhitya Priyanka tidak mewakili pandangan dari redaksi kumparan
Cover Artikel: Gambar : Adhitya Priyanka
zoom-in-whitePerbesar
Cover Artikel: Gambar : Adhitya Priyanka
ADVERTISEMENT
sosmed-whatsapp-green
kumparan Hadir di WhatsApp Channel
Follow
Lokibot adalah malware jenis trojan yang dikenal sebagai pencuri informasi. Malware ini mencuri data sensitif seperti nama pengguna, kata sandi, wallet cryptocurrency, dan kredensial lainnya dengan menggunakan keylogger untuk memantau aktivitas browser dan desktop. Namun saya tekankan sebelumnya bahwa Lokibot itu adalah malware yang berbeda dengan Lockbit. Lockbit adalah malware berupa ransomware yang biasanya merupakan serangan tahap akhir, sementara Lokibot adalah tergolong InfoStealer, Downloader, Dropper yang merupakan malware dengan teknik yang licik digunakan untuk mendownload malware, spyware, trojan, password stealer ataupun bisa digunakan men-deliver ransomware sebagai serangan tahap akhir. Melihat behaviour-nya, Lokibot cocok digunakan untuk kegiatan spionase maupun pencurian informasi.
ADVERTISEMENT
Lokibot sebenarnya sudah mulai beredar sejak 2015 namun CISA baru mengenal kasusnya di tahun 2016. Sudah terdapat beberapa case terkait Lokibot walau mungkin tidak se-viral ransomware, karena "biasanya" Lokibot tidak mudah terdeteksi dan tidak menyebabkan terhentinya layanan atau meminta ransom sehingga bisa tercium oleh publik atau media.
Ada sebuat kasus dimana Tim FortiGuard Labs SE mengidentifikasi adanya spam-campaign berbahaya pada tanggal 21 Agustus 2019, dimana mereka melakukan analisa berdasarkan informasi di VirusTotal. Spam-Campaign ini menargetkan sebuah perusahaan manufaktur besar di Amerika Serikat dengan memanfaatkan LokiBot. Yang menarik, Spam-Campaign ini juga memiliki tanggal kompilasi pada 21 Agustus, yang sama dengan hari ketika dimana Spam-Campaign ini dilakukan. Hal ini biasa dilakukan karena secara teori seharusnya belum ada perangkat security didunia yang mengenali signature Lokibot yang baru dibuat pada hari yang sama.
https://threatpost.com/u-s-manufacturer-most-recent-target-of-lokibot-malspam-campaign/148153/
Contoh Spam dalam campaign Lokibot. Gambar: Threatpost.com
Kemudian pada bulan Juli 2023, SCMagazine menyebutkan bahwa Microsoft mengalami awal bulan yang cukup sibuk. Berita Lokibot pada saat itu sempat tenggelam di antara berita tentang serangan Chinese APT Attack dan vulnerbility zero-day yang sedang aktif dieksploitasi yang baru saja diperbaiki pada "Patch Tuesday", ternyata saat itu juga sedang banyak beredar dokumen Microsoft Office yang malicious / berbahaya dimana hal ini sempat diamati oleh FortiGuard Labs. Ketika dokumen Office malicious ini dieksekusi kan menginstall malware LokiBot pada sistem korban. Padahal Microsoft pernah memberikan pernyataan kepada TechCrunch bahwa Microsoft akan memblokir Office macro by default mulai 27 Juli 2022 namun ternyata hal ini di rollback bedasarkan hasil user feedback.
ADVERTISEMENT
Dalam sebuah posting blog pada 12 Juli 2023 (https://www.fortinet.com/blog/threat-research/lokibot-targets-microsoft-office-document-using-vulnerabilities-and-macros), FortiGuard Labs menyatakan bahwa dokumen Microsoft Office berbahaya ini mengeksploitasi kerentanan Remote Code Execution yang sudah dikenali cukup lama yaitu CVE-2021-40444 (CVSS 7.8) dan CVE-2022-30190 (CVSS 7.8). Sebenarnya update untuk kedua kerentanan tersebut telah tersedia selama lebih dari setahun.
Para peneliti menyebut LokiBot juga sebagai Loki PWS, sebuah trojan yang mencuri informasi yang sudah terkenal sejak tahun 2015. Lokibot terutama menargetkan sistem Windows dan bertujuan untuk mengumpulkan informasi sensitif dari mesin korban yang terinfeksi. Saat ini Lokibot lebih sering digunakan menggantikan Dridex.
ADVERTISEMENT
Bagaimana cara kerja Lokibot?
Metode Penyebaran: Lokibot sering disebarkan melalui email phishing, situs web berbahaya, SMS, dan platform pesan lainnya.
Teknik Infeksi: Serangan biasanya dimulai dengan lampiran XLS berbahaya dalam email phishing yang mengandung makro yang disembunyikan dengan teknik obfuscation. Makro ini akan men-download dan mengeksekusi tahap berikutnya yang biasanya terenskripsi, yang kemudian menginstal Lokibot pada mesin korban.
Pada situs CISA (https://www.cisa.gov/news-events/cybersecurity-advisories/aa20-266a) kita bisa mengenal beberapa karakter lain terkait malware Lokibot. Berikut adalah kutipan artikel tersebut terkait detail teknis terkait Lokibot :
LokiBot—also known as Lokibot, Loki PWS, and Loki-bot—employs Trojan malware to steal sensitive information such as usernames, passwords, cryptocurrency wallets, and other credentials.
ADVERTISEMENT
Tapi dari beberapa dokumen yang saya baca misalnya sebagai berikut seperti pada situs CISA diatas, TrendMicro (https://www.trendmicro.com/en_us/research/19/h/lokibot-gains-new-persistence-mechanism-uses-steganography-to-hide-its-tracks.html) maupun MakeUseOf (https://www.makeuseof.com/how-to-protect-against-lokibot/) tidak memberikan gambaran yang cukup detail terkait bagaimana stage akhir Lokibot bekerja maupun teknik yang digunakan, namun cukup banyak bagaimana cara kerja penyebaran Lokibot pada 1st stage sampai 3rd stage.
Hal ini sangat disayangkan karena sebenarnya teknik yang digunakan cukup baik sehingga bagus untuk dipelajari agar dapat menerapkan langkah-langkah yang dibutuhkan dalam menangani serangan malware Lokibot maupun yang menggunakan teknik serupa. Hal ini yang akan saya bahas sebagai bacaan ringan untuk menemani hari-hari pembaca.
Pada artikel ini, saya tidak akan membahas proses Dropper atau Downloader bagaimana group hacker menaruh Lokibot pada sistem korban (analisa ini sudah cukup banyak beredar), tetapi lebih detail terkait salah satu varian last-stage Lokibot itu sendiri.
ADVERTISEMENT

Evasion Technique yang digunakan

Teknik Anti Forensik: Lokibot menggunakan beberapa teknik anti-forensik untuk tetap tersembunyi dan menghindari deteksi dari perangkat tersembunyi. Berikut adalah beberapa teknik yang digunakan oleh Lokibot:
Steganografi: Lokibot menggunakan steganografi untuk menyembunyikan kode malicious-nya. Dalam beberapa varian, Lokibot menyembunyikan file atau kode berbahaya dalam file gambar. Ini memungkinkan malware untuk mengelabui deteksi perangkat security dan mengaburkan jejaknya.
Embeded Executable pada Image menurut analisa Talos Intelegence: Gambar: Talos Intelligence
Packer: Lokibot menggunakan paket Delphi atau yang lain untuk mengemas executable code pada 2nd stage-nya. Packer ini mengandung metode unik yang membantu dalam menguraikan payload aslinya. Dengan menggunakan teknik ini, Lokibot dapat menghindari deteksi lebih lanjut dan mempersulit analisis seperti yang saya akan lakukan.
Contoh proses infeksi Lokibot dan fase serangannya. Gambar: Talos Intelligence
Obfuscation: Lokibot menggunakan nama variabel random / panjang dan penggunaan heksadesimal untuk mengaburkan makro yang dieksekusi. Ini membuat analisis lebih sulit dan mengurangi kemungkinan deteksi.
Contoh obfuscated code Lokibot. Gambar: Morphisec
Saya mendapatkan sample Lokibot yang berdasarkan behaviour adalah "kemungkinan" last-stage malware dari alur infeksi Lokibot. Tidak banyak yang membahas secara teknis terkait metode apa yang digunakan untuk mengelabui pendeteksian perangkat security. Karena berikutnya akan membawa sedikit hal teknis, mohonlah bersabar sembari saya bercerita sembari menyisipi hal-hal teknis sambil saya melakukan kegiatan Reverse Engineering.
ADVERTISEMENT

Kegiatan Analisa Sample

Kegiatan Reverse Engineering diawali dengan melihat informasi standar pada Lokibot ini. Kita bisa lihat bahwa tipe file adalah PE32 (Windows 32 bit Executable File, atau file .EXE untuk 32bit Windows). Kenapa Lokibot menggunakan 32bit padahal sekarang sudah pindah ke era 64bit? Alasannya karena dengan membuat malware 32bit, malware ini bisa menginfeksi Windows 32bit maupun 64bit, namun tidak sebaliknya.
Lokibot ini dalam kondisi packed. Gambar: Adhitya Priyanka
Berdasarkan entropy, kita bisa melihat bahwa 89% kemungkinan Lokibot ini di packed menggunakan tools Packer tertentu. Tentunya kita bisa mencari software untuk unpack-nya namun tidak dibahas disini karena 2 hal:
ADVERTISEMENT
Ketika melihat library yang di-import, hal ini tidak sesuai dengan behaviour Packer yang biasa digunakan. Pertama kita akan melihat ada banyak library yang digunakan oleh malware. Setelah diteliti lebih lanjut, kita bisa melihat ada 527 functions yang di-import. Dari besarnya jumlah functions yang di-import, "biasanya" ini menandakan bahwa File Executable tersebut tidak dilakukan packing, sehingga kegiatan forensik / reverse engineering bisa dilakukan tanpa perlu unpacking. Dan hal ini sengaja dilakukan oleh Lokibot untuk mengelabui tim forensik / reverse engineering dalam kegiatan analisa ini.
Lokitbot juga mengimport 527 functions. Gambar: Adhitya Priyanka
Berikutnya kita bisa menggunakan tools seperti Ghidra untuk sedikit melakukan analisa malware yang di-decompile. Tentunya kita akan menemukan banyak sekali functions yang harus dianalisa (527 functions). Namun kita bisa mempersempit analisa hanya ke functions yang benar-benar signifikan jika kita mengurutnya dari entry program.
Entry packed Lokibot yang di decompile oleh Ghidra. Gambar: Adhitya Priyanka
Alamat Memory Entry dari malware Lokibot
Sembari menganalisa tools Ghidra, saya mencoba menjalankan tools tersebut dengan menggunakan debugger untuk mengamati apa yang terjadi. Namun terjadi unexpected behaviour dimana malware tersebut tidak berjalan dan langsung berhenti. Ini artinya ada suatu mekanisme Anti-Forensic yang digunakan. Nah, ini adalah sebuah petunjuk yang penting. Dan metode Anti-Forensic ini harus kita kalahkan untuk mengetahui apa yang terjadi sebenarnya.
ADVERTISEMENT
Setelah beberapa jam (tidur juga dihitung) menelaah function yang ada (mulai dari main-function tentunya) ditemukanlah sebuah function yang digunakan sebagai anti-debugging yang diimpementasi oleh Lokibot. Kita bisa mengamati function tersebut dan menemukan significant code pertama yaitu function isDebuggerPresent pada functions FUN_00403b3a yang membuktikan bahwa malware Lokibot mengimplementasikan teknik anti-forensics atau anti-debugging juga selain menggunakan Packer.
Fungsi yang digunakan agar malware tidak dapat berjalan pada proses Forensik. Gambar: Adhitya Priyanka
Tentunya anti-debugging ini bisa dengan mudah kita bypass cukup mudah dengan memodifikasi result value-nya. Harapan setelah melakukan bypass anti-debugging, kita bisa melihat bagaimana Lokibot ini melakukan teknik Stealth sehingga sulit di deteksi oleh perangkat Anti-Virus.
Setelah 1 abad berlalu (hyperbolic), baru disadari bahwa Lokibot menggunakan sebuah teknik bernama Fileless Malware. Hal ini menyebabkan kebingungan karena file malicious yang di drop oleh Lokibot ketika dicoba dilakukan analisa tidak melakukan behaviour Lokibot yang diharapkan, dan tidak ada code yang dicari pada main function dari malware Lokibot.
ADVERTISEMENT
Fileless Malware adalah jenis perangkat lunak berbahaya (ataupun hanya sekedar malicious code) yang dieksekusi langsung dari memori komputer, tanpa perlu mengunduh file ke disk drive. Berbeda dengan malware tradisional yang mengandalkan file, fileless malware ini berbasis memori. Ini memungkinkan serangan tetap tidak terdeteksi karena tidak meninggalkan “jejak” biasa yang biasanya dikenali oleh perangkat lunak antivirus.
Jadi kita punya misi berikutnya adalah mengekstract Fileless Malware dari memory. Hal ini bisa saja mudah dilakukan atau sangat sulit dilakukan, tergantung dari teknik yang digunakan oleh malware yang dianalisa. Pada proses Reverse Engineering tahap debugging ini, berhasil ditemukan alokasi memory yang digunakan oleh Lokibot untuk mengekstract malware sebenarnya. Alamat Memory yang dialokasikan selalu berubah, karena Operating System akan melihat memory yang available untuk digunakan. Sekarang yang kita perlu lakukan sekarang hanya menjalankan malware tersebut hingga alamat memory tersebut berisi malware yang sudah di-unpack.
Alamat Memory yang akan diisi malware Lokibot. Gambar: Adhitya Priyanka
Alamat memory sudah berisi Malware yang di packed. Gambar: Adhitya Priyanka
Kita berhasil mengamati malware Lokibot yang di-unpack di-memory dan segera setelah malware ini berhasil di unpack di memory, malware ini segera di jalankan dari memory tanpa perlu ditulis ke disk. Kita bisa melihat adanya Magic Number file executable Windows yaitu MZ. Namun ketika alamat memory ini di-dump, kita tidak mendapatkan malware, namun hanya terdeteksi sebagai Raw File sebesar 212kb saja. Hal ini terjadi karena pada alamat memory tersebut, code assembler yang di-unpack adalah bukan code yang kita harapkan.
MZ ternyata merupakan bagian dari perintah MOV EAX, 5A4D. Gambar: Adhitya - Priyanka
Kita perlu menelusuri alamat Stack Memory yang digunakan dengan menelusuri value ESP dan mulai dari sana untuk mencari exact stack memory location dari File Executable yang di unpack tersebut. Dan setelah lokasi yang tepat ditemukan, dengan kode ASCII pada Hex Viewer kita bisa melihat bahwa ini memiliki signature Windows File Executable yang benar, sehingga kita bisa melakukan dump malware ini dari memory untuk dilakukan pengecekan apakah benar ini adalah malicious malware dari Lokibot yang unpacked agar bisa dilakukan analisa lebih lanjut.
Isi Memory dari Alamat yang benar berisi File Executable dengan Signature yang valid. Gambar: Adhitya Priyanka
Entropy dari malware hasil dump memory menunjukkan malware tidak lagi dalam kondisi di packed. Gambar: Adhitya Priyanka
Nah kita bisa bandingkan kedua file tersebut dengan menggunakan VirusTotal. Tampak pada gambar bahwa perangkat pengamanan yang hanya mengandalkan signature (hash) belum tentu mampu mendeteksi adanya ancaman.
Microsoft mengenal Packed Lokibot sebagai Trojan:Win32/Predator.AR!MTB. Gambar: Adhitya Priyanka
Unpacked Malware Lokibot tidak dikenali hash-nya. Gambar: Adhitya Priyanka
Microsoft mengenali Unpacked Lokibot sebagai PWS:Win32/PrimaryPass!pz setelah diupload. Gambar: Adhitya Priyanka
Tampak bahwa sample file tersebut baru dikenali setelah sample diupload. Gambar: Adhitya Priyanka
Tentunya ada yang akan berargumen bahwa ini bukanlah sebuah fileless malware tapi adalah proses menduplikasi dirinya sendiri. Tentu saja kita harus pastikan bahwa apakah ini file duplikasi diri sendiri atau benar-benar sebuah malware yang baru. Jadi kita lakukan perbandingan hasil dekompilasi dan melihat entry function dari malware tersebut apakah sama atau tidak. Dari perbandingan capture entry function yang saya berikan, tampak dengan jelas bahwa ini adalah malware yang benar-benar berbeda.
Entry functions dari unpacked malware Lokibot. Gambar: Adhitya - Priyanka
Dari analisa secara singkat pada unpacked-malware dapat terlihat bahwa malware Lokibot utama ini memang mengambil informasi yang cukup banyak dan mengirimnya ke alamat Command and Control (C2). Dalam beberapa varian juga sering ditemukan signature mirip nama domain (fuckav[.]ru) dan kadang cuma sebagai subset string tersebut (ckav[.]ru). Kalau hanya sekedar melihat IP Address dari fuckav[.]ru (104.21.30[.]49) tampaknya yang menggunakan layanan Cloudflare sehingga IP address dari Cloudflare ini bisa saja masuk whitelist namun belum bisa dibuktikan apakah signature ini adalah C2 atau decoy karena pada analisa awal domain tersebut tidak pernah di-request baik itu DNS maupun HTTP karena biasanya ada code anti-debugging yang lain yang menghalangi malware bisa berjalan sebagaimana mestinya pada environtment debugging yang saya gunakan. Hal ini memang membutuhkan langkah Reverse Engineering lanjutan lagi.
ADVERTISEMENT
Namun melihat title dari situs tersebut, tampak bahwa situs tersebut menggunakan bahasa Rusia.
Pada code ini, Lokibot tampaknya memiliki template untuk mengambil informasi sensitif pada known product seperti SMTP credential, POP3 credential, hostname, informasi registry terhadap produk-produk antara lain seperti Firefox, Thunderbrd, FossaMail, Postbox, Flock, Safari, BvSShClient, FTP Host, Fling, Linas FTP dan lain-lain hingga terdapat query untuk mencari encryptedUsername dan encryptedPassword dari Mozilla sebagai berikut:
Ketika kita mencoba membandingkan analisa packed malware menggunakan tools seperti Any.Run kita bisa mengetahui bahwa tools Any.Run ini memiliki keterbatasan karena tidak bisa benar-benar melihat apa yang sebenarnya terjadi. Untuk membedakan informasi yang didapat tanpa mengekstrak hidden-malware didalam malware Lokibot ini saya sudah menyiapkan perbandingan sederhana yang membuktikan bahwa kita bisa melakukan analisa lebih apabila mampu mengekstak body malware utama yang tidak di packed. Namun Dynamic Analysis malware ini tidak bisa menghasilkan informasi yang cukup banyak apabila tidak dilakukan analisa dalam kurun waktu yang sangat dekat dengan waktu kejadian cyber attack karena biasanya C2 akan aktif dalam waktu yang relatif singkat. Sebagai contoh naourl[.]com saat ini sudah dianggap non-existent domain sehingga tidak bisa dianalisa lebih lanjut.
Informasi yang didapatkan oleh packed malware hanya ada 1 DNS request dan 0 Connections. Gambar: Adhitya - Priyanka
Informasi request yang didapatkan pada unpacked malware terdapat 13 connections. Gambar: Adhitya - Priyanka
Malware configuration sekarang dapat di extract pada unpacked malware. Gambar: Adhitya - Priyanka
Akan banyak sekali yang bisa dianalisa dari main body malware ini lebih lanjut baik secara manual maupun dengan bantuan tools. Misalnya :
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT
Lesson Learned
Tidak semua perangkat security baik itu hardware maupun software mampu mendeteksi malware yang mengimplementasikan teknik anti-forensic, evasion technic maupun anti-debugging. Hal ini terjadi karena malicious-code dari malware tersebut disembunyikan dengan baik. Namun ketika dijalankan pada perangkat yang miliki fitur sandboxing, perangkat security mungkin mampu mendeteksi adanya kegiatan malicious walaupun tidak bisa mendeteksi potensi ancaman secara keseluruhan, namun hal ini cukup menjadi langkah awal bagi Blue Team untuk melakukan threat hunting pada seluruh environtment di perusahaan masing-masing. Tanpa langkah threat hunting dengan skill dan teamwork yang memadai, tentu saja attack akan berlanjut dan bisa jadi terlambat sehingga akhirnya bisa terjadi resiko cyber attack yang jauh lebih besar.
Proses Reverse Engineering ini memang jarang sekali dilakukan di Indonesia mungkin karena keahlian ini jarang dimiliki dan dijadikan sebuah proses atau kebutuhan dalam sebuah perusahaan. Padahal proses ini akan cukup penting bagi perusahaan untuk melakukan fine tuning infrastruktur mereka agar bisa memblokir teknik-teknik malware baru (terutama analisa malwre dropper dan downloader) yang tentunya tidak semua solusi security bisa memblokir 100% ancaman, walaupun telah mengimplementasikan Best Practice andalan dari suatu security product / solution / vendor ataupun mengimplementasikan security framework seperti Zero Trust.
ADVERTISEMENT
Kita perlu menyadari bahwa kita tidak bisa mempercayakan sepenuhnya pada security product / solution karena harus mempertimbangkan bahwa sejumlah vendor penyedia solusi security juga pernah menjadi korban cyber attack. Misalnya Okta - Zero Trust dan Cisco, dimana kasus Cisco (Talos) ini merupakan kasus yang cukup bagus untuk dipelajari juga oleh pembaca dimana kasus hacking kelas dunia-pun diawali dari kelemahan user (ATT&CK Technique : Phishing (T1566)) - https://blog.talosintelligence.com/recent-cyber-attack/.
Kasus tersebut sekali lagi menekankan pentingnya untuk selalu meningkatkan user awareness atau cyber-security literacy.