Ada peneliti yang share Kode Stuxnet. Stuxnet adalah salah satu malware yang fenomenal banget. Dia dirancang untuk melakukan sabotase instalasi nuklir di iran. Nah ada 2 orang peneliti om Roggia dan Thabet yang mempelajari stuxnet ini. Dia melakukan dissasembler dan decompile terhadap malware ini. Kemudian dia coba susun ulang source code si stuxnet ini.
Karena stuxnet adalah salah satu malware yang paling kompleks, jadi nyusun ulang kode ini gak gampang. Konon mereka butuh ratusan sampe ribuan jam untuk nyusun ulang kode stuxnet ini. Kode ini berguna banget buat yang pengen belajar tentang stuxnet. Tapi jangan disalahgunakan ya. Kodenya bisa dilihat disini:
Kodenya mereka bagi dua, ada dropper dan rootkit. Oiya mereka minta jangan lupa sitasi kerjaan mereka yah klo kode ini dipake buat thesis ataupun paper. Semoga Bermanfaat!
Saya lagi baca tulisan Christiaan Beek. Dia ngerubah malware jadi suara, trus dibandingin kemiripannya. Contohnya yang dia bandingin dua varian ransomware conti. Satu versi yang bulan mei satu lagi bulan juni. Tapi cukup menarik idenya. Kayaknya bakal bisa diperluas buat dilakukan analisa spektrum frekuensinya, atau buat model klasifikasi malware dengan machine learning.
Buat ngerubah sampel malware ke audio dia pake command berikut ini di linux:
Saya lagi nyoba Blackex, ini tools untuk unpacking tool di Android. Jadi klo lagi analisa file apk mencurigakan bisa pake tools ini buat unpacking dan ngedapitin dex file. Dex file ini file yang isinya compiled code (dalvik Bytecodes) yang siap dijalankan di Android Virtual mesin. Atau bisa juga dibilang Java Classes yang udah dicompiled.
Biasanya klo melakukan reverse apk android proses nya kayak gini:
BlackDex melakukan unpacking file APK dari cookie DexFile. Tools ini konon bisa jalan di semua versi android yang pake ART (Android Runtime). Tools ini punya mode deep unpacking, maksudnya dia bisa nge-load DexCode yang diarahkan ke blok memori lain ke DexFile. Dengan metode ini bisa dilakukan restore (pengembalian) kode yang dihapus dengan NOP.
Cuman gak semua bisa direstore. Contohnya ada aplikasi yang restore instruksi sebelum app dijalankan. Kalo gini, blackdex gak bisa restore instruksi ke DexFile.
Info lebih lanjut tentang BlackDex bisa dilihat disini:
Di github ada yang share kumpulan resource buat analisa malware, dia namain malware gems. Isinya kumpulan link tentang analisa malware dari 0x4143. Ada berbagai tools, link training, podcasts, blog dan literatur lainnya disana. Dia kumpulin jadi beberapa kategori:
Saya baru baca2 tulisan tentang malware Qakbot. Dia melakukan reverse enginering terhadap Qakbot. Qakbot ini salah satu trojan banking yang banyak ditemukan. Banking trojan kerjanya nyuri login dan password ebanking (banking credential). Walaupun sekarang banyak gang cybercrime yang nambahin fiturnya misalnya dengan fungsi ransomware, backdoor dll. Qakbot ini punya juga teknik anti analysis, misalnya deteksi VM, bisa update secara berkala, dan bisa ngerubah cryptor maupun packernya. Fitur lainnya dia bisa nyuri email. Biasanya digunakan buat ngirim email ke korban.
Qakbot umumnya menyebar melalui spam. Penyerang ngirim email ke korban dengan attachment dokumen office (word, excel) atau file zip dengan password. Dokumen ini menggunakan makro, dan sering ditulis memiliki informasi penting (misalnya invoice, tagihan). Pada beberapa kasus, emailnya memiliki link ke web lain.
Selain itu ada kasus lain dimana Qakbot, diunduh oleh malware lainnya. Securelist melaporkan bahwa penyerang melakukan reconnaissance (mengumpulkan info) terlebih dahulu tentang target sebelum memasang malware.
Analisa lengkap dari securelist bisa dilihat disini:
Laporan reverse engineering kasua tentang Qakbot Stager. Stager adalah file kecil yang biasanya digunakan penyerang sebagai serangan pertama (initial payload). Stager ini kemudian digunakan untuk mempersiapkan atau mengunduh payload berikutnya.
Belakangan ini mulai banyak ditemukan delphi malware, maksudnya malware yang dibikin pake bahasa Delphi. Delphi ini salah satu bahasa pemrograman berbasis obyek turunannya pascal. Dulu dikembangkan sama perusahaan borland sekitar tahun 95an, tapi sekarang di maintain sama embarcadero.
Delphi mulai banyak digunakan malware untuk evade malware classification alias menghidari deteksi anti virus. Konon bahasa delphi mulai dilirik sama penulis malware karena beberapa alasan berikut:
Independen terhadap dll pihak ketiga, semua yangdibutuhkan bisa dicompile ke dalam binary malware
Mudah dalam memanfaatkan fungsi API windows, termasuk fungsi kernel
Menyulitkan Reverse engineering, contohnya dengan IDA pro, ollydbg maupun x64dbg, tabel import address harus direkonstruksi ulang dengan ImprRec terlebih dahulu
Untuk menghindari analisa statik dengan melakukan enkripsi fungsi (obfuscation)
Selain itu juga mulai banyak ditemukan tools packer/crypter berbasis delphi. Ada tulisan menarik berikut dari FireEye yang pernah nemuin packer berbasis delphi:
Fireye menemukan signature “BobSoft Mini Delphi” pada 8 family malware diantaranya Lokibot, Pony downloader dan NanoCore. Selain itu ada juga CoinMiner. Contoh lainnya adalah sugar ransomware. Pada sugar ransomware, karena menggunakan packer delphi banyak analis yang hanya menemukan 1 algoritma enkripsi yaitu scop, padahal ada 3 algoritma enkripsi yang digunakan.
Reverse engineering Delphi agak berbeda, contohnya bisa dilihat pada video yang om jiri vinopal berikut:
Saya lagi baca tulisan menarik tentang Virus Dos. Maksudnya virus komputer yang dibuat utk MS-Dos. MS Dos ini sistem operasi jaman jadul banget. Pas saya masih kecil dulu masih sempet pake Dos. Bentuknya teks based. Kalo sekarang yah mirip dengan cmd klo di windows, ato terminal di linux
Nah artikel tadi ngebahas tentang virus jadul yang dibuat untuk Dos. Benjojo ini coba ngumpulin sampel virus jadul dan direverse sama dia. Dia ngumpulin 17 ribu sampel, dan dia pelajari. Saking niatnya dia sampe berbagai tools buat nganalisa sampel2 tersebut. Artikelnya bisa dilihat disini:
Saya lagi baca paper Malware classification with Word2Vec, HMM2Vec, BERT, and ELMo karya kale dkk. Dia ngebangun sistem klasifikasi malware dengan word2vec. Jadi dia pake fitur opcode dari malware, kemudian disusun jadi teknik embedding NLP pake Word2Vec, HMM2Vec, BERT, dan ELMo.
Kemudian dilakukan klasifikasi pake support vector machines (SVM), k-nearest neighbor (kNN), random forests (RF), dan convolutional neural networks (CNN).
Eksperimennya pake 7 family malware. Menurut mereka, performancenya lebih bagus dan training timenya lebih cepet dibandingin benchmark.
Opcodenya diekstrak pake objdump. 3 opcode yang paling sering muncul adalah, Mov, add dan push. 7 family malware yang dipilih karena punya sampel lebih dari 1000 yaitu bho, ceeinject, Fakerean,onlinegames, Renos, Vobfus, dan winwebsec.
Saya baru nemu dataset malware Malnet. Dataset ini isinya sampel malware yang udah diconvert jadi image. Ada sekitar 1,2 juta sampel terdiri dari 47 kategori dan 696 family. Jumlah ini jauh lebih banyak dibandingkan dengan dataset MalImg. Sampel ini dikumpulkan oleh Scott Freitas dan Georgia Tech Polo club of Data science.
Sampel-sampel ni adalah sampel malware android. Dikumpulkan dari AndroZoo. Pelabelannya pake struktur klasifikasi Euphony.