Forensik Digital

Pertemuan 11

Forensik Malware

Mata Kuliah: Digital Forensic for Military Purposes | 3 SKS

🎯 Capaian Pembelajaran

Setelah pertemuan ini, mahasiswa mampu:

  1. Mengklasifikasikan jenis malware dan karakteristiknya
  2. Menjelaskan malware delivery mechanisms dan infection vectors
  3. Melakukan static analysis terhadap file mencurigakan
  4. Memahami prinsip dynamic analysis dan sandbox environments
  5. Mengidentifikasi persistence mechanisms malware
  6. Menganalisis C2 communication dan beaconing patterns
  7. Menerapkan memory forensics untuk deteksi malware

πŸ“‹ Agenda Hari Ini

Bagian 1

  • Pengantar Forensik Malware
  • Klasifikasi Malware
  • Delivery Mechanisms
  • Static Analysis

Bagian 2

  • Dynamic Analysis
  • Persistence Mechanisms
  • C2 Communication & DGA
  • Memory Forensics for Malware
  • IOC & MITRE ATT&CK

πŸ”¬ Apa itu Forensik Malware?

Forensik Malware adalah cabang forensik digital yang berfokus pada identifikasi, analisis, dan dokumentasi perangkat lunak berbahaya untuk memahami fungsi, asal-usul, dampak, dan atribusi malware dalam konteks investigasi insiden keamanan.

Berbeda dari analisis malware murni:

  • πŸ”— Chain of custody harus dijaga
  • πŸ“ Dokumentasi harus formal dan admissible
  • βš–οΈ Output mendukung proses hukum/tribunal militer

Analisis vs Forensik Malware

Aspek Analisis Malware Forensik Malware
Tujuan Memahami fungsi malware Mendukung investigasi hukum
Fokus Reverse engineering Chain of custody & dokumentasi
Output Technical report Laporan forensik admissible
Standar Best practices industri Standar forensik & prosedur legal

πŸŽ–οΈ Ancaman Malware bagi Pertahanan

Kategori Aktor Target Militer
Commodity Kriminal umum PC individu personel
Targeted Kelompok terorganisir Jaringan unit tertentu
APT State-sponsored Infrastruktur kritis pertahanan
Cyber Weapon Negara Sistem kontrol industri militer

🦠 Klasifikasi Malware

πŸ”΄ Virus
Memerlukan host file, parasitic behavior, perlu interaksi user
🟠 Worm
Self-propagating, standalone, menyebar via jaringan otomatis
🟑 Trojan
Menyamar sebagai software legitimate (RAT, keylogger, dropper)
πŸ”΅ Ransomware
Mengenkripsi file, meminta tebusan, double extortion
⚫ APT (Advanced Persistent Threat) β€” Kampanye serangan terkoordinasi, multi-stage, state-sponsored

Virus vs Worm

Aspek Virus Worm
Host File Memerlukan host Standalone
Penyebaran Via file terinfeksi Self-propagating via jaringan
Interaksi User Perlu menjalankan file Otomatis tanpa interaksi
Artefak Disk Modified PE files Standalone exe di temp/system
Artefak Network Minimal Scanning activity, exploit traffic

🐴 Jenis-jenis Trojan

Jenis Fungsi Indikator Forensik
RAT Remote control penuh Koneksi outbound persisten
Banking Trojan Mencuri kredensial Browser hooks, form grabbing
Downloader Mengunduh payload HTTP requests ke domain suspicious
Dropper Menyimpan & execute payload File creation di temp dirs
Keylogger Merekam keystroke Hidden log files, keyboard API hooks

πŸ”’ Ransomware

Malware yang mengenkripsi file korban dan meminta tebusan untuk mendekripsinya. Ancaman signifikan terhadap infrastruktur pertahanan.

Tipe Ransomware

  • Crypto β€” Enkripsi file (AES-256)
  • Locker β€” Kunci akses OS
  • Double Extortion β€” Enkripsi + exfil
  • RaaS β€” Ransomware-as-a-Service

Artefak Forensik

  • πŸ“„ Ransom note files
  • πŸ” File terenkripsi (.encrypted)
  • πŸ—οΈ Registry persistence entries
  • 🌐 Network traffic ke C2

βš”οΈ APT Kill Chain

Kampanye serangan multi-stage, terkoordinasi, state-sponsored

1️⃣ Reconnaissance β€” Pengumpulan informasi target
2️⃣ Weaponization β€” Membuat exploit/malware
3️⃣ Delivery β€” Phishing, watering hole, USB
4️⃣ Exploitation β€” Mengeksploitasi vulnerability
5️⃣ Installation β€” Memasang backdoor/RAT
6️⃣ Command & Control β€” Koneksi ke C2 server
7️⃣ Actions on Objectives β€” Exfiltration, sabotage

πŸ“¨ Malware Delivery Mechanisms

Metode Deskripsi Artefak Forensik
Phishing Email Attachment/link malicious Email headers, attachment metadata
Drive-by Download Exploit browser saat browsing Browser cache, download history
USB/Removable Penyebaran via USB drive Autorun.inf, USB registry history
Watering Hole Kompromi website target Browser history, DNS logs
Supply Chain Kompromi software update Installation logs, hash mismatch

πŸ” Static Analysis

Teknik analisis malware yang dilakukan tanpa mengeksekusi file malware. Fokus pada pemeriksaan properti file, strings, imports, dan struktur binary.

βœ… Keuntungan

  • Aman β€” malware tidak dijalankan
  • Gambaran menyeluruh kemampuan
  • Identifikasi URLs, IPs, strings
  • Library & API calls

⚠️ Keterbatasan

  • Dikalahkan oleh obfuscation
  • Tidak melihat runtime behavior
  • Encrypted strings tersembunyi
  • Polymorphic malware

πŸ“‹ File Properties Analysis

Langkah pertama: periksa properti dasar file

Properti Tool Tujuan
File Hash HashMyFiles, PEStudio Identifikasi unik, VirusTotal lookup
File Type file command, TrID Verifikasi tipe vs ekstensi
File Size Explorer, stat Perbandingan ukuran normal
Timestamps PEStudio, exiftool Creation, compile time
Digital Signature sigcheck, PEStudio Verifikasi sertifikat

πŸ› οΈ Tool: PEStudio

Tool gratis untuk analisis file PE (Portable Executable) Windows

PEStudio menampilkan:

  • File indicators (hash, entropy)
  • Imported libraries dan functions
  • Strings yang terdeteksi
  • Sections analysis (entropy per section)
  • Resources (embedded files, icons)
  • Certificate verification
  • VirusTotal lookup

πŸ”— Download: www.winitor.com

πŸ“ Strings Analysis

Proses mengekstrak teks readable dari binary file. Dapat mengungkap URLs, IP addresses, registry keys, dan informasi penting lainnya.
Kategori Contoh String Signifikansi
URLs/IPs http://evil.com/gate.php C2 infrastructure
Registry ...\CurrentVersion\Run Persistence
API Names CreateRemoteThread Code injection
Commands cmd.exe /c Execution methods
Mutex Global\MalwareMutex Instance control

πŸ› οΈ Tool: FLOSS

FireEye Labs Obfuscated String Solver β€” mengekstrak string biasa dan obfuscated

# Ekstraksi string dasar
floss malware_sample.exe

# Hanya string yang di-decode (obfuscated)
floss --only decoded malware_sample.exe

# Output ke file
floss malware_sample.exe > strings_output.txt

# Dengan minimum length
floss -n 8 malware_sample.exe

πŸ”— github.com/mandiant/flare-floss

πŸ“¦ Struktur File PE

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     DOS Header (MZ)         β”‚  ← "MZ" signature (0x4D5A)
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     DOS Stub                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     PE Signature            β”‚  ← "PE\0\0" (0x50450000)
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     COFF File Header        β”‚  ← Machine type, sections
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     Optional Header         β”‚  ← Entry point, image base
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     Section Headers         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     .text (code)            β”‚
β”‚     .data (initialized)     β”‚
β”‚     .rdata (read-only)      β”‚
β”‚     .rsrc (resources)       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“Š Entropy dan Packing

Entropy mengukur keacakan data (0-8). Entropy tinggi pada section executable = packed/encrypted.
Entropy Interpretasi Contoh
0 – 4 Normal text/data Source code, dokumen
4 – 6 Normal executable Compiled binary
6 – 7 Compressed ZIP, legitimate packed
7 – 8 Encrypted/Packed Malware packed!

πŸ“₯ Import Analysis β€” API Mencurigakan

Kategori API Functions Indikasi
Process Injection CreateRemoteThread, VirtualAllocEx Injeksi kode ke proses lain
Keylogging SetWindowsHookEx, GetAsyncKeyState Pencatatan keystroke
Network InternetOpen, HttpSendRequest Komunikasi jaringan
Crypto CryptEncrypt, CryptGenKey Enkripsi (ransomware)
Anti-Debug IsDebuggerPresent Deteksi analisis

⚑ Dynamic Analysis

Teknik analisis dengan mengeksekusi malware dalam lingkungan terkontrol (sandbox) sambil memantau perilaku real-time.
Aspek Static Dynamic
Eksekusi Tidak Ya, dalam sandbox
Obfuscation Sulit menembus Bypass packing
Coverage Semua kode (incl. dead) Hanya kode yang tereksekusi
Tools PEStudio, FLOSS ProcMon, Wireshark, FakeNet

πŸ—οΈ Sandbox Environment

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚             HOST MACHINE                    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚       ANALYSIS VM (Sandbox)          β”‚  β”‚
β”‚  β”‚                                       β”‚  β”‚
β”‚  β”‚  [ProcMon] [ProcExp] [Wireshark]     β”‚  β”‚
β”‚  β”‚  [FakeNet] [Regshot] [Sysmon]        β”‚  β”‚
β”‚  β”‚                                       β”‚  β”‚
β”‚  β”‚  [Malware Sample] ← Execute here     β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                             β”‚
β”‚  Network: Host-only / Isolated              β”‚
β”‚  Snapshot: Taken BEFORE execution           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

⚠️ Penting: Ambil snapshot VM sebelum eksekusi malware!

πŸ› οΈ Process Monitor (ProcMon)

Memantau file system, registry, dan process activity secara real-time

Filter yang berguna:
─────────────────────────────────────────────────
Process Name  is  malware.exe       β†’ Aktivitas malware
Operation     is  WriteFile         β†’ File creation
Operation     is  RegSetValue       β†’ Registry changes
Path       contains  \Run           β†’ Persistence detection
Path       contains  \Temp          β†’ File drop location
Contoh output persistence:
Time      Process       Operation     Path
10:45:01  malware.exe   RegSetValue   HKLM\...\Run\svchost
10:45:02  malware.exe   CreateFile    C:\Users\...\Temp\payload.exe

πŸ› οΈ FakeNet-NG

Tool dari Mandiant yang mensimulasikan layanan jaringan (DNS, HTTP, SMTP) sehingga malware "berpikir" sudah terhubung ke internet.
Contoh output FakeNet-NG:
──────────────────────────────────────────────────
[DNS]  malware.exe query: evil-c2.com β†’ faked
[HTTP] malware.exe GET /gate.php?id=VICTIM001
[HTTP] malware.exe POST /exfil.php (4096 bytes)

βœ… Analisis network behavior tanpa koneksi internet nyata

πŸ”— github.com/mandiant/flare-fakenet-ng

πŸ”— Persistence Mechanisms

Teknik malware untuk bertahan di sistem meskipun setelah reboot. Artefak persistence paling sering ditemukan dalam investigasi.
Mekanisme Lokasi / Method Timing
Registry Run HKLM\...\Run User login
Scheduled Task Task Scheduler Custom trigger
Services HKLM\SYSTEM\...\Services System boot
DLL Hijacking DLL search order abuse App launch
WMI Subscription WMI repository Event-based
Startup Folder %AppData%\...\Startup User login

πŸ“‹ Registry-Based Persistence

Registry Key Scope
HKLM\...\CurrentVersion\Run All users, setiap login
HKCU\...\CurrentVersion\Run Current user, setiap login
HKLM\...\RunOnce All users, sekali saja
HKLM\SYSTEM\...\Services System boot
...\Winlogon\Shell Login replacement
...\Winlogon\Userinit Login initialization

⚠️ Malware sophisticated menggunakan multiple persistence sebagai redundancy

πŸ“‘ Command and Control (C2)

Infrastruktur komunikasi untuk menerima perintah dari operator dan mengirimkan data yang dicuri.
Tipe C2 Deskripsi Deteksi
HTTP/HTTPS Web protocols Proxy logs, HTTP anomali
DNS Tunneling Data via DNS queries Anomali DNS, panjang query
Social Media Perintah di platform sosial API traffic anomali
Custom Protocol Protokol komunikasi khusus Unusual port, protocol anomaly

πŸ“Ά Beaconing Pattern

Pola komunikasi periodik malware ke C2 server untuk memeriksa perintah baru.
Contoh Beacon Pattern:
[10:00:00] GET /check?id=abc123 β†’ 200 OK (no cmd)
[10:05:00] GET /check?id=abc123 β†’ 200 OK (no cmd)
[10:10:00] GET /check?id=abc123 β†’ 200 OK {cmd: upload}
[10:15:00] POST /upload (encrypted data)
[10:20:00] GET /check?id=abc123 β†’ 200 OK (no cmd)

Jitter β€” Variasi interval untuk hindari deteksi:

Tanpa jitter:  300s, 300s, 300s ← Mudah terdeteksi
Dengan jitter:  285s, 312s, 298s ← Sulit terdeteksi

πŸ”„ Domain Generation Algorithm (DGA)

Teknik di mana malware menghasilkan nama domain secara algoritmik untuk C2. Hanya operator yang tahu domain mana yang aktif.
# Contoh sederhana DGA (edukasi)
def generate_domain(date, seed="malware_seed"):
    date_str = date.strftime("%Y%m%d")
    hash_input = f"{date_str}{seed}"
    hash_result = hashlib.md5(hash_input.encode()).hexdigest()
    return hash_result[:12] + ".com"
# Berbeda setiap hari!

Deteksi DGA:

  • Domain entropy tinggi (karakter acak)
  • Banyak NXDOMAIN responses
  • Volume DNS queries tidak wajar

πŸ”€ DNS Tunneling

Cara Kerja:
Malware β†’ DNS Query β†’ DNS Server β†’ C2 Server
                          ↓
C2 Server β†’ DNS Response β†’ DNS Server β†’ Malware

Contoh encoding data dalam DNS query:
Normal:  www.google.com
Tunnel:  SGVsbG8gV29ybGQ=.data.evil-c2.com
         ^^^^^^^^^^^^^^^^^^^
         Base64 encoded stolen data

Deteksi DNS Tunneling:

  • Subdomain sangat panjang
  • Volume query tidak normal
  • TXT records berlebihan
  • Payload DNS response besar

🧠 Memory Forensics untuk Malware

Memory forensics kritis karena:

  • πŸ”“ Unpacked Code β€” Malware packed ter-unpack di memori
  • πŸ‘» Fileless Malware β€” Hanya berjalan di memori
  • πŸ”‘ Encryption Keys β€” Kunci ransomware mungkin ada
  • πŸ’‰ Injected Code β€” Hanya terlihat di memori
  • 🌐 Network Connections β€” Koneksi aktif ke C2

πŸ› οΈ Volatility 3 β€” Malware Plugins

Plugin Fungsi Deteksi
windows.pslist Daftar proses Nama proses mencurigakan
windows.pstree Process tree Parent-child anomali
windows.malfind Injected code Code injection & hollowing
windows.cmdline Command line args Command mencurigakan
windows.netscan Network connections C2 connections
windows.svcscan Windows services Malicious services

🌳 Deteksi Anomali Process Tree

PID   PPID  Name            Analisis
───── ───── ─────────────── ─────────────────────
748   720   services.exe    βœ… Normal
800   748   svchost.exe     βœ… Normal (parent: services)
1200  2840  svchost.exe     ❌ ANOMALI! (parent: explorer)
2840  1024  explorer.exe    βœ… Normal
4500  2840  WINWORD.EXE     βœ… Normal
4600  4500  cmd.exe         ❌ ANOMALI! (Wordβ†’cmd)
4700  4600  powershell.exe  ❌ ANOMALI! (cmdβ†’PS)

Attack Chain terdeteksi:

WINWORD.EXE β†’ cmd.exe β†’ powershell.exe = Macro malware!

πŸ›‘οΈ Anti-Analysis Techniques

Teknik Deskripsi Counter-Measure
Packing Kompresi/enkripsi executable UPX unpack, manual unpack
Anti-Debug IsDebuggerPresent Patch API return value
Anti-VM Deteksi VMware/VBox Remove VM artifacts
Timing Check RDTSC, GetTickCount Adjust time values
Environment Cek jumlah file, RAM, user activity Buat VM realistis

πŸ’‰ Process Injection vs Hollowing

Process Injection

  • Menyisipkan kode ke proses running
  • Original code tetap ada
  • API: OpenProcess β†’ VirtualAllocEx β†’ WriteProcessMemory β†’ CreateRemoteThread

Process Hollowing

  • Mengganti kode proses legitimate
  • Proses dibuat suspended
  • API: CreateProcess(SUSPENDED) β†’ NtUnmapViewOfSection β†’ WriteProcessMemory β†’ ResumeThread

Deteksi: windows.malfind pada Volatility untuk RWX memory pages dan image mismatch

🎯 Indicators of Compromise (IOC)

Artefak forensik yang mengindikasikan sistem telah terkompromi. Digunakan untuk deteksi, hunting, dan sharing.
Tipe IOC Contoh Durasi Validitas
File Hash SHA256 malware binary Pendek
IP Address C2 server IP Menengah
Domain C2 domain name Menengah
YARA Rule Pattern matching rule Panjang
TTPs MITRE ATT&CK technique Sangat panjang

πŸ—ΊοΈ MITRE ATT&CK Framework

Knowledge base taktik dan teknik adversaries β€” standar de facto

Tactic ID Contoh Technique
Initial Access TA0001 Phishing (T1566)
Execution TA0002 PowerShell (T1059.001)
Persistence TA0003 Registry Run Keys (T1547.001)
Defense Evasion TA0005 Process Injection (T1055)
C2 TA0011 Web Protocols (T1071.001)
Exfiltration TA0010 Over C2 Channel (T1041)

πŸ“Œ Key Takeaways

  1. Static Analysis First β€” Aman, memberikan gambaran awal kemampuan malware
  2. Dynamic Analysis Melengkapi β€” Mengungkap perilaku runtime di sandbox terisolasi
  3. Persistence = Artefak Utama β€” Registry, tasks, services adalah bukti kritis
  4. C2 = Kunci Atribusi β€” Beaconing, DGA, DNS tunneling untuk identifikasi operator
  5. Memory Forensics Kritis β€” Fileless malware dan injected code hanya visible di RAM
  6. MITRE ATT&CK β€” Standarisasi dokumentasi dan threat intelligence sharing

πŸ“… Pertemuan Berikutnya

Pertemuan 12: Investigasi Serangan Web dan Teknik Anti-Forensik

  • Web application attack vectors (SQL injection, XSS, CSRF)
  • Web server forensics (Apache, Nginx, IIS logs)
  • Teknik anti-forensik (data hiding, steganography)
  • Counter-forensics awareness dan detection

πŸ“š Referensi

  1. Sikorski, M. & Honig, A. (2012). Practical Malware Analysis. No Starch Press. Chapter 1-6
  2. Ligh, M.H., et al. (2014). The Art of Memory Forensics. Wiley. Chapter 10-15.
  3. Casey, E. (2022). Digital Evidence and Computer Crime. Academic Press. Chapter 12.
  4. Johansen, G. (2020). Digital Forensics and Incident Response. Packt. Chapter 8-9.
  5. MITRE ATT&CK: attack.mitre.org
  6. PEStudio: winitor.com
  7. FLOSS: github.com/mandiant/flare-floss
  8. FakeNet-NG: github.com/mandiant/flare-fakenet-ng

❓ Sesi Tanya Jawab

Apakah ada pertanyaan tentang materi hari ini?

Topik diskusi:

  • Klasifikasi dan delivery malware
  • Static vs dynamic analysis
  • Persistence dan C2 communication
  • Memory forensics untuk malware detection
  • IOC dan MITRE ATT&CK framework

Terima Kasih

πŸ” Forensik Digital untuk Keperluan Militer

Pertemuan 11: Forensik Malware


Ada pertanyaan?