Tools & Teknik

Volatility 3 Deep Dive — Plugin dan Teknik Analisis Memori Lanjutan

Deep dive Volatility 3: plugin advanced untuk deteksi malware, analisis registry di memori, ekstrak kredensial, dan rekonstruksi aktivitas attacker dari memory dump.

Luthfi Ahmad Paradiansyah
Luthfi Ahmad Paradiansyah
Tampilan terminal Volatility 3 dengan output analisis memori, proses mencurigakan, dan koneksi jaringan
Tampilan terminal Volatility 3 dengan output analisis memori, proses mencurigakan, dan koneksi jaringan

Di artikel pengantar forensik memori, lo udah kenalan sama Volatility dan plugin-plugin dasarnya. Sekarang waktunya naik level. Lo bakal belajar plugin advanced yang bikin investigator memory forensics beneran powerful.

Materi kali ini lebih teknis dan lebih dalam. Tapi justru di sinilah nilai seorang memory forensics analyst dibedakan. Banyak orang bisa windows.pslist. Tapi nggak banyak yang bisa windows.malfind atau windows.ldrmodules dan paham apa yang harus dicari.

Yuk kita gali lebih dalam.


Review Cepat: Workflow Volatility 3

Sebelum lanjut, refresh workflow dasar:

# Cek info image
python3 vol.py -f memory.dmp windows.info

# Lihat proses
python3 vol.py -f memory.dmp windows.pslist

# Lihat koneksi jaringan
python3 vol.py -f memory.dmp windows.netscan

# Lihat command-line
python3 vol.py -f memory.dmp windows.cmdline

Kalau lo belum familiar dengan itu, plis balik dulu ke artikel pengantar memori. Karena di sini kita langsung main di level advanced.


Deteksi Process Injection

Process injection adalah teknik favorit malware. Alih-alih bikin proses sendiri (yang gampang ketahuan), malware menyuntikkan kode berbahaya ke proses yang sah — kayak explorer.exe, svchost.exe, atau notepad.exe.

windows.malfind

Plugin ini otomatis mendeteksi memory regions yang mencurigakan:

python3 vol.py -f memory.dmp windows.malfind

Outputnya: daftar proses dan memory regions yang punya permission aneh (PAGE_EXECUTE_READWRITE — bisa execute DAN write) atau mengandung pattern injection.

Gimana cara bacanya?

  • Kalau explorer.exe punya beberapa region dengan PAGE_EXECUTE_READWRITE... itu belum tentu injection. Explorer memang butuh beberapa memory region dinamis.
  • Tapi kalau notepad.exe yang harusnya sederhana tiba-tiba punya banyak RWX regions... itu sangat mencurigakan.

Yang harus dicari:

  • Proses normal yang tiba-tiba punya banyak RWX memory regions.
  • Memory region dengan MZ header (PE executable) di dalam proses lain.
  • Memory region yang start dengan instruksi mencurigakan (misal: URL, IP address, shellcode).

windows.ldrmodules

Plugin ini mendeteksi DLL yang "ngumpet". Windows nyimpen daftar loaded DLL di 3 tempat:

  1. InLoadOrderModuleList
  2. InMemoryOrderModuleList
  3. InInitializationOrderModuleList

DLL yang sah terdaftar di ketiganya. DLL yang mencurigakan mungkin cuma terdaftar di 1 atau 2.

python3 vol.py -f memory.dmp windows.ldrmodules

Cari proses dengan "False" di salah satu kolom — itu indikasi DLL yang disembunyikan.


Ekstraksi Kredensial dari Memori

Salah satu kemampuan paling berharga dari memory forensics adalah mengekstrak kredensial. Windows nyimpen berbagai kredensial di memori — password, hash, token — yang bisa diekstrak tanpa mengubah sistem target.

windows.hashdump

Mengekstrak hash password dari registry SAM (Security Account Manager) yang di-cache di memori:

python3 vol.py -f memory.dmp windows.hashdump

Output:

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
User:1001:aad3b435b51404eeaad3b435b51404ee:64f12cddaa88057e06a81b54e73b949b:::

Hash ini bisa di-crack dengan John the Ripper atau Hashcat.

windows.lsadump

Mengekstrak LSA (Local Security Authority) secrets:

python3 vol.py -f memory.dmp windows.lsadump

LSA secrets bisa berisi:

  • Service account passwords
  • Scheduled task credentials
  • DefaultPassword untuk auto-logon
  • RAS/VPN credentials

Analisis Registry di Memori

Registry di memori sering lebih lengkap daripada registry di disk — karena malware bisa hapus key di disk tapi masih ada di memori.

windows.registry.hivelist

Menampilkan registry hives yang ada di memori:

python3 vol.py -f memory.dmp windows.registry.hivelist

Catat alamat virtual dari setiap hive. Lo butuh ini untuk plugin registry lainnya.

windows.registry.printkey

Cek isi registry key spesifik:

# Cek Run keys (persistence!)
python3 vol.py -f memory.dmp windows.registry.printkey \
  --key "Software\Microsoft\Windows\CurrentVersion\Run"

windows.registry.getcellroutine

Membaca value dari registry key:

python3 vol.py -f memory.dmp windows.registry.printkey \
  --key "ControlSet001\Services" \
  --recurse

Cek apakah ada service mencurigakan yang terdaftar. Malware sering bikin service palsu dengan nama yang mirip service sah.


Analisis Network di Memori

windows.netscan (Advanced)

Plugin yang udah lo kenal, tapi ada trik membaca outputnya:

  1. Cari koneksi ke IP asing — filter dengan GeoIP untuk identifikasi koneksi ke negara tak dikenal.
  2. Cari port mencurigakan — 4444, 1337, 8080, 31337 sering dipakai malware.
  3. Cari listening ports — malware mungkin buka backdoor di port tertentu.
  4. Korelasi dengan proses — koneksi ini milik proses apa? explorer.exe yang bikin koneksi ke IP Rusia? Curigakan!

windows.sockets

Alternatif untuk netscan. Detail socket yang dibuka oleh setiap proses.


Analisis Malware Spesifik di Memori

windows.callbacks

Malware bisa register kernel callback untuk:

  • Memantau process creation
  • Mengintersepsi registry operations
  • Memantau file system changes
python3 vol.py -f memory.dmp windows.callbacks

Cari callback yang tidak standar — terutama dari driver yang nggak dikenal.

windows.driverscan

Scan semua kernel modules/drivers:

python3 vol.py -f memory.dmp windows.driverscan

Rootkit sering menyamar sebagai driver. Cari:

  • Driver tanpa nama file atau path
  • Driver dengan nama mencurigakan
  • Driver yang nggak muncul di filescan (berarti mungkin disembunyikan)

windows.modules

Untuk memory dump yang support (format tertentu), lihat kernel modules:

python3 vol.py -f memory.dmp windows.modules

Rekonstruksi Timeline dari Memori

Salah satu kekuatan Volatility: lo bisa bikin timeline aktivitas dari data di memori.

windows.timeliner

Plugin ini mengumpulkan timestamp dari berbagai sumber di memori:

  • Process creation times
  • Thread creation times
  • File access times (dari MFT di memori)
  • Registry key last write times
  • Event log timestamps
python3 vol.py -f memory.dmp windows.timeliner \
  --output-file timeline.csv

Outputnya CSV yang bisa lo buka di Excel atau Timesketch untuk analisis lebih lanjut.


Teknik Hunting di Volatility

Di luar plugin built-in, lo bisa melakukan hunting manual dengan query:

Cari String Spesifik di Memori

# Export string dari memory dump
strings memory.dmp > strings.txt

# Cari pattern
cat strings.txt | grep -i "ransom"
cat strings.txt | grep -i "bitcoin"
cat strings.txt | grep -Eo "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"

Cari File Executable Tersembunyi

python3 vol.py -f memory.dmp windows.filescan | grep -E "\.(exe|dll|sys)$"

Filter hasil filescan untuk nemuin executable yang tersembunyi di folder mencurigakan (Temp, Downloads, AppData).

Cari Mutex

Malware sering bikin mutex (mutual exclusion object) untuk memastikan cuma satu instance yang berjalan:

python3 vol.py -f memory.dmp windows.handles --pid [PID] | grep Mutant

Mutex name bisa jadi IOC spesifik untuk malware family tertentu.


Integrasi dengan Tools Lain

Volatility bukan standalone. Lo bisa integrasikan dengan tools lain untuk analisis lebih mendalam:

Volatility + YARA

Scan memory dump dengan YARA rules untuk deteksi malware:

python3 vol.py -f memory.dmp windows.vadyarascan \
  --yara-file /path/to/rules.yar

Volatility + VirusTotal

Submit hash file yang diekstrak dari memory dump ke VirusTotal:

python3 vol.py -f memory.dmp windows.dumpfiles \
  --virtaddr [address] --pid [PID]
sha256sum file.dmp
# Submit hash ke VT

Volatility + Wireshark

Kalau lo dump network traffic dari memori (pakai plugin eksperimental), lo bisa analisis di Wireshark.


Latihan: Analisis Memory Dump

Coba latihan ini dengan Volatility:

  1. Download memory dump dari CFReDS (pilih scenario yang menarik).
  2. Jalankan windows.info — catat OS version, build, system time.
  3. Jalankan windows.pslist + windows.psscan — cari proses mencurigakan.
  4. Jalankan windows.cmdline — baca command line setiap proses.
  5. Jalankan windows.malfind — ada indikasi injection?
  6. Jalankan windows.netscan — ada koneksi mencurigakan?
  7. Jalankan windows.registry.printkey untuk Run keys — ada persistence?
  8. Bikin kesimpulan: apakah sistem ini terinfeksi? Kalau iya, dengan apa? Apa IOCs-nya?

Kalau lo bisa jawab pertanyaan itu berdasarkan analisis memory dump... lo udah jadi memory forensics analyst yang kompeten.


Penutup

Volatility 3 adalah tools yang powerful — tapi juga tools yang menuntut. Lo harus paham struktur internal Windows, konsep memory management, dan teknik serangan malware untuk bisa memanfaatkannya secara maksimal.

Tapi justru itulah kenapa skill memory forensics sangat dihargai. Karena nggak banyak yang menguasainya.

Dengan plugin-plugin di artikel ini, lo sekarang bisa:

  • Mendeteksi process injection
  • Mengekstrak kredensial dari memori
  • Menganalisis registry di memori
  • Mencari malware dan rootkit
  • Rekonstruksi timeline dari data volatile

Di artikel berikutnya, kita bakal bahas Wireshark untuk forensik jaringan — filter advanced, analisis protokol, dan deteksi serangan dari packet capture. Stay tuned!

Punya pertanyaan tentang Volatility? Kontak aja. Semua di Tools & Teknik.

Happy hunting di memory dump!

Studi Kasus: Investigasi Malware dengan Volatility

Biar lo punya gambaran nyata, ini studi kasus lengkap:

Skenario: Server HR sebuah perusahaan menunjukkan gejala mencurigakan: CPU usage tinggi, koneksi keluar ke IP asing, dan user mengeluhkan file tidak bisa dibuka. Tim IT mencurigai malware.

Memory dump diakuisisi sebelum server dimatikan. Sekarang analisis dengan Volatility 3.

Step 1: Info sistem

vol -f server_hr.mem windows.info
-> Windows Server 2019, Build 17763, 16GB RAM

Step 2: Cek proses mencurigakan

vol -f server_hr.mem windows.pslist
-> PID 4820: notepad.exe (Parent: cmd.exe — aneh!)
-> PID 5100: mshta.exe (sering dipakai untuk malware)
-> PID 5234: powershell.exe dengan command line encoded

Step 3: Verifikasi dengan psscan

vol -f server_hr.mem windows.psscan
-> PID 4820 (notepad.exe) muncul di psscan tapi TIDAK di pslist — berarti proses disembunyikan!

Step 4: Analisis command line

vol -f server_hr.mem windows.cmdline --pid 5234
-> powershell.exe -enc "base64 string..."
-> Decode base64: script yang mendownload payload dari http://evil-c2.xyz/payload.exe

Step 5: Malfind untuk deteksi injection

vol -f server_hr.mem windows.malfind --pid 4820
-> Menemukan memory region RWX dengan MZ header di dalam notepad.exe — PROSES INJECTION TERKONFIRMASI!

Step 6: Network connections

vol -f server_hr.mem windows.netscan
-> notepad.exe (PID 4820) punya koneksi ke 203.0.113.50:4444
-> powershell.exe (PID 5234) punya koneksi ke 198.51.100.25:443

Step 7: Registry persistence

vol -f server_hr.mem windows.registry.printkey --key "Software\Microsoft\Windows\CurrentVersion\Run"
-> "WindowsUpdate" = "C:\Users\Public\update.exe" — PERSISTENCE TERPASANG!

Kesimpulan:
Server terinfeksi malware dengan chain: PowerShell downloader → menjalankan payload → process injection ke notepad.exe → koneksi C2 ke IP attacker → persistence via registry Run key.

IOCs:

  • IP C2: 203.0.113.50, 198.51.100.25
  • File: C:\Users\Public\update.exe
  • Registry: HKLM...\Run\WindowsUpdate
  • Proses: notepad.exe dengan parent cmd.exe (anomali)

Dengan temuan ini, tim IR bisa: isolasi server, blokir IP C2 di firewall, hapus file dan registry persistence, reset kredensial. Semua berkat analisis memory forensics yang tepat.

Tips Performance Volatility 3

Memory dump bisa sangat besar (16GB, 32GB, bahkan 64GB+). Analisis bisa lambat kalau lo tidak optimal. Tips dari gue:

1. Gunakan SSD. Proses scanning memory dump membaca file secara sequential. SSD jauh lebih cepat daripada HDD. Jangan letakkan dump di network drive — latency akan membunuh performa.

2. Filter plugin yang tepat. Jangan jalankan semua plugin sekaligus. Mulai dari yang ringan (info, pslist), baru ke yang berat (malfind, timeliner). Plugin seperti malfind bisa memakan waktu 30-60 menit untuk dump besar.

3. Gunakan --pid untuk membatasi scope. Kalau lo sudah curiga ke proses tertentu, gunakan --pid untuk membatasi analisis ke proses itu saja. Contoh: daripada scan seluruh dump dengan malfind, scan per proses: vol -f dump.mem windows.malfind --pid 1234.

4. Export hasil ke CSV untuk analisis lanjutan. Volatility bisa output dalam format CSV, JSON, atau text. Export ke CSV lalu analisis di Excel, Python (Pandas), atau Elasticsearch untuk korelasi yang lebih kompleks.

5. Bangun signature database pribadi. Setiap kali lo nemuin malware baru, catat karakteristiknya: nama proses, command line pattern, network signature, mutex name. Lama-lama lo punya database yang bisa mempercepat analisis selanjutnya.

Referensi Cepat Plugin Volatility 3

Simpan ini sebagai contekan:

Plugin Fungsi Contoh
windows.info Info sistem vol -f dump.mem windows.info
windows.pslist Proses aktif vol -f dump.mem windows.pslist
windows.psscan Semua proses + hidden vol -f dump.mem windows.psscan
windows.cmdline Command line proses vol -f dump.mem windows.cmdline
windows.netscan Koneksi jaringan vol -f dump.mem windows.netscan
windows.malfind Deteksi injection vol -f dump.mem windows.malfind
windows.dlllist DLL yang dimuat vol -f dump.mem windows.dlllist --pid X
windows.ldrmodules DLL tersembunyi vol -f dump.mem windows.ldrmodules
windows.hashdump Hash password vol -f dump.mem windows.hashdump
windows.lsadump LSA secrets vol -f dump.mem windows.lsadump
windows.filescan Scan file di memori vol -f dump.mem windows.filescan
windows.dumpfiles Dump file dari memori vol -f dump.mem windows.dumpfiles --pid X
windows.registry.* Analisis registry vol -f dump.mem windows.registry.hivelist
windows.callbacks Kernel callbacks vol -f dump.mem windows.callbacks
windows.driverscan Driver/kernel modules vol -f dump.mem windows.driverscan
windows.timeliner Timeline dari memori vol -f dump.mem windows.timeliner
windows.vadyarascan YARA scan di memori vol -f dump.mem windows.vadyarascan --yara-file rules.yar

Simpan tabel ini sebagai quick reference. Lo akan sering kembali ke sini saat analisis. Print dan tempel di dekat meja kerja lo — semua investigator memory forensics melakukannya.

Enjoyed this article?

Share it with your network

Copied!
Luthfi Ahmad Paradiansyah

Written by

Luthfi Ahmad Paradiansyah

Saya adalah CEO Forendigi, perusahaan digital yang berfokus pada solusi forensik digital modern. Berbekal pengalaman mendalam di bidang keamanan siber, analisis data, dan investigasi teknologi, ia berhasil membawa Forendigi menjadi mitra terpercaya bagi institusi, korporasi, serta aparat penegak hukum. Di bawah kepemimpinannya, perusahaan mengembangkan inovasi untuk mengungkap bukti digital dengan akurasi tinggi, menjaga integritas data, serta meningkatkan keamanan informasi. Visi strategis dan kepemimpinan Saya menempatkan Forendigi sebagai pelopor layanan forensik digital yang profesional, adaptif, dan berstandar internasional.