Ringkasan

Panduan persiapan kompetisi Incident Response — mencakup IR framework (NIST 800-61), log analysis (ELK/Splunk), threat hunting (Osquery/Sysmon), malware triage, timeline reconstruction, dan reporting. Berdasarkan direktori riset di research-resource-directory-deep dan framework IR di incident-response-framework. Target: 20 menit per skenario IR, timeline akurat, root cause teridentifikasi.

Cross-link: research-resource-directory-deepincident-response-frameworkthreat-hunting-methodologyblueteam-detection-matrixsiem-security-data-lake-architecturesoc-automation-playbook-dengan-soarattack-defense-hardening-playbook


Daftar Isi


S1 — IR Framework (NIST 800-61)

Setiap soal IR di kompetisi mengikuti siklus NIST 800-61:

1. PREPARATION    → Tools siap, playbook diingat
2. DETECTION      ↓
   & ANALYSIS     → Evidence diberikan, identifikasi insiden
        ↓
3. CONTAINMENT    → Isolate host, block IP
   ERADICATION    ↓
   & RECOVERY     → Hapus malware, restore service
        ↓
4. POST-INCIDENT → Writeup, rekomendasi

Pertanyaan Kunci

TahapPertanyaan KompetisiEvidence
Detection”Kapan first compromise?”Log timestamp, alert time
Analysis”Apa root cause?”Vulnerability exploited, vector
Analysis”Apa malware yang dipakai?”Hash, filename, C2 domain
Containment”IP attacker?”Network log, firewall log
Eradication”Bagaimana cara hapus?”Artifact cleanup steps
Lesson”Rekomendasi?”Fix, prevent recurrence

S2 — Log Analysis Fast Track

ELK Stack (Elasticsearch + Logstash + Kibana)

# KQL Query — cari event spesifik
process.name: "powershell.exe" AND process.args: "downloadstring"
source.ip: "10.10.10.*" AND event.action: "network-connection"
event.code: 4625 AND winlog.event_data.SubStatus: 0xC000006A  # Failed logon
 
# Timeline
@timestamp: [2026-07-01 TO 2026-07-28]

Splunk SPL

# Cari malware execution
index=windows sourcetype=WinEventLog:Security EventCode=4688
| search New_Process_Name=*powershell* OR New_Process_Name=*rundll32*
| stats count by New_Process_Name, User_Name
 
# Cari network connection mencurigakan
index=network sourcetype=flow
| search dest_ip=10.0.0.0/8 OR dest_ip=172.16.0.0/12
| stats sum(bytes_out) by src_ip, dest_ip
 
# Failed logins
index=windows EventCode=4625
| stats count by Target_User_Name, Source_Network_Address
| where count > 5

Log Sources Priority

Log SourceWindowsLinux
AuthenticationSecurity (Event 4624/4625/4648)/var/log/auth.log
ProcessSysmon Event 1auditd
NetworkSysmon Event 3/var/log/syslog
File changeSysmon Event 11auditd/inotify
PowerShellPowerShell Operational (Event 4104/4103)N/A

S3 — Threat Hunting dengan Osquery

Osquery mengubah endpoint menjadi database SQL. Cocok untuk threat hunting cepat.

Queries Penting

-- Process dengan network connection
SELECT p.pid, p.name, p.path, p.cmdline, p.parent
FROM processes p
JOIN process_open_sockets s ON p.pid = s.pid
WHERE s.remote_port != 0 AND s.remote_address NOT IN ('127.0.0.1', '0.0.0.0');
 
-- Scheduled tasks mencurigakan
SELECT * FROM scheduled_tasks
WHERE name LIKE '%updater%' OR name LIKE '%svchost%';
 
-- Autorun mencurigakan
SELECT * FROM startup_items
WHERE path LIKE '%temp%' OR path LIKE '%AppData%';
 
-- File di direktori temp
SELECT path, filename, size, datetime(atime,'unixepoch') as accessed
FROM file
WHERE directory LIKE 'C:\Users\%\AppData\Local\Temp\'
  AND filename LIKE '%.exe';
 
-- DNS query mencurigakan
SELECT * FROM dns_resolvers;

Pack Hunting

# Osquery pack — kumpulan query untuk IR
osqueryi --pack incident_response
 
# Atau run manual
osqueryi "SELECT * FROM processes WHERE on_disk = 0;"
# → Process yang tidak ada di disk (injected/malware)

S4 — Windows Event Log Analysis

Event ID Penting

Event IDDeskripsiIndikator
4624Logon successSuccessful authentication
4625Logon failureBrute force attempt
4634LogoffSession end time
4648Explicit credentialRunAs, scheduled task
4688Process creationExecution timeline
4689Process exitTermination time
4698Scheduled task createdPersistence
4700Scheduled task enabledPersistence
4702Scheduled task updatedModification
4720User account createdNew user
4732User added to groupPrivilege escalation
5156Connection allowedNetwork connection
5157Connection blockedBlocked connection
7045Service installedNew service (persistence)

Timeline Analysis

# PowerShell — cari execution dalam rentang waktu
Get-WinEvent -FilterHashtable @{
    LogName='Security'
    ID=4688
    StartTime='2026-07-01'
    EndTime='2026-07-02'
} | Select TimeCreated, @{n='Process';e={
    $_.Properties[5].Value
}}
 
# Sysmon — cari network connection
Get-WinEvent -FilterHashtable @{
    LogName='Microsoft-Windows-Sysmon/Operational'
    ID=3
} | Where-Object {$_.Properties[14].Value -notlike '192.168.*'} |
  Select TimeCreated,
         @{n='Src';e={$_.Properties[4].Value}},
         @{n='Dst';e={$_.Properties[14].Value}},
         @{n='Port';e={$_.Properties[16].Value}}

S5 — Malware Triage

Static Analysis (Cepat)

# Hash — cek di VirusTotal
sha256sum malware.exe
md5sum malware.exe
 
# Strings — cari IOC
strings malware.exe | grep -i "http://"
strings malware.exe | grep -i "https://"
strings malware.exe | grep -i "\.exe\|\.dll\|\.ps1"
 
# Detect packer
file malware.exe
# UPX packed, section names: UPX0, UPX1 → unpack dulu
upx -d malware.exe -o malware_unpacked.exe
 
# Imports — cari API mencurigakan
objdump -p malware.exe | grep "DLL Name"
# VirtualAlloc, CreateRemoteThread → injection
# URLDownloadToFile → downloader

Dynamic Analysis (if environment allows)

# Process monitor
procmon.exe /backingfile malware_log.pml
 
# Network capture
tcpdump -i eth0 -w malware.pcap
 
# Registry changes
regshot
# Jalankan malware → compare regshot

Malware Classification

TypeTujuanIndicator
KeyloggerCapture keystrokesSetWindowsHookEx, GetAsyncKeyState
BackdoorRemote accessReverse shell, port binding
RansomwareEncrypt filesFile extension change, ransom note
DownloaderFetch payloadURLDownloadToFile, WinHttpRequest
MinerCrypto miningHigh CPU, stratum+tcp://
RATFull controlPersistence, keylogging, screen capture
InfostealerCredential theftBrowser profile access, mail

S6 — Timeline Reconstruction

Timeline adalah kunci IR. Urutkan kejadian berdasarkan waktu.

Timeline Tools

# Plaso (log2timeline) — timeline otomatis
log2timeline.py --storage-file timeline.plaso image.dd
psort.py -o l2tcsv -w timeline.csv timeline.plaso
 
# MFT Timelime
mft2csv.py -f \$MFT -o mft_timeline.csv

Template Timeline

[2026-07-01 08:00] Initial access → Phishing email diterima user
[2026-07-01 08:05] Execution → User buka attachment
[2026-07-01 08:06] Persistence → Registry Run key added
[2026-07-01 08:10] C2 → Connection to malicious domain
[2026-07-01 08:15] Lateral movement → RDP to server
[2026-07-01 08:30] Exfiltration → Large outbound data transfer
[2026-07-01 09:00] Detection → SOC alert triggered

Key Artifact Timeline

WaktuArtifactInformasi
$STANDARD_INFORMATIONMFTBisa dimodifikasi oleh attacker
$FILE_NAMEMFTTidak bisa dimodifikasi — source of truth
PrefetchFileWaktu eksekusi program
USN JournalJournalPerubahan file berurutan
Event Log.evtxAuthentication, process, service
RegistryRegistrySystem config change time
Browser historySQLiteURL access timeline
ShellBagsRegistryFolder access time

S7 — IR Reporting Template

Template writeup untuk soal IR kompetisi:

## Incident Summary
 
- **Title:** [Nama Insiden]
- **Date:** [YYYY-MM-DD HH:MM]
- **Severity:** [Critical/High/Medium/Low]
- **Status:** [Resolved/Mitigated/In Progress]
 
## Timeline
 
| Time  | Event              | Artifact            |
| ----- | ------------------ | ------------------- |
| HH:MM | Initial compromise | [Log entry ref]     |
| HH:MM | Malware execution  | [File hash]         |
| HH:MM | C2 beacon          | [IP/Domain]         |
| HH:MM | Data exfiltration  | [Size, destination] |
 
## Indicators of Compromise (IOCs)
 
- **File:** [filename, hash]
- **Network:** [IP, domain, URL]
- **Registry:** [key, value]
- **Process:** [PID, name, parent]
 
## Root Cause Analysis
 
- **Vulnerability:** [CVE / misconfig]
- **Attack vector:** [Email / web / remote exploit]
- **Impact:** [What was compromised]
 
## Containment Steps
 
1. [Aksi yang diambil]
2. [Aksi yang diambil]
 
## Recommendations
 
1. [Fix jangka pendek]
2. [Fix jangka panjang]

S8 — Tool Priority Matrix

IR TaskTool #1Tool #2Tool #3
Log aggregationELK StackSplunkLoki
Endpoint queryOsqueryWMI/PowerShellWinRM SSH
Windows forensicEZ Tools (Zimmerman)Sysinternals SuiteKAPE
TimelinePlaso (log2timeline)MFTECmdTimeline Explorer
Malware staticFLOSSDetect It Easy (DiE)pefile (Python)
Malware dynamicCAPE SandboxProcMon + WiresharkAny.Run
Memory analysisVolatility 3strings + grepRekall
Threat intelMISPVirusTotal APIAbuseIPDB
Network forensicWiresharkZeektshark
Log queryKQL (Elastic)SPL (Splunk)grep/awk/jq

S9 — Referensi Cepat