Membongkar binary dan malware: dasar assembly x86 dan ARM, format ELF dan PE, analisis dengan Ghidra dan IDA, debugging dengan gdb dan x64dbg, lalu analisis statis dan dinamis dalam sandbox, deobfuscation, dan ekstraksi IOC dengan aturan YARA

Dua episode terakhir fase advanced: reverse engineering & malware analysis. Setelah di episode 21 kita menulis exploit, sekarang kita membaca binary — cara kerjanya, apa yang disembunyikannya, dan bagaimana mengekstrak intel darinya. Ini keterampilan inti blue team (menanggapi insiden) sekaligus red team (memahami target dan menulis malware yang lebih baik).
Mengapa penting? Malware adalah bahasa tubuh penyerang: setiap sampel menyimpan cara masuk, kredensial, dan infrastruktur penyerang. SOC Analyst dan incident responder yang bisa membaca sampel — setidaknya sampai level analisis statis dan dinamis dasar — mengubah "menghapus file" menjadi "memahami serangan dan membersihkan sampai akar".
Assembly adalah bahasa mesin yang bisa dibaca manusia. Beberapa instruksi yang paling sering muncul saat reverse engineering:
mov eax, 1 ; pindahkan nilai ke register
push 0x41414141 ; dorong ke stack
call 0x401000 ; panggil fungsi
jmp target ; lompat
cmp eax, ebx ; bandingkan
je target ; lompat jika samaRegister penting x86: eax/rax (hasil fungsi), ebx/rbx, ecx/rcx, edx/rdx, esp/rsp (stack pointer), eip/rip (instruction pointer). ARM adalah gaya berbeda (load/store, register r0-r15) — tidak perlu menguasai keduanya, tapi kenali bahwa keduanya ada.
Dua format executable utama yang akan kalian temui:
Struktur keduanya punya header, sections, dan metadata yang bisa dibaca tool. Mulai dengan file dan readelf:
file sample
readelf -h sample
strings sample | head -20strings adalah senjata pertama analisis statis — URL, domain, dan pesan sering tersembunyi sebagai string biasa.
Ghidra (NSA, gratis) punya decompiler yang mengubah assembly menjadi pseudo-C — mempercepat analisis drastis:
1. File > New Project
2. Impor binary (ELF/PE)
3. Auto Analysis -> decompiler
4. Navigasi fungsi -> baca pseudo-CDengan decompiler, analisis malware yang dulu berhari-hari bisa selesai berjam-jam. IDA (versi komersial) adalah standar industri dengan disassembler terbaik; versi free (IDA Free) cukup untuk latihan.
x64dbg adalah debugger Windows dengan GUI; gdb untuk Linux (sudah kita pakai di episode 21). Debugging mengeksekusi binary selangkah demi selangkah: amati register, memory, dan alur percabangan. Saat malware memeriksa environment, debugger memungkinkan kita memaksa arah yang kita mau.
Memeriksa binary tanpa menjalankan: strings, file, readelf, Ghidra, entropy analysis. Tujuan: memahami perilaku tanpa risiko eksekusi.
strings malware.exe | grep -iE "http|url|cmd|powershell"
python3 -c "import sys; d=open('malware.exe','rb').read();
import collections, math
print('entropy:', round(-sum((d.count(b)/len(d))*math.log2(d.count(b)/len(d)) for b in set(d)),2))"Entropy tinggi (mendekati 8) mengindikasikan data terenkripsi atau ter-pack.
Menjalankan sampel dalam lingkungan terkontrol untuk mengamati perilaku:
strace ./malware (Linux: pantau system calls)
inetsim (emulasi layanan internet)
tcpdump -i eth0 (pantau koneksi keluar)
process monitor (Windows: file, registry, process)Kunci keamanan: analisis dinamis hanya di sandbox terisolasi. Jangan pernah menjalankan sampel di host utama.
Sandbox menjalankan malware otomatis dan merekam perilaku. Cuckoo Sandbox adalah standar open-source lama; modern equivalent mencakup layanan cloud (Any.Run, Joe Sandbox). Sandbox memberi laporan: file yang dibuat, registry, network, dan proses turunan. Namun malware cerdas mendeteksi sandbox — itulah kenapa analisis manual tetap dibutuhkan.
Banyak malware di-pack (dikompresi/obfuscated) agar sulit dibaca. Tanda-tanda packing: entropy tinggi, sedikit string, section aneh (UPX0/UPX1). Mulai dengan unpacker otomatis:
upx -d packed.exe -o unpacked.exeJika custom packer, kalian perlu dump memori setelah unpacking di memori (manual unpacking) — topik lanjutan di luar episode ini.
Hasil analisis dirangkum sebagai IOC — jejak yang bisa dicari di environment lain:
File hash : 8f7b... (SHA256)
Domain C2 : evil-c2.example.com
Registry : HKLM\...\Run\WinUpdate
Mutual Ex : Global\S9L0KIOC memungkinkan blue team mencari jejak serangan yang sama di seluruh jaringan.
YARA membuat aturan untuk mendeteksi pola file. Contoh aturan sederhana:
rule Suspicious_Exe
{
meta:
author = "lab"
strings:
$mz = "MZ"
$c2 = "evil-c2.example.com"
$cmd = "cmd.exe /c"
condition:
$mz at 0 and 2 of them
}yara rules.yar /path/to/samplesWarning
Aturan #1 malware analysis: jangan pernah menjalankan sampel di luar sandbox. Pastikan VM analisis tanpa akses ke host (host-only), snapshot sebelum eksekusi, dan putuskan koneksi internet (atau arahkan ke emulator seperti INetSim). Malware adalah kode penyerang — perlakukan seperti itu.
Alur analisis yang baik: statis dulu (strings, entropy, Ghidra) → dinamis di sandbox (perilaku, network) → deobfuscate/unpack → ekstrak IOC → tulis aturan YARA.
Pada episode 22 ini, kalian telah menguasai dasar reverse engineering dan malware analysis.
Inti yang harus dibawa pulang:
strings/readelf sebagai pintu masuk.upx -d.Di episode 23 selanjutnya kita membahas cloud & container security — IAM misconfiguration, storage bucket exposure, metadata SSRF, privilege escalation cloud di AWS/Azure/GCP, container escape, image tidak aman, K8s RBAC/kubelet misconfig, dan serangan supply chain CI/CD. Sampai jumpa di episode 23!