Memory Analysis
Memory Analysis คือการวิเคราะห์ memory dump (RAM) เพื่อหาหลักฐานที่ disk ไม่มี — process ที่รัน, network connection, รหัสผ่านใน memory, malware แบบ fileless บทนี้ลงลึกว่า RAM เก็บอะไร, การ acquire ทุก OS, สิ่งที่หาได้แต่ละประเภท, และ workflow เริ่มต้น (เนื้อหาเพื่อการศึกษา/ฝึกใน lab/CTF)
1. ทำไม memory สำคัญ
RAM เก็บสถานะ ณ เวลานั้นที่ disk ไม่มี: process ที่กำลังรัน, network connection ที่เปิดอยู่, ข้อมูลที่ decrypt แล้ว, รหัสผ่าน/key ใน memory, malware ที่รันใน memory อย่างเดียว (fileless), command history, clipboard ในงาน forensics/IR และ CTF โจทย์ memory dump มักซ่อนหลักฐานใน process น่าสงสัย, injected code, หรือข้อมูลที่ attacker ทิ้งไว้ใน RAM
2. การได้ memory dump (acquisition)
| OS / สถานการณ์ | เครื่องมือ |
|---|---|
| CTF (ได้ไฟล์มาแล้ว) | .raw / .mem / .vmem / .dmp / .lime |
| Windows (live) | WinPmem, DumpIt, Magnet RAM Capture, Belkasoft |
| Linux (live) | LiME (kernel module), AVML, /proc/kcore |
| VMware VM | .vmem (memory dump อยู่แล้ว) |
| VirtualBox | .sav (suspend) → แปลง |
| Hibernation | hiberfil.sys (Windows) → แปลงด้วย volatility |
3. สิ่งที่หาได้
| หลักฐาน | ใช้ทำอะไร |
|---|---|
| process list/tree | หา process น่าสงสัย/malware, parent-child |
| network connections | C2, การเชื่อมต่อตอน capture |
| command history (cmd/bash) | คำสั่งที่ผู้ใช้/attacker รัน |
| loaded DLL/modules | code injection, malicious module |
| credentials (LSASS) | NTLM hash, รหัสใน memory, clipboard |
| files/registry in memory | ไฟล์ที่เปิด, registry hive |
| injected code | malware ที่ inject เข้า process อื่น |
| screenshots/clipboard | สิ่งที่ผู้ใช้ทำ (บาง plugin) |
4. Workflow เริ่มต้น
- 1ระบุ OS/profile ของ dump ก่อนเสมอ (Volatility windows.info / imageinfo)
- 2ดู process list/tree — หา process น่าสงสัย (ชื่อแปลก, path ผิด, parent ผิด)
- 3ดู command line ของ process น่าสงสัย (มักมีใบ้/flag)
- 4network connections — การเชื่อมต่อ C2
- 5malfind — หา injected code; ดึงไฟล์ที่น่าสนใจออกมา
- 6เฉพาะเรื่อง: credentials, clipboard, registry ตามโจทย์
5. Quick Reference
- RAM เก็บสิ่งที่ disk ไม่มี (process, network, fileless malware, creds)
- CTF: ได้ .raw/.mem/.vmem/.dmp; VM .vmem = dump ฟรี
- acquire: WinPmem/DumpIt (Win), LiME/AVML (Linux)
- หาได้: process, network, cmd history, creds, injected code
- workflow: ระบุ OS → process → cmdline → network → malfind
- เครื่องมือหลัก: Volatility; ทางเลือก memprocfs
🧭 จับมือทำทีละขั้น (มีแค่ Kali) + ถ้าติดไปไหนต่อ
สมมติเพิ่งได้ memory dump มา (.raw/.mem/.vmem/.dmp) มีแค่ Kali เปล่าๆ ยังไม่รู้จะเริ่มตรงไหน ทำตามนี้ทีละขั้น
- 1เช็คไฟล์ก่อน: file dump.raw ดูขนาด/นามสกุลว่าใช่ memory dump ไหม
- 2ระบุ OS ด้วย Volatility3: vol -f dump.raw windows.info (ถ้าไม่ใช่ Windows ลอง vol -f dump.raw banners.Banners หา Linux kernel)
- 3ดู process: vol -f dump.raw windows.pslist แล้วเทียบกับ windows.pstree ดู parent-child
- 4หา process ที่ pslist ไม่เห็น: vol -f dump.raw windows.psscan (เจอที่ซ่อน/ถูก unlink)
- 5ดู cmdline ของ process ต้องสงสัย: vol -f dump.raw windows.cmdline
- 6เช็ค network connection: vol -f dump.raw windows.netscan
- 7หา injected code: vol -f dump.raw windows.malfind
- 8ดึงไฟล์ที่น่าสนใจออกมา: vol -f dump.raw windows.dumpfiles --pid
--dump-dir out/ - 9ถ้าโจทย์ถามรหัสผ่าน: vol -f dump.raw windows.hashdump
- 10ถ้าเป็น Linux: vol -f dump.raw linux.bash ดูประวัติคำสั่งที่พิมพ์
| ขั้นตอน/งาน | เครื่องมือใน Kali | ติดตั้งเพิ่ม (ถ้าไม่มี) | เครื่องมือออนไลน์ |
|---|---|---|---|
| ตรวจ dump/หา OS | volatility3 (vol) | pipx install volatility3 | - |
| ดู process/network/malware | volatility3 plugins | - | - |
| mount dump เป็น filesystem | - | git clone MemProcFS (build เอง) | - |
| ดึงไฟล์จาก process | volatility3 (dumpfiles) | - | - |
| วิเคราะห์ไฟล์ที่ดึงออกมา | file, strings, exiftool | apt install exiftool | virustotal.com |
| crack hash ที่ดึงได้ | john, hashcat | - | crackstation.net, hashes.com |
| วิเคราะห์ pcap คู่โจทย์ (ถ้ามี) | wireshark, tshark | - | - |
• netscan เจอ IP/traffic แปลก มี pcap คู่โจทย์ → ไป PCAP Analysis
• อยากรู้ plugin ครบ + วิธีต่าง Vol2/Vol3 → ไป Volatility
• ต้องเรียงเวลาการกระทำจากหลายหลักฐาน → ไป Timeline Analysis
• มี disk image คู่โจทย์เดียวกัน → ไป Disk Analysis
โน้ตของฉัน
ยังไม่มีโน้ตสำหรับหัวข้อนี้