Anatomi Memory Forensics: Process Injection, DLL, dan Artefak Mencurigakan

Process injection adalah keluarga teknik untuk menjalankan kode di ruang alamat process lain. Indikatornya dapat muncul sebagai region executable, thread dengan start address aneh, DLL tidak wajar, atau hubungan process yang tidak sesuai konteks. Namun JIT compiler, browser, dan software keamanan juga dapat menghasilkan pola mirip.
Mulai dari process tree#
Ajukan tiga pertanyaan: siapa parent-nya, kapan process dibuat, dan apakah hubungan itu masuk akal? services.exe → svchost.exe lazim; WINWORD.EXE → powershell.exe tidak otomatis jahat tetapi membutuhkan konteks.
python3 vol.py -f memory.raw windows.pstree
python3 vol.py -f memory.raw windows.cmdline
python3 vol.py -f memory.raw windows.psscan
Periksa region memori#
Region PAGE_EXECUTE_READWRITE, private executable memory, entropy tinggi, atau PE header di region non-image dapat menaikkan kecurigaan. Jangan gunakan aturan “RWX berarti malware”; lihat ukuran, owner process, content, dan thread yang menunjuk ke region itu.
python3 vol.py -f memory.raw windows.malfind --pid 4120 --dump
file pid.4120.*.dmp
sha256sum pid.4120.*.dmp
DLL: lokasi dan cara load#
DllList mencatat modul yang dimuat. Tinjau path user-writable, nama menyerupai system DLL, unsigned module, dan module yang muncul pada satu process saja. Cross-check dengan ldrmodules karena unlinking dapat menyembunyikan module dari daftar normal.
Thread dan network sebagai penguat#
Thread dengan start address di private executable region lebih menarik daripada region tanpa eksekusi. Koneksi network sesaat setelah process creation juga memperkuat hipotesis, tetapi IP reputation bukan bukti tunggal.
Contoh analisis#
| Artefak | Observasi | Bobot |
|---|---|---|
| Parent | WINWORD membuat powershell encoded | Sedang |
| VAD | Private RWX, entropy tinggi | Tinggi |
| Thread | Start address masuk region tersebut | Tinggi |
| DLL | Unsigned dari AppData | Sedang |
| Network | Koneksi baru setelah thread dibuat | Sedang |
Kesimpulan yang defensible: “Terdapat konsistensi dengan eksekusi kode injeksi dan perlu containment,” bukan “pasti malware X” bila family attribution belum dibuktikan.
Urutan kerja analis#
- Validasi image dan OS.
- Bangun timeline process.
- Identifikasi outlier.
- Periksa VAD dan thread.
- Korelasi DLL, handle, dan network.
- Dump artefak relevan dan hash.
- Dokumentasikan alternatif benign.
- Naikkan confidence hanya ketika bukti berkumpul.
Prinsip penting: sebuah plugin menghasilkan observasi; analis menghasilkan kesimpulan dengan konteks.
False positive yang wajib dikenal#
Browser, .NET runtime, Java VM, game anti-cheat, debugger, dan endpoint security dapat membuat executable private memory atau membuka handle lintas-process. Bandingkan signer, install path, prevalence pada fleet, dan perilaku sebelum/sesudah. “Tidak biasa” adalah alasan investigasi, bukan kesimpulan malicious.
Evidence matrix#
Hypothesis: process injection pada PID 4120
Supports: private RX/RWX; thread start di region; parent aneh
Contradicts: binary signed; pattern umum pada 500 endpoint
Unknown: isi region belum didump; timeline network belum lengkap
Next: dump region, disassemble awal, korelasi EDR event
Menentukan confidence#
Gunakan label seperti low/medium/high dengan kriteria tertulis. High confidence membutuhkan beberapa sumber independen dan sedikit alternatif benign. Attribution keluarga malware membutuhkan artefak tambahan seperti code similarity, configuration, atau infrastructure—bukan hanya teknik injection yang dipakai banyak aktor.
Pertanyaan akhir#
Dapatkah analis lain mengulang command Anda, menemukan offset yang sama, menghitung hash dump region, dan memahami mengapa alternatif benign ditolak? Jika belum, tambah evidence sebelum containment permanen.
💬 Comments (0)
No comments yet. Be the first to share your thoughts!