Belajar Cyber Security - Reverse Engineering & Malware Analysis
Episode 22 of 26

Belajar Cyber Security - Reverse Engineering & Malware Analysis

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

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

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".

Dasar Assembly dan Format File

Assembly x86 dan ARM

Assembly adalah bahasa mesin yang bisa dibaca manusia. Beberapa instruksi yang paling sering muncul saat reverse engineering:

Instruksi assembly umum
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 sama

Register 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.

ELF dan PE

Dua format executable utama yang akan kalian temui:

  • ELF (Executable and Linkable Format): Linux/Unix.
  • PE (Portable Executable): Windows.

Struktur keduanya punya header, sections, dan metadata yang bisa dibaca tool. Mulai dengan file dan readelf:

Baca metadata binary
file sample
readelf -h sample
strings sample | head -20

strings adalah senjata pertama analisis statis — URL, domain, dan pesan sering tersembunyi sebagai string biasa.

Tool Utama: Ghidra dan IDA

Ghidra: Gratis dan Mendukung Decompiler

Ghidra (NSA, gratis) punya decompiler yang mengubah assembly menjadi pseudo-C — mempercepat analisis drastis:

Alur kerja Ghidra
1. File > New Project
2. Impor binary (ELF/PE)
3. Auto Analysis -> decompiler
4. Navigasi fungsi -> baca pseudo-C

Dengan 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 dan gdb: Debugging

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.

Analisis Statis vs Dinamis

Analisis Statis

Memeriksa binary tanpa menjalankan: strings, file, readelf, Ghidra, entropy analysis. Tujuan: memahami perilaku tanpa risiko eksekusi.

Analisis statis dasar
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.

Analisis Dinamis

Menjalankan sampel dalam lingkungan terkontrol untuk mengamati perilaku:

Analisis dinamis dasar
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 dan Deobfuscation

Sandbox

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.

Deobfuscation dan Packing

Banyak malware di-pack (dikompresi/obfuscated) agar sulit dibaca. Tanda-tanda packing: entropy tinggi, sedikit string, section aneh (UPX0/UPX1). Mulai dengan unpacker otomatis:

Unpack UPX
upx -d packed.exe -o unpacked.exe

Jika custom packer, kalian perlu dump memori setelah unpacking di memori (manual unpacking) — topik lanjutan di luar episode ini.

IOC dan YARA

IOC: Indicators of Compromise

Hasil analisis dirangkum sebagai IOC — jejak yang bisa dicari di environment lain:

Contoh IOC
File hash : 8f7b... (SHA256)
Domain C2 : evil-c2.example.com
Registry  : HKLM\...\Run\WinUpdate
Mutual Ex : Global\S9L0K

IOC memungkinkan blue team mencari jejak serangan yang sama di seluruh jaringan.

YARA: Aturan Deteksi

YARA membuat aturan untuk mendeteksi pola file. Contoh aturan sederhana:

Aturan YARA deteksi string
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
}
Scan direktori dengan YARA
yara rules.yar /path/to/samples

Warning

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.

Mitigasi dan Alur Kerja Ringkas

Alur analisis yang baik: statis dulu (strings, entropy, Ghidra) → dinamis di sandbox (perilaku, network) → deobfuscate/unpackekstrak IOCtulis aturan YARA.

Penutup

Pada episode 22 ini, kalian telah menguasai dasar reverse engineering dan malware analysis.

Inti yang harus dibawa pulang:

  • Assembly & format: ELF vs PE, instruksi dasar, dan strings/readelf sebagai pintu masuk.
  • Ghidra (decompiler gratis) mempercepat analisis; gdb/x64dbg untuk debugging.
  • Statis vs dinamis: statis aman; dinamis hanya di sandbox.
  • Packing & obfuscation: cek entropy, unpack dengan upx -d.
  • Ekstrak IOC dan tuangkan ke aturan YARA untuk deteksi lanjutan.

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!

Belajar Cyber Security - Reverse Engineering & Malware Analysis | Belajar Cyber Security