Responsi Malware Analisis
Analisis Malware Ransomware
1. Identifikasi Malware
Informasi File
- Format File: ELF 64-bit LSB pie executable
- Arsitektur: x86-64
- Status Simbol: stripped
- Author Malware: pyrg
2. Dynamic Analysis (GEF)
Patching untuk Analisis
Untuk melakukan patching debug, deteksi VM/Sandbox dan juga self-delete, pada awal function sub_41b1 pada paling awal (biasanya push rbp, dst) ubah ke xor eax, eax; ret (memberi laporan aman/return 1, lalu keluar).
3. Reverse Engineering - Main (Orchestrator)
Mode Operasi
- Otomatis: Enkripsi dengan kunci hardcoded
- Manual: Mendukung argumen
enc(enkripsi) ataudec-(dekripsi)
Targeting
- Identifikasi file via absolute path menggunakan
realpath
Fitur Stealth (Anti-Forensik)
- Self-Deletion: Menghapus binary sendiri dari disk via
unlink - Anti-Detection:
nice(10)untuk membatasi penggunaan CPU agar tidak mencurigakan
Eksekusi & Keamanan Kunci
- Kriptografi: Inisialisasi kunci di memori untuk proses file
- Memory Wiping: Menghapus kunci dari RAM segera setelah selesai (mencegah memory dump)
4. Reverse Engineering - sub_41B1 (Anti-Analysis)
Fungsi "gerbang" yang mengecek apakah malware berjalan di Virtual Machine (VM) atau Debugger.
5. Reverse Engineering - sub_3E74 (Fingerprinting)
Membaca file sistem (seperti di /proc) untuk mencari jejak VMware, QEMU, atau VirtualBox.
6. Reverse Engineering - sub_3A89 (Traversal)
Pemindaian Rekursif
- Menggunakan
opendirdanreaddiruntuk menelusuri folder - Jika menemukan folder baru (
0x4000), fungsi akan memanggil dirinya sendiri (rekursi) untuk masuk lebih dalam
Identifikasi Target
- Filter: Mengabaikan direktori spesial
.(sekarang) dan..(atas) - Tipe File: Hanya memproses file reguler (
0x8000) dan mengabaikan symbolic links
Logika Enkripsi/Dekripsi
- Ekstensi Khusus: Mengecek 7 karakter terakhir file (sebagai tanda/ekstensi malware)
- Enkripsi: Jika file belum terenkripsi, panggil
sub_3839 - Dekripsi: Jika file memiliki tanda malware, panggil
sub_393Euntuk memulihkan
7. Reverse Engineering - sub_3839 (File Handler)
Manipulasi Ekstensi
- Membuat nama file baru dengan menambahkan ekstensi unik (7-8 karakter acak dari
sub_24DA) pada akhir nama file asli
Proses Enkripsi (sub_2AD7)
- Membaca isi file asli, mengenkripsinya dengan kunci dari memori, dan menuliskannya ke file baru yang berekstensi tadi
Preservasi Izin (chmod)
- Menyalin atribut/izin file asli (
st_mode) ke file terenkripsi agar terlihat identik di sistem
Penghapusan File Asli (unlink)
- Setelah file terenkripsi berhasil dibuat, file asli langsung dihapus untuk memastikan data korban tidak bisa dipulihkan tanpa kunci
8. Reverse Engineering - sub_2AD7 (Cryptography & Struktur File)
Algoritma: AES-128-GCM
- Menggunakan enkripsi blok standar industri yang sangat kuat
- GCM Mode: Memberikan kerahasiaan sekaligus jaminan integritas data
Struktur Konstruksi File (Layout)
Malware membangun file baru dengan urutan penulisan sebagai berikut:
- Header (18 Byte): Berisi Magic Header dan IV (Initialization Vector) 12-byte yang dibuat acak untuk tiap file
- Encrypted Body: Data asli korban yang telah dienkripsi dalam chunk besar (256 KB) untuk efisiensi maksimal
- Footer/Tag (16 Byte): Authentication Tag dari GCM untuk validasi data saat dekripsi
Optimasi & Anti-Forensik
- Direct I/O: Menggunakan
posix_fadviseuntuk mempercepat proses enkripsi langsung ke disk - Memory Sanitization: Memanggil fungsi wiping untuk membersihkan kunci enkripsi, IV, dan buffer data dari RAM segera setelah file tertutup
9. Ringkasan Malware
Malware ini melakukan enkripsi ke semua file dengan struktur:
Magic Header → IV → Data → Authentication Tag (GCM tag)
Dengan penambahan ekstensi .malrev, lalu melakukan self-delete. Setelah itu clean up memory.
10. Encryption Extension
Hasil dari enkripsi berupa nama file + extension dengan penambahan .malrev
Contoh:
document.txt→document.txt.malrev
11. Key Extraction
byte_7180 berisi 16 bytes key yang sudah ter-obfuscate (di-XOR dengan 'Z').
Key yang ditemukan:
K8fZp2QwLm3N7rX9
12. IV (Initialization Vector)
RAND_bytes menghasilkan 12 bytes random data ke dalam variabel v15.
13. Decrypt Command
./program dec-<16_karakter_key>
Key untuk dekripsi harus tepat 16 karakter (setelah "dec-").
Contoh:
./program dec-K8fZp2QwLm3N7rX9
14. Test Decrypt File
Script dekripsi:
- Melewati 6 byte pertama (magic header)
- Mengambil 12 byte sebagai IV
- Mengambil 16 byte terakhir sebagai tag
- Data di antara IV dan tag sebagai Ciphertext
- Dekripsi menggunakan AES-128-GCM
15. YARA Rule
Rules menggunakan sistem tiered scoring - binary harus memiliki:
- TIER 1: Core encryption functions
- TIER 2/3: Behavioral indicators (minimal salah satu)
Ini memastikan false positive rate mendekati 0% karena tools legitimate seperti OpenSSL memiliki crypto functions tapi tidak memiliki directory traversal + file encryption pattern yang spesifik untuk ransomware.
Repository YARA Rule: https://github.com/kingzuy/yareeeeeeee-eemuahh/blob/main/yara.yar
TERIMA KASIH
End of report.