BT
Privacy ToolboxJournalProjectsResumeBookmarks
Feed
Privacy Toolbox
Journal
Projects
Resume
Bookmarks
Intel
CIPHER
Threat Actors
Privacy Threats
Dashboard
CVEs
Tags
Intel
CIPHERThreat ActorsPrivacy ThreatsDashboardCVEsTags

Intel

  • Feed
  • Threat Actors
  • Privacy Threats
  • Dashboard
  • Privacy Toolbox
  • CVEs

Personal

  • Journal
  • Projects

Resources

  • Subscribe
  • Bookmarks
  • Developers
  • Tags
Cybersecurity News & Analysis
github
defconxt
•
© 2026
•
blacktemple.net
  • Investigation Tools
  • Forensics Artifacts
  • Network Forensics
  • Email Forensics
  • Malware Analysis
  • Timeline Analysis
  • Incident Playbooks
  • Investigation Tools
  • Forensics Artifacts
  • Network Forensics
  • Email Forensics
  • Malware Analysis
  • Timeline Analysis
  • Incident Playbooks
  1. CIPHER
  2. /DFIR
  3. /DFIR & Threat Hunting Deep Training — CIPHER Knowledge Base

DFIR & Threat Hunting Deep Training — CIPHER Knowledge Base

DFIR & Threat Hunting Deep Training — CIPHER Knowledge Base

Generated: 2026-03-14 Sources: Velociraptor docs, Hayabusa, Chainsaw, KAPE, Volatility3, awesome-incident-response, DFIR Report, LogonTracer, APT-Hunter, SANS DFIR references, aboutdfir.com


1. Velociraptor — VQL Query Language & Artifact System

1.1 VQL Fundamentals

VQL (Velociraptor Query Language) is a SQL-like language designed for endpoint forensics and threat hunting. It enables rapid IOC discovery, detection rule creation, and deployment across large-scale endpoint fleets.

Core Syntax:

-- Basic SELECT from a plugin
SELECT Name, Id, Path FROM pslist()

-- LET for variable binding (= lazy, <= materialized)
LET processes = SELECT * FROM pslist()
LET cached_procs <= SELECT * FROM pslist()

-- WHERE filtering
SELECT * FROM pslist() WHERE Exe =~ "powershell"

-- foreach iteration
SELECT * FROM foreach(
  row={ SELECT * FROM pslist() },
  query={ SELECT ModuleName FROM modules(pid=Pid) }
)

-- Conditional execution
SELECT * FROM if(
  condition=ReallyDoIt='Y',
  then={ SELECT * FROM execve(argv=["rm", "-f", Target]) },
  else={ SELECT "Dry run" AS Status FROM scope() }
)

-- Preconditions (OS checks)
precondition: SELECT OS FROM info() WHERE OS = 'windows'

Key Operators & Functions:

Operator Purpose
=~ Regex match
<= Materialize (buffer entire result set)
= Lazy assignment
format(format="%s:%d", args=[host, port]) String formatting
timestamp(epoch=Time) Unix epoch to timestamp
parse_json_array(data=JSON) Parse JSON string to rows
tempfile(extension=".ps1", data=Script) Create temp file
base64encode(string=Data) Base64 encode
utf16_encode(string=Data) UTF-16 encode
upload(file=Path) Upload file to server
dict(key=value) Create dictionary
scope() Access current scope

1.2 Key VQL Plugins for Hunting

Process & Execution:

-- List all processes
SELECT * FROM pslist()

-- Process tree with command lines
SELECT Name, Pid, PPid, CommandLine, Exe, CreateTime
FROM pslist()
WHERE NOT IsSystem

-- Find suspicious processes by name pattern
SELECT * FROM pslist() WHERE Name =~ "(?i)(mimikatz|cobalt|beacon|rubeus)"

-- Process with network connections
SELECT * FROM foreach(
  row={ SELECT Pid, Name FROM pslist() },
  query={ SELECT * FROM netstat() WHERE Pid = Pid }
)

File System:

-- Recursive file search with YARA
SELECT * FROM glob(globs="C:/Users/*/AppData/**/*.exe")
WHERE Size > 0

-- YARA scanning across paths
SELECT * FROM yara(
  rules="rule test { strings: $a = \"mimikatz\" condition: $a }",
  files="C:/Windows/Temp/**"
)

-- USN Journal parsing (file creation/deletion/rename tracking)
SELECT * FROM usn(device="\\\\.\\C:")
WHERE Reason =~ "FILE_CREATE" AND Filename =~ "\\.exe$"

-- MFT analysis
SELECT * FROM parse_mft(accessor="ntfs", filename="\\\\.\\C:")
WHERE FileName =~ "\\.exe$" AND Created0x10 > "2026-01-01"

Registry:

-- Enumerate Run keys (persistence)
SELECT * FROM glob(
  globs="HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/*",
  accessor="registry"
)

-- All registry persistence locations
LET persistence_keys = (
  "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/*",
  "HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/*",
  "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon",
  "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/*"
)
SELECT * FROM foreach(
  row=persistence_keys,
  query={ SELECT * FROM glob(globs=_value, accessor="registry") }
)

-- Shimcache entries
SELECT * FROM shimcache()

Event Logs:

-- Parse specific EVTX file
SELECT * FROM parse_evtx(
  filename="C:/Windows/System32/winevt/Logs/Security.evtx"
)
WHERE System.EventID.Value = 4624

-- Hunt across all event logs for keyword
SELECT * FROM foreach(
  row={ SELECT FullPath FROM glob(globs="C:/Windows/System32/winevt/Logs/*.evtx") },
  query={
    SELECT *, FullPath FROM parse_evtx(filename=FullPath)
    WHERE EventData.CommandLine =~ "(?i)(mimikatz|invoke-|certutil.*-urlcache)"
  }
)

-- PowerShell ScriptBlock logging (Event ID 4104)
SELECT System.TimeCreated.SystemTime AS Timestamp,
       EventData.ScriptBlockText AS Script,
       System.Computer AS Host
FROM parse_evtx(
  filename="C:/Windows/System32/winevt/Logs/Microsoft-Windows-PowerShell%4Operational.evtx"
)
WHERE System.EventID.Value = 4104
AND EventData.ScriptBlockText =~ "(?i)(invoke-mimikatz|invoke-expression|iex|downloadstring|net.webclient)"

-- RDP authentication tracking
SELECT System.TimeCreated.SystemTime AS Timestamp,
       EventData.TargetUserName AS User,
       EventData.IpAddress AS SourceIP,
       EventData.LogonType AS LogonType
FROM parse_evtx(
  filename="C:/Windows/System32/winevt/Logs/Security.evtx"
)
WHERE System.EventID.Value = 4624
AND EventData.LogonType IN (3, 10)

-- Service installation detection (Event ID 7045)
SELECT System.TimeCreated.SystemTime AS Timestamp,
       EventData.ServiceName AS ServiceName,
       EventData.ImagePath AS ImagePath,
       EventData.ServiceType AS ServiceType
FROM parse_evtx(
  filename="C:/Windows/System32/winevt/Logs/System.evtx"
)
WHERE System.EventID.Value = 7045

Network:

-- Active network connections
SELECT * FROM netstat()
WHERE Status = "ESTABLISHED" AND NOT Raddr.IP =~ "^(10\\.|172\\.(1[6-9]|2|3[01])\\.|192\\.168\\.)"

-- DNS cache
SELECT * FROM dns_cache()

1.3 Velociraptor Artifact Structure

Artifacts are YAML-defined VQL packages. Key built-in artifacts for DFIR:

Windows Detection Artifacts:

Artifact Purpose
Windows.Detection.Amcache Application execution history
Windows.Detection.BinaryRename Renamed executable detection
Windows.Detection.BinaryHunter Suspicious binary identification
Windows.Detection.Impersonation Token impersonation
Windows.Detection.Mutants Mutex/mutant objects
Windows.Detection.PsexecService PsExec lateral movement
Windows.Detection.TemplateInjection Office template injection
Windows.Detection.Usn USN Journal activity
Windows.Detection.WMIProcessCreation WMI-spawned processes
Windows.Detection.Registry Registry modification
Windows.Detection.ProcessCreation Process creation events

Windows EventLog Artifacts:

Artifact Purpose
Windows.EventLogs.EvtxHunter Keyword search across all EVTX
Windows.EventLogs.Cleared Event log clearing detection
Windows.EventLogs.RDPAuth RDP authentication events
Windows.EventLogs.PowershellScriptblock Script block logging
Windows.EventLogs.PowershellModule Module logging
Windows.EventLogs.Kerberoasting Kerberos ticket abuse
Windows.EventLogs.ScheduledTasks Task creation/modification
Windows.EventLogs.ServiceCreationComspec cmd.exe service creation
Windows.EventLogs.AlternateLogon Alternate credential logons
Windows.EventLogs.ExplicitLogon Explicit credential use
Windows.EventLogs.Modifications Log configuration changes

Event Queries (Real-Time Monitoring):

-- Event queries never terminate — they emit rows when events occur
-- clock() plugin example: one row per second
SELECT Unix FROM clock()

-- Real-time file monitoring
SELECT * FROM watch_monitoring(artifact="Windows.Detection.Usn")
WHERE Filename =~ "\\.exe$"

Custom Artifact Template:

name: Custom.Windows.Detection.SuspiciousService
description: Detect suspicious service installations
author: CIPHER
type: CLIENT
parameters:
  - name: EvtxPath
    default: C:/Windows/System32/winevt/Logs/System.evtx
precondition:
  SELECT OS FROM info() WHERE OS = 'windows'
sources:
  - query: |
      SELECT System.TimeCreated.SystemTime AS Timestamp,
             EventData.ServiceName AS ServiceName,
             EventData.ImagePath AS ImagePath
      FROM parse_evtx(filename=EvtxPath)
      WHERE System.EventID.Value = 7045
      AND ImagePath =~ "(?i)(cmd\\.exe|powershell|rundll32|regsvr32|mshta|wscript|cscript)"

2. Hayabusa — Windows Event Log Timeline Generator

2.1 Core Capabilities

  • 4000+ Sigma rules + 170+ built-in detection rules
  • Full Sigma v2 specification support including correlation rules
  • MITRE ATT&CK tactic mapping
  • Multi-threaded Rust implementation (5x faster than alternatives)
  • Enterprise-wide hunting via Velociraptor integration
  • Field normalization, GeoIP/ASN enrichment
  • EVTX recovery from slack space

2.2 Command Reference

Timeline Generation:

# CSV timeline from local logs
hayabusa csv-timeline -d C:\Windows\System32\winevt\Logs

# JSON timeline (for Elastic/Timesketch ingest)
hayabusa json-timeline -d /path/to/evtx/ -o timeline.jsonl

# Timeline from collected evidence
hayabusa csv-timeline -d /cases/evidence/evtx/ -o /cases/output/timeline.csv

# Filter by minimum alert level
hayabusa csv-timeline -d /path/to/evtx/ -m high -o high_alerts.csv

# Filter by MITRE ATT&CK tactic
hayabusa csv-timeline -d /path/to/evtx/ --tags attack.lateral_movement

# Timeline with specific output profile
hayabusa csv-timeline -d /path/to/evtx/ -p verbose -o verbose_timeline.csv

Analysis Commands:

# Computer metrics — which hosts have the most events
hayabusa computer-metrics -d /path/to/evtx/

# Event ID metrics — frequency analysis
hayabusa eid-metrics -d /path/to/evtx/

# Log source metrics
hayabusa log-metrics -d /path/to/evtx/

# Logon summary (successful and failed)
hayabusa logon-summary -d /path/to/evtx/

# Keyword search across logs
hayabusa search -d /path/to/evtx/ -k "mimikatz"
hayabusa search -d /path/to/evtx/ -k "certutil" --regex

# Extract Base64 encoded strings
hayabusa extract-base64 -d /path/to/evtx/

# Pivot keyword extraction (users, IPs, hostnames)
hayabusa pivot-keywords-list -d /path/to/evtx/

Rule Management:

# Update Sigma/Hayabusa rules
hayabusa update-rules

# Tune alert levels for critical systems
hayabusa level-tuning -d /path/to/evtx/ -f tuning_config.txt

# List available output profiles
hayabusa list-profiles

2.3 Output Profiles

Profile Use Case
minimal Quick triage
standard Daily analysis (default)
verbose Deep investigation
all-field-info Complete field data
super-verbose Maximum detail
timesketch-minimal Timesketch import
timesketch-verbose Detailed Timesketch import

2.4 Integration Patterns

# Hayabusa -> Timeline Explorer (Windows)
hayabusa csv-timeline -d evidence/ -p verbose -o timeline.csv
# Open timeline.csv in Timeline Explorer

# Hayabusa -> Timesketch
hayabusa json-timeline -d evidence/ -p timesketch-verbose -o timeline.jsonl
timesketch_importer -s timeline.jsonl --timeline_name "Case_001"

# Hayabusa -> Elastic Stack
hayabusa json-timeline -d evidence/ -o timeline.jsonl
# Ingest via Filebeat/Logstash

# Hayabusa via Velociraptor (enterprise hunt)
# Deploy as VQL artifact across endpoints

3. Chainsaw — Rapid Forensic Hunting

3.1 Core Capabilities

  • Sigma rule-based hunting across EVTX files
  • Custom Chainsaw detection rules
  • Shimcache + Amcache analysis with timeline generation
  • SRUM database parsing
  • MFT analysis
  • Registry hive extraction
  • TAU expression engine for ad-hoc queries

3.2 Command Reference

Hunt Mode (Sigma + Custom Rules):

# Hunt with Sigma rules
chainsaw hunt /path/to/evtx/ -s sigma/rules/ \
  --mapping mappings/sigma-event-logs-all.yml

# Hunt with custom Chainsaw rules
chainsaw hunt /path/to/evtx/ -r rules/

# Combined Sigma + custom rules with CSV output
chainsaw hunt /path/to/evtx/ \
  -s sigma/rules/ \
  --mapping mappings/sigma-event-logs-all.yml \
  -r rules/ \
  --csv --output results/

# Filter by severity
chainsaw hunt /path/to/evtx/ -s sigma/ \
  --mapping mappings/sigma-event-logs-all.yml \
  --level critical,high

# JSON output with metadata
chainsaw hunt /path/to/evtx/ -r rules/ --json --metadata

# Time-bounded hunt
chainsaw hunt /path/to/evtx/ -r rules/ \
  --from "2026-01-01T00:00:00" --to "2026-03-01T00:00:00"

Search Mode:

# String search across EVTX
chainsaw search "mimikatz" -i /path/to/evtx/

# Regex search
chainsaw search -e "(?i)invoke-(mimikatz|expression)" /path/to/evtx/

# TAU expression (field-level queries)
chainsaw search -t 'Event.System.EventID: =4688' /path/to/evtx/
chainsaw search -t 'Event.System.EventID: =7045' /path/to/evtx/

# Search with timestamp filter
chainsaw search "psexec" /path/to/evtx/ \
  --from "2026-01-15T00:00:00" --to "2026-01-16T00:00:00"

Shimcache Analysis:

# Basic shimcache analysis
chainsaw analyse shimcache ./SYSTEM

# With Amcache enrichment and timestamp pairing
chainsaw analyse shimcache ./SYSTEM \
  --amcache ./Amcache.hve \
  --tspair \
  --regexfile ./analysis/shimcache_patterns.txt \
  --output shimcache_results.csv

# Regex-based shimcache filtering
chainsaw analyse shimcache ./SYSTEM \
  -e "(?i)(temp|appdata|public)" \
  --output suspicious_shimcache.csv

SRUM Analysis:

# Full SRUM database analysis
chainsaw analyse srum --software ./SOFTWARE ./SRUDB.dat \
  --output srum_analysis.json

# SRUM stats only
chainsaw analyse srum --software ./SOFTWARE ./SRUDB.dat --stats-only

3.3 Built-in Detection Categories

  • AV alert extraction (Defender, F-Secure, Sophos, Kaspersky)
  • Event log clearing detection
  • User account creation and privilege escalation
  • Remote login tracking (RDP, network logon, service logon)
  • Brute-force attack identification
  • Suspicious service installation

3.4 Supported Sysmon Event IDs for Sigma Mapping

Event ID Category
1 Process creation
3 Network connection
7 Image loaded
11 File creation
13 Registry value set
4104 PowerShell script block
4688 Process creation (Security log)
4698 Scheduled task created
7045 Service installed

4. KAPE — Evidence Collection Framework

4.1 Architecture

KAPE (Kroll Artifact Parser and Extractor) uses two-phase operation:

  1. Targets (.tkape) — Define WHAT artifacts to collect (file paths, registry hives)
  2. Modules (.mkape) — Define HOW to process collected artifacts (parsing tools)

4.2 Critical Windows Targets

File System Artifacts:

Target Artifacts Collected
$MFT Master File Table — file metadata, timestamps
$J USN Journal — file change tracking
$LogFile NTFS transaction log
$Boot Boot sector
$SDS Security descriptors
$T Transaction log files
$Bitmap Cluster allocation bitmap

Execution Evidence:

Target Artifacts Collected
Prefetch C:\Windows\Prefetch\*.pf — execution history
Amcache Application compatibility cache
AppCompatPCA Program Compatibility Assistant
RecentFileCache Recent file execution cache
SRUM System Resource Usage Monitor
BAM/DAM Background/Desktop Activity Moderator

Event Logs:

Target Artifacts Collected
EventLogs All .evtx files from winevt/Logs
EventLogs-RDP RDP-specific event logs
EventTraceLogs ETL trace logs
EventTranscriptDB Diagnostic data viewer DB

User Activity:

Target Artifacts Collected
LNKFilesAndJumpLists Recent files accessed, program launches
JumpLists Taskbar pinned program history
RecentFolders Recently accessed folders
RDPCache RDP bitmap cache (screen captures)
RDPLogs RDP connection logs
WindowsTimeline ActivitiesCache.db
ThumbCache Thumbnail cache (image evidence)
IconCacheDB Icon cache database
StartupFolders Startup program locations

System Configuration:

Target Artifacts Collected
ScheduledTasks Task Scheduler XML definitions
GroupPolicy Group Policy objects
HostsFile DNS override file
Drivers Installed driver information
WindowsFirewall Firewall configuration
BCD Boot Configuration Data
BITS Background Intelligent Transfer Service

Registry Hives:

Compound targets collect all registry hives:

  • SYSTEM, SOFTWARE, SAM, SECURITY (machine hives)
  • NTUSER.DAT, UsrClass.dat (per-user hives)
  • Amcache.hve

Active Directory:

Target Artifacts Collected
ActiveDirectoryNTDS ntds.dit — AD database
ActiveDirectorySysvol SYSVOL policies and scripts

Application-Specific:

Target Artifacts Collected
PowerShellTranscripts PowerShell transcript logs
USBDevicesLogs USB device connection history
WindowsNotificationsDB Notification center database
WindowsIndexSearch Windows Search index (Windows.edb)
WBEM WMI repository (persistence)

4.3 KAPE Command Examples

# Collect triage artifacts (common IR set)
kape.exe --tsource C: --tdest E:\Evidence\%m \
  --target KapeTriage \
  --vhdx CaseEvidence

# Collect and process with modules
kape.exe --tsource C: --tdest E:\Evidence\%m \
  --target KapeTriage \
  --msource E:\Evidence\%m --mdest E:\Processed\%m \
  --module !EZParser

# Registry hive collection only
kape.exe --tsource C: --tdest E:\Evidence\%m \
  --target RegistryHives

# Event log collection
kape.exe --tsource C: --tdest E:\Evidence\%m \
  --target EventLogs

# Remote collection via network share
kape.exe --tsource \\TARGET\C$ --tdest E:\Evidence\%m \
  --target KapeTriage

# Collect with container (VHDX)
kape.exe --tsource C: --tdest E:\Evidence \
  --target KapeTriage \
  --vhdx Case001_Triage

4.4 Target File Format (.tkape)

Description: Windows Event Logs
Author: Eric Zimmerman
Version: 1.0
Id: 2e3d1f2a-3b4c-4d5e-6f7a-8b9c0d1e2f3a
RecreateDirectories: true
Targets:
  - Name: Event Logs
    Category: EventLogs
    Path: C:\Windows\System32\winevt\Logs\
    FileMask: "*.evtx"
    Recursive: false
    Comment: "Windows Event Logs"
  - Name: Event Logs (legacy)
    Category: EventLogs
    Path: C:\Windows\System32\config\
    FileMask: "*.evt"
    Recursive: false

5. Volatility 3 — Memory Forensics

5.1 Core Command Syntax

# Basic usage
python3 vol.py -f <memory_image> <plugin>

# With output file
python3 vol.py -f memory.dmp -o /output/ <plugin>

# Plugin help
python3 vol.py <plugin> -h

# Specify symbol path
python3 vol.py -s /path/to/symbols -f memory.dmp <plugin>

5.2 Windows Plugins — Complete Reference

System Information:

vol -f mem.dmp windows.info
# OS version, build, service pack, kernel base, KDBG address

Process Analysis:

# List all processes (EPROCESS linked list)
vol -f mem.dmp windows.pslist

# Scan for processes (pool tag scanning — finds hidden/unlinked)
vol -f mem.dmp windows.psscan

# Process tree (parent-child relationships)
vol -f mem.dmp windows.pstree

# Process command lines
vol -f mem.dmp windows.cmdline

# Specific process DLLs
vol -f mem.dmp windows.dlllist --pid 1234

# Process handles (files, registry, mutexes, events)
vol -f mem.dmp windows.handles --pid 1234

# Process environment variables
vol -f mem.dmp windows.envars --pid 1234

# Dump process executable
vol -f mem.dmp windows.dumpfiles --pid 1234

# Process memory map + dump
vol -f mem.dmp windows.memmap --dump --pid 1234

Malware Detection:

# Find injected code / hollowed processes (RWX memory regions)
vol -f mem.dmp windows.malfind

# YARA scanning across process memory
vol -f mem.dmp windows.vadyarascan --yara-file rules.yar

# YARA scanning across all memory
vol -f mem.dmp yarascan.yarascan --yara-file rules.yar

# Detect API hooking
vol -f mem.dmp windows.ssdt

Network Analysis:

# Network connections and listening ports
vol -f mem.dmp windows.netscan

# Active network statistics
vol -f mem.dmp windows.netstat

Registry Analysis:

# List registry hives
vol -f mem.dmp windows.registry.hivelist

# Scan for registry hives
vol -f mem.dmp windows.registry.hivescan

# Print registry key contents
vol -f mem.dmp windows.registry.printkey --key "Software\Microsoft\Windows\CurrentVersion\Run"

# Extract cached credentials
vol -f mem.dmp windows.cachedump

# Extract local password hashes
vol -f mem.dmp windows.hashdump

# Extract LSA secrets
vol -f mem.dmp windows.lsadump

File System:

# Scan for file objects
vol -f mem.dmp windows.filescan

# Dump files by virtual or physical address
vol -f mem.dmp windows.dumpfiles --virtaddr 0xfa8001234560
vol -f mem.dmp windows.dumpfiles --physaddr 0x12345678

Kernel & Driver Analysis:

# List kernel modules/drivers
vol -f mem.dmp windows.modules

# Scan for modules
vol -f mem.dmp windows.modscan

# System Service Descriptor Table (syscall hooks)
vol -f mem.dmp windows.ssdt

# Driver IRP hooks
vol -f mem.dmp windows.driverscan

# Big pool allocations
vol -f mem.dmp windows.bigpools

Services:

# List Windows services
vol -f mem.dmp windows.svcscan

# Service details with binary paths
vol -f mem.dmp windows.getservicesids

Crash Analysis:

vol -f mem.dmp windows.crashinfo

5.3 Linux Plugins

# Process listing
vol -f mem.lime linux.pslist
vol -f mem.lime linux.pstree

# Bash history (in-memory)
vol -f mem.lime linux.bash

# Detect injected code
vol -f mem.lime linux.malfind

# Network connections
vol -f mem.lime linux.sockstat

# Loaded kernel modules
vol -f mem.lime linux.lsmod

# Mount points
vol -f mem.lime linux.mountinfo

# Open files per process
vol -f mem.lime linux.lsof

# Check for syscall table hooks
vol -f mem.lime linux.check_syscall

5.4 Memory Acquisition Tools

Tool Platform Command
WinPmem Windows winpmem.exe -o mem.raw --format raw -dd
DumpIt Windows DumpIt.exe /O mem.raw /T RAW
Belkasoft RAM Capturer Windows RamCapture64.exe "mem.mem"
AVML Linux avml mem.lime
LiME Linux insmod lime.ko "path=/tmp/mem.lime format=lime"
Magnet RAM Capture Windows GUI-based acquisition

5.5 Triage Workflow

1. windows.info          → Confirm OS, validate image
2. windows.pslist        → Baseline processes
3. windows.psscan        → Find hidden/terminated processes
4. windows.pstree        → Identify unusual parent-child chains
5. windows.cmdline       → Check for suspicious command lines
6. windows.netscan       → Active/recent network connections
7. windows.malfind       → Injected code detection
8. windows.dlllist       → Suspicious DLLs loaded by flagged PIDs
9. windows.handles       → Open handles for flagged PIDs
10. windows.filescan     → Find dropped files
11. windows.hashdump     → Check for credential extraction
12. windows.registry.printkey → Persistence mechanisms

6. Windows Event IDs — Detection Reference

6.1 Authentication & Logon

Event ID Log Description Hunting Value
4624 Security Successful logon Logon type 3 (network), 10 (RDP), 7 (unlock)
4625 Security Failed logon Brute force detection, password spraying
4634 Security Logoff Session duration correlation
4647 Security User-initiated logoff Distinguishes from system logoff
4648 Security Explicit credentials logon Lateral movement (runas, PsExec)
4672 Security Special privileges assigned Privileged logon tracking
4768 Security Kerberos TGT requested AS-REP roasting detection
4769 Security Kerberos ST requested Kerberoasting (RC4 encryption type = 0x17)
4771 Security Kerberos pre-auth failed Password spraying via Kerberos
4776 Security NTLM authentication Pass-the-hash, NTLM relay

Logon Type Reference:

Type Description Threat Relevance
2 Interactive (console) Physical access / RDP (pre-NLA)
3 Network SMB, WinRM, PsExec
4 Batch Scheduled tasks
5 Service Service accounts
7 Unlock Screen unlock
8 NetworkCleartext IIS basic auth
9 NewCredentials RunAs /netonly
10 RemoteInteractive RDP
11 CachedInteractive Cached domain credentials

6.2 Process Execution

Event ID Log Description Hunting Value
4688 Security Process creation Command-line logging (requires audit policy)
4689 Security Process termination Process lifetime correlation
1 Sysmon Process creation Full command line, parent process, hashes
2 Sysmon Process changed file creation time Timestomping detection
6 Sysmon Driver loaded Rootkit / BYOVD detection
7 Sysmon Image loaded DLL side-loading detection
8 Sysmon CreateRemoteThread Process injection
10 Sysmon ProcessAccess LSASS credential dumping (target = lsass.exe)
25 Sysmon ProcessTampering Process hollowing, herpaderping

6.3 Persistence & Lateral Movement

Event ID Log Description Hunting Value
7045 System Service installed New service creation (PsExec, malware)
7040 System Service startup type changed Persistence modification
4698 Security Scheduled task created Persistence, lateral movement
4702 Security Scheduled task updated Task modification
4699 Security Scheduled task deleted Anti-forensics
13 Sysmon Registry value set Run key persistence
12 Sysmon Registry object created/deleted Registry modification tracking
14 Sysmon Registry key/value rename Registry evasion
19/20/21 Sysmon WMI event filter/consumer/binding WMI persistence

6.4 Credential Access

Event ID Log Description Hunting Value
10 Sysmon Process access GrantedAccess to lsass.exe (0x1010, 0x1FFFFF)
4663 Security Object access attempt File access auditing (SAM, SYSTEM, NTDS.DIT)
4720 Security User account created Backdoor account detection
4722 Security User account enabled Re-enabled dormant accounts
4724 Security Password reset attempt Unauthorized password resets
4728 Security Member added to security-enabled global group Privilege escalation
4732 Security Member added to local group Local admin group modification
4756 Security Member added to universal group Domain-wide privilege escalation

6.5 Defense Evasion & Anti-Forensics

Event ID Log Description Hunting Value
1102 Security Security log cleared Anti-forensics
104 System System log cleared Anti-forensics
4104 PowerShell Operational Script block logging Obfuscated PowerShell execution
4103 PowerShell Operational Module logging PowerShell module execution
400/403 PowerShell Engine start/stop PowerShell version downgrade
11 Sysmon File created Malware drop detection
15 Sysmon FileCreateStreamHash ADS (alternate data stream) creation
23 Sysmon File delete archived Deleted file tracking
26 Sysmon File delete logged File deletion events

6.6 Network Activity

Event ID Log Description Hunting Value
3 Sysmon Network connection C2 communication detection
22 Sysmon DNS query DNS-based C2, suspicious domains
5156 Security Windows Filtering Platform Firewall connection allowed
5157 Security Windows Filtering Platform Firewall connection blocked
5140 Security Network share accessed Lateral movement via SMB
5145 Security Share object access checked File access on shares

6.7 Detection Correlation Patterns

Lateral Movement via PsExec:

Source: 4648 (explicit creds) → Target: 4624 Type 3 → Target: 7045 (PSEXESVC service) → Target: 4688/1 (cmd.exe child)

Kerberoasting:

4769 with TicketEncryptionType = 0x17 (RC4) AND ServiceName != krbtgt AND ServiceName not ending in $

DCSync:

4662 with Properties containing {1131f6aa-9c07-11d1-f79f-00c04fc2dcd2} (DS-Replication-Get-Changes-All)

Pass-the-Hash:

4624 with LogonType = 9 (NewCredentials) AND LogonProcessName = seclogo

Golden Ticket:

4769 where TicketOptions = 0x40810000 AND ServiceName = krbtgt

7. IR Playbook Templates

7.1 Generic Incident Response Playbook

[PHASE 1] TRIAGE (0-15 minutes)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Validate alert — confirm not false positive
2. Determine scope — single host, segment, enterprise
3. Assign severity — P1 (critical), P2 (high), P3 (medium), P4 (low)
4. Notify stakeholders per escalation matrix
5. Begin evidence log (who, what, when, where)

[PHASE 2] CONTAINMENT (15-60 minutes)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Network isolation — quarantine VLAN, EDR network contain, firewall block
2. Preserve volatile evidence BEFORE containment alters state:
   - Memory dump (WinPmem/DumpIt)
   - Network connections (netstat -ano)
   - Running processes (tasklist /v, Get-Process)
   - DNS cache (ipconfig /displaydns)
   - Active sessions (qwinsta, net session)
3. Disable compromised accounts (not delete)
4. Block IOCs at perimeter (IPs, domains, hashes)
5. Revoke compromised credentials

[PHASE 3] EVIDENCE COLLECTION (concurrent with containment)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Memory acquisition → Volatility analysis
2. KAPE triage collection (KapeTriage target)
3. Disk imaging if warranted (FTK Imager, dc3dd)
4. Event log export
5. Network traffic capture (pcap)
6. Cloud logs (Azure AD sign-in, AWS CloudTrail)
7. Document chain of custody for all evidence

[PHASE 4] ANALYSIS
━━━━━━━━━━━━━━━━━━
1. Timeline generation:
   - Hayabusa CSV timeline from EVTX
   - MFT timeline (MFTECmd)
   - Prefetch analysis (PECmd)
   - Shimcache/Amcache (chainsaw analyse)
   - USN Journal ($J) parsing
2. IOC extraction and enrichment
3. Memory analysis (Volatility process/network/malware)
4. Lateral movement mapping
5. Determine initial access vector
6. Establish full attack timeline

[PHASE 5] ERADICATION
━━━━━━━━━━━━━━━━━━━━━
1. Remove attacker persistence (services, tasks, Run keys, WMI subscriptions)
2. Patch exploited vulnerability
3. Remove dropped tools and malware
4. Reset ALL potentially compromised credentials
5. Rebuild compromised systems from known-good images
6. Verify eradication via IOC sweep

[PHASE 6] RECOVERY
━━━━━━━━━━━━━━━━━━
1. Restore services in priority order
2. Monitor restored systems intensively (72+ hours)
3. Verify integrity of restored data
4. Confirm no re-compromise indicators
5. Gradually remove containment controls

[PHASE 7] POST-INCIDENT
━━━━━━━━━━━━━━━━━━━━━━━
1. Complete incident timeline
2. Root cause analysis
3. Detection gap analysis — what should we have caught?
4. New detection rules (Sigma, SIEM queries)
5. Lessons learned meeting
6. Update IR procedures
7. Evidence retention per policy

7.2 Ransomware Response Playbook

[TRIAGE]
- Identify ransomware variant (ransom note, encrypted file extension, hash lookup)
- Determine encryption scope (files, shares, shadow copies)
- Check for data exfiltration indicators BEFORE encryption
- Identify patient zero (first encrypted host)

[IMMEDIATE ACTIONS]
- Disconnect affected systems from network (physical disconnect preferred)
- DO NOT power off encrypted systems (memory contains encryption keys)
- Preserve memory immediately (WinPmem → Volatility analysis for keys)
- Block C2 IPs/domains at firewall
- Disable RDP externally
- Reset Kerberos KRBTGT password (twice, 12 hours apart)

[EVIDENCE PRIORITIES]
1. Memory dumps (encryption keys, process artifacts)
2. Network logs (data exfil evidence)
3. Event logs (lateral movement timeline)
4. Ransom notes (variant identification)
5. Encrypted file samples (decryptor compatibility)

[RECOVERY OPTIONS]
- Check nomoreransom.org for available decryptors
- Restore from offline/immutable backups
- Rebuild from golden images
- Memory key extraction (Volatility + FindCrypt plugin)

[DETECTION RULES TO DEPLOY]
- Mass file rename/modification (Sysmon 11, 23)
- VSS deletion: vssadmin delete shadows (4688)
- BCDEdit boot config changes (4688)
- Unusual SMB file access patterns (5145)
- Service installation from temp directories (7045)

7.3 Credential Theft Response Playbook

[TRIAGE]
- Identify type: LSASS dump, DCSync, Kerberoasting, credential file theft
- Determine scope: single host, domain-wide

[INDICATORS]
- LSASS access: Sysmon 10 targeting lsass.exe with GrantedAccess 0x1010/0x1FFFFF
- DCSync: Event 4662 with DS-Replication-Get-Changes GUID
- Kerberoasting: Event 4769 with RC4 encryption (0x17)
- Credential file theft: Access to SAM/SYSTEM/SECURITY hives or NTDS.DIT

[CONTAINMENT]
1. Isolate compromised host
2. Disable compromised accounts
3. Force password reset for ALL accounts the compromised user could access
4. If DCSync confirmed:
   - Reset KRBTGT twice (12 hours apart)
   - Reset all service account passwords
   - Reset all privileged account passwords

[ANALYSIS]
- Map all logon sessions from compromised credentials (4624/4648)
- Identify all hosts accessed (lateral movement)
- Check for persistence mechanisms on each accessed host
- Look for Golden/Silver ticket indicators

7.4 Web Application Compromise Playbook

[TRIAGE]
- Identify exploitation method (SQLi, RCE, deserialization, SSRF)
- Check web server access/error logs for exploit attempts
- Identify webshell/backdoor placement

[EVIDENCE COLLECTION]
- Web server access logs (IIS: W3SVC, Apache: access.log)
- Application logs
- File system changes (MFT timeline around compromise time)
- Process execution from web server process (w3wp.exe, httpd, java)
- Network connections from web server (C2 callbacks)

[HUNTING QUERIES]
- Processes spawned by web server process (Sysmon 1: ParentImage = w3wp.exe)
- Webshell file creation in web roots (Sysmon 11)
- Network connections from web server PID (Sysmon 3)
- POST requests to unusual file extensions (.aspx, .jsp, .php in unusual paths)

[CONTAINMENT]
- WAF block on exploit pattern
- Patch vulnerability
- Remove webshells
- Rotate application secrets/API keys
- Rotate database credentials

8. LogonTracer — Windows Logon Analysis

8.1 Overview

LogonTracer visualizes Windows Active Directory logon events as network graphs, connecting hostnames/IPs with account names to identify suspicious authentication patterns.

8.2 Processed Event IDs

Event ID Type
4624 Successful logon
4625 Failed logon
4768 Kerberos TGT request
4769 Kerberos service ticket
4776 NTLM authentication
4672 Special privilege assignment

8.3 Analysis Techniques

  • PageRank algorithm — Identifies critical nodes (high-centrality accounts/hosts)
  • Hidden Markov models — Behavioral anomaly detection
  • ChangeFinder — Time-series anomaly detection for logon patterns

8.4 Usage

# Docker deployment
docker run -p 8080:8080 -p 7474:7474 -p 7687:7687 jpcertcc/logontracer

# Import EVTX files
python logontracer.py -e Security.evtx -d neo4j_database

# Web interface at http://localhost:8080
# Search by account, host, or time range
# Graph view shows logon relationships
# Timeline view shows event chronology with anomaly scoring

9. APT-Hunter — Windows Event Log APT Detection

9.1 Overview

Python3-based tool for detecting APT activity in Windows event logs using statistical anomaly detection, Sigma rules, and custom hunting patterns.

9.2 Command Reference

# Full analysis with all reports
python3 APT-Hunter.py -p /path/to/logs/ -o ProjectName -allreport

# Time-bounded analysis
python3 APT-Hunter.py -p /logs/ -o Project1 -start 2026-01-01 -end 2026-01-15T20:00

# Keyword hunting
python3 APT-Hunter.py -hunt "psexec" -p /logs/ -o Project2
python3 APT-Hunter.py -huntfile "patterns.txt" -p /logs/ -o Project2

# Sigma rule-based detection
python3 APT-Hunter.py -sigma -rules rules.json -p /logs/ -o Project2

9.3 Output Types

  • Excel reports — comprehensive event summaries
  • CSV files — timeline-compatible for Timesketch
  • Parsed logon events — user, IP, timestamp, workstation
  • Process execution reports — command-line context
  • SID collection — user account identification
  • Frequency analysis — EventID statistical breakdown

9.4 Detection Methods

  • Statistical abnormality analysis in event frequency
  • Lateral movement indicator tracking
  • Credential compromise signal monitoring
  • Command execution anomaly identification
  • Cross-log correlation for attack chain reconstruction

10. DFIR Tool Ecosystem Reference

10.1 Evidence Collection Tools

Tool Platform Purpose
KAPE Windows Automated artifact collection + processing
CyLR Windows NTFS forensic collection
UAC Unix-like Unix artifact collector
ir-rescue Cross-platform Automated host forensic data collection
Acquire Cross-platform Rapid forensic artifact gathering
artifactcollector Cross-platform Automated collection
bulk_extractor Cross-platform Disk scanning bypassing filesystem
CDQR Cross-platform Fast disk image analysis
Live Response Collection Cross-platform Volatile data collection

10.2 Timeline Analysis Tools

Tool Purpose
Hayabusa EVTX → CSV/JSON timeline with Sigma detection
Chainsaw EVTX hunting + shimcache timeline
Plaso/log2timeline Super timeline from multiple artifact types
Timeline Explorer Interactive CSV timeline viewer
Timesketch Collaborative timeline analysis platform

10.3 Log Analysis Tools

Tool Purpose
APT-Hunter APT detection in Windows event logs
LogonTracer Windows logon event visualization
WELA Windows Event Log Analyzer
Zircolite Sigma-based detection on EVTX/JSON
Sigma Generic signature format for SIEM systems
SysmonSearch Windows event log aggregation
AppCompatProcessor AppCompat/AmCache analysis

10.4 Memory Forensics Tools

Tool Purpose
Volatility 3 Memory extraction and analysis framework
MemProcFS Virtual filesystem for physical memory
Rekall Digital artifact extraction from RAM
AVML Linux volatile memory acquisition
LiME Linux kernel module for memory acquisition
WinPmem Windows memory acquisition
MalConfScan Volatility plugin for malware config extraction

10.5 Disk Forensics Tools

Tool Purpose
Autopsy / Sleuth Kit Disk analysis and forensics
FTK Imager Forensic preview and imaging
X-Ways Forensics Disk cloning, imaging, analysis
Guymager Linux forensic imager
Dissect Multi-format digital forensics framework

10.6 All-in-One Platforms

Tool Purpose
Velociraptor Endpoint visibility, VQL hunting, artifact collection
GRR Rapid Response Remote live forensics
TheHive Incident response platform
IRIS Web collaborative IR platform
osquery SQL-based endpoint querying
Fleetdm osquery fleet management
CimSweep CIM/WMI-based IR across Windows
Security Onion Network security monitoring distribution

10.7 Adversary Emulation Tools

Tool Purpose
Atomic Red Team MITRE ATT&CK-aligned detection tests
Caldera Automated adversary emulation
APTSimulator Compromised system appearance simulation
Red Team Automation (RTA) Blue team detection testing

10.8 Sandboxing & Reversing

Tool Purpose
Ghidra NSA reverse engineering framework
CAPA Executable capability detection
CAPEv2 Malware config extraction sandbox
Cuckoo Configurable malware sandbox
Radare2 Reverse engineering framework
Hybrid-Analysis CrowdStrike sandbox service
VirusTotal Multi-engine malware detection

11. Sigma Rule Categories for Windows Detection

11.1 Rule Directory Structure

Category Coverage
process_creation New process launches with command-line parameters
network_connection Outbound/inbound network connections
file File creation, modification, deletion
registry Registry modification and access
powershell PowerShell execution and script logging
image_load DLL and executable loading
process_access Inter-process memory access
driver_load Kernel driver loading
pipe_created Named pipe creation (C2, lateral movement)
create_remote_thread Remote thread creation (injection)
create_stream_hash Alternate data stream creation
dns_query DNS query monitoring
wmi_event WMI activity monitoring
process_tampering Process manipulation detection
raw_access_thread Direct disk access bypass
sysmon Sysmon-specific event detection

11.2 Sigma Rule Example for Service Installation

title: Suspicious Service Installation via sc.exe
id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
status: experimental
description: Detects suspicious service creation using sc.exe with command execution in image path
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    Image|endswith: '\sc.exe'
    CommandLine|contains|all:
      - 'create'
      - 'binpath='
  filter_legitimate:
    CommandLine|contains:
      - 'C:\Program Files'
      - 'C:\Windows\System32'
  condition: selection and not filter_legitimate
falsepositives:
  - Legitimate software installation scripts
  - System administrators creating custom services
level: high
tags:
  - attack.persistence
  - attack.t1543.003
  - attack.privilege_escalation

11.3 Sigma Conversion Commands

# Convert to Splunk SPL
sigma convert -t splunk -p splunk_cim rule.yml

# Convert to Elastic/ECS
sigma convert -t elasticsearch -p ecs_windows rule.yml

# Convert to Microsoft Sentinel KQL
sigma convert -t microsoft365defender rule.yml

# Convert to QRadar AQL
sigma convert -t qradar rule.yml

# Batch convert directory
sigma convert -t splunk -p splunk_cim rules/windows/process_creation/

12. DFIR Report Case Study — Apache ActiveMQ → LockBit Ransomware

12.1 Attack Timeline

  • Day 0: CVE-2023-46604 exploitation on internet-facing ActiveMQ server
    • OpenWire protocol ClassPathXmlApplicationContext class abuse
    • Java process executes CertUtil to download Metasploit stager to %TEMP%
  • Day 0-1: Privilege escalation via getsystem, LSASS memory dumping, lateral movement
  • Day 2: Discovery commands executed; attacker loses access
  • Day 18: Re-exploitation of same unpatched CVE
    • AnyDesk installation for persistent access
    • Advanced IP Scanner for network recon
    • SMB-based lateral movement to domain controllers
  • Day 18 (90 min before impact): LockBit ransomware deployment across file/backup servers
  • TTR: 419 hours total; 90 minutes from re-access to encryption

12.2 Key Forensic Artifacts Found

Process Execution (Sysmon Event ID 1):

  • Java spawning CertUtil for downloads
  • Metasploit stager execution from %TEMP%
  • Service creation for privilege escalation (kesknq service)

Credential Access (Sysmon Event ID 10):

  • LSASS process access with GrantedAccess 0x1010 (VMRead)
  • CallTrace containing "UNKNOWN" values (injected code indicator)

Persistence (Event ID 7045):

  • AnyDesk service with AutoStart configuration
  • Suspicious services created from injected Winlogon processes

Network (Sysmon Event ID 3):

  • C2 to 166.62.100[.]52:2460 (Metasploit)
  • AnyDesk from same IP on port 6761
  • SMB scanning from beachhead to internal network

Anti-Forensics (Event IDs 104, 1102):

  • Event log clearing by attacker

12.3 Applicable Detection Rules

Network (Suricata/ET):

  • ET EXPLOIT Apache ActiveMQ Remote Code Execution Attempt (CVE-2023-46604)
  • ET POLICY SMB Executable File Transfer
  • ET INFO Executable Download from dotted-quad Host
  • ET POLICY SSL/TLS Certificate Observed (AnyDesk)
  • ET MALWARE Possible Metasploit Payload Common Construct Bind_API

Host (Sigma):

  • 61a7697c: Potential CobaltStrike Service Installations
  • 178e615d: Elevated System Shell Spawned
  • d75d6b6b: Suspicious SYSTEM User Process Creation
  • b52e84a3: Remote Access Tool - AnyDesk Execution
  • 4d07b1f4: DNS Query To Remote Access Software Domain

12.4 MITRE ATT&CK Mapping

Tactic Technique Detail
Initial Access T1190 CVE-2023-46604 exploitation
Execution T1059 PowerShell obfuscation
Persistence T1547 AnyDesk service AutoStart
Credential Access T1003 LSASS memory dumping
Discovery T1135 Network share discovery (SMB scan)
Lateral Movement T1021.001 RDP
Lateral Movement T1021.002 SMB/Windows Admin Shares
Defense Evasion T1070 Log clearing
Command & Control T1105 CertUtil tool transfer
Impact T1486 Data encrypted (LockBit)

13. Windows Forensic Artifact Locations

13.1 Execution Artifacts

Artifact Path Tool
Prefetch C:\Windows\Prefetch\*.pf PECmd
Amcache C:\Windows\AppCompat\Programs\Amcache.hve AmcacheParser
Shimcache SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache ShimCacheParser, Chainsaw
BAM/DAM SYSTEM\CurrentControlSet\Services\bam\State\UserSettings Registry Explorer
SRUM C:\Windows\System32\SRU\SRUDB.dat SrumECmd, Chainsaw
RecentFileCache C:\Windows\AppCompat\Programs\RecentFileCache.bcf RecentFileCacheParse
UserAssist NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist Registry Explorer
Last-Visited MRU NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU Registry Explorer

13.2 Persistence Locations

Registry Run Keys:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce

Winlogon:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify

Image File Execution Options (IFEO):

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<exe>\Debugger

Services:

HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName>\ImagePath
HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName>\Start (2=Auto, 3=Manual, 4=Disabled)

Scheduled Tasks:

C:\Windows\System32\Tasks\
C:\Windows\SysWOW64\Tasks\
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks

Startup Folders:

C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\

WMI Persistence:

C:\Windows\System32\wbem\Repository\
OBJECTS.DATA — contains event filters, consumers, bindings

COM Hijacking:

HKCU\Software\Classes\CLSID\
HKLM\Software\Classes\CLSID\

13.3 File System Artifacts

Artifact Path Purpose
MFT C:\$MFT File metadata, timestamps
USN Journal C:\$Extend\$UsnJrnl:$J File change tracking
$LogFile C:\$LogFile NTFS transaction log
Pagefile C:\pagefile.sys Virtual memory (may contain process data)
Hibernation C:\hiberfil.sys Hibernate state (memory at sleep time)
Swapfile C:\swapfile.sys Store app memory

13.4 User Activity Artifacts

Artifact Path
LNK files C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Recent\
Jump Lists C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\
Shellbags NTUSER.DAT\Software\Microsoft\Windows\Shell\BagMRU / Bags
TypedPaths NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths
MRU Lists NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
WordWheelQuery NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery
Timeline C:\Users\<user>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db

13.5 Network Artifacts

Artifact Path/Registry
Network profiles SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
Network signatures SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures
WLAN profiles C:\ProgramData\Microsoft\Wlansvc\Profiles\
DNS cache ipconfig /displaydns (volatile)
ARP cache arp -a (volatile)

13.6 Browser Artifacts

Browser History Path
Chrome C:\Users\<user>\AppData\Local\Google\Chrome\User Data\Default\History
Firefox C:\Users\<user>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>\places.sqlite
Edge C:\Users\<user>\AppData\Local\Microsoft\Edge\User Data\Default\History

13.7 RDP Artifacts

Artifact Location
RDP bitmap cache C:\Users\<user>\AppData\Local\Microsoft\Terminal Server Client\Cache\
Default.rdp C:\Users\<user>\Documents\Default.rdp
RDP MRU NTUSER.DAT\Software\Microsoft\Terminal Server Client\Servers
RDP connection logs Event IDs 1149 (TerminalServices-RemoteConnectionManager), 21/22/25 (TerminalServices-LocalSessionManager)

14. Live Response Commands

14.1 Windows Triage Commands

# === SYSTEM INFO ===
systeminfo
hostname
whoami /all

# === PROCESSES ===
tasklist /v /fo csv
Get-Process | Select-Object Name, Id, Path, Company, StartTime | Sort-Object StartTime -Descending
wmic process list full
Get-WmiObject Win32_Process | Select Name, ProcessId, ExecutablePath, CommandLine, ParentProcessId

# === NETWORK ===
netstat -ano
Get-NetTCPConnection -State Established | Select RemoteAddress, RemotePort, OwningProcess
ipconfig /displaydns
arp -a
route print
netsh wlan show profiles

# === SERVICES ===
sc query state=all
Get-Service | Where-Object {$_.Status -eq "Running"}
Get-WmiObject win32_service | Select Name, PathName, StartMode, State

# === PERSISTENCE ===
# Scheduled tasks
schtasks /query /fo csv /v
Get-ScheduledTask | Where-Object {$_.State -eq "Ready"} | Select TaskName, TaskPath

# Run keys
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"

# Services (unusual paths)
Get-WmiObject win32_service | Where-Object {$_.PathName -notmatch "System32|Program Files"} | Select Name, PathName

# WMI subscriptions
Get-WmiObject -Namespace root\subscription -Class __EventFilter
Get-WmiObject -Namespace root\subscription -Class __FilterToConsumerBinding
Get-WmiObject -Namespace root\subscription -Class CommandLineEventConsumer

# Startup folders
dir "C:\Users\*\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
dir "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\"

# === USERS & SESSIONS ===
net user
net localgroup administrators
qwinsta
net session
net use

# === FIREWALL ===
netsh advfirewall show allprofiles
Get-NetFirewallRule -Direction Inbound -Enabled True | Get-NetFirewallPortFilter

# === RECENT FILES ===
dir C:\Users\*\AppData\Roaming\Microsoft\Windows\Recent\ /s /b

# === ALTERNATE DATA STREAMS ===
Get-Item -Path C:\Users\*\Downloads\* -Stream * | Where-Object {$_.Stream -ne ':$DATA'}

# === PREFETCH ===
dir C:\Windows\Prefetch\ /b /od

# === DNS CACHE ===
Get-DnsClientCache | Select-Object Entry, RecordName, Data

14.2 Linux Triage Commands

# === SYSTEM INFO ===
uname -a
cat /etc/os-release
uptime
last -Faiwx

# === PROCESSES ===
ps auxwwf
ls -la /proc/*/exe 2>/dev/null
ls -la /proc/*/cwd 2>/dev/null
cat /proc/*/cmdline 2>/dev/null | tr '\0' ' '

# === NETWORK ===
ss -tulpn
netstat -tulpn
ip a
ip route
cat /etc/resolv.conf
iptables -L -n -v

# === PERSISTENCE ===
# Cron
crontab -l
ls -la /etc/cron*/
cat /var/spool/cron/crontabs/*

# Systemd
systemctl list-unit-files --type=service --state=enabled
ls -la /etc/systemd/system/
ls -la /usr/lib/systemd/system/

# Init
ls -la /etc/init.d/
cat /etc/rc.local

# Shell configs
cat /etc/profile
cat /etc/bash.bashrc
cat ~/.bashrc ~/.bash_profile ~/.profile

# SSH authorized keys
find / -name authorized_keys 2>/dev/null
cat /home/*/.ssh/authorized_keys

# LD_PRELOAD
cat /etc/ld.so.preload
env | grep LD_

# === USERS ===
cat /etc/passwd
cat /etc/shadow
cat /etc/group
w
who

# === LOGS ===
journalctl --since "1 hour ago"
tail -100 /var/log/auth.log
tail -100 /var/log/syslog
tail -100 /var/log/secure

# === FILE CHANGES (last 24 hours) ===
find / -mtime -1 -type f 2>/dev/null | head -200
find / -ctime -1 -type f 2>/dev/null | head -200

# === OPEN FILES ===
lsof -i -P -n
lsof +L1  # Deleted but open files

15. Eric Zimmerman Tools — Artifact Processing

Key command-line tools from Eric Zimmerman's suite (used by KAPE modules):

Tool Purpose Example
MFTECmd MFT parsing MFTECmd.exe -f C:\$MFT --csv output/ --csvf mft.csv
PECmd Prefetch parsing PECmd.exe -d C:\Windows\Prefetch --csv output/
AmcacheParser Amcache analysis AmcacheParser.exe -f Amcache.hve --csv output/
AppCompatCacheParser Shimcache analysis AppCompatCacheParser.exe -f SYSTEM --csv output/
ShellBagsExplorer Shellbags analysis GUI-based shellbag exploration
Registry Explorer Registry analysis GUI-based registry hive analysis
RECmd Registry command-line RECmd.exe -d registry_hives/ --bn BatchExamples\BasicBatch.reb --csv output/
LECmd LNK file parsing LECmd.exe -d "Recent" --csv output/
JLECmd Jump list parsing JLECmd.exe -d AutomaticDestinations --csv output/
SrumECmd SRUM database parsing SrumECmd.exe -f SRUDB.dat -r SOFTWARE --csv output/
EvtxECmd Event log parsing EvtxECmd.exe -d evtx_logs/ --csv output/
Timeline Explorer CSV timeline viewer GUI for viewing timeline CSVs
SDBExplorer SDB (shim DB) analysis SDBExplorer.exe -f custom.sdb
bstrings String extraction bstrings.exe -f suspicious.exe -o strings.txt
iisGeoLocate IIS log geo-enrichment iisGeoLocate.exe -d iis_logs/ --csv output/

16. Detection Engineering — Key Hunting Queries

16.1 LSASS Credential Dumping

Sysmon (Event ID 10):

EventID = 10
AND TargetImage ENDS WITH "lsass.exe"
AND GrantedAccess IN (0x1010, 0x1038, 0x1FFFFF, 0x01000000)
AND SourceImage NOT IN (
  "C:\Windows\System32\svchost.exe",
  "C:\Windows\System32\lsm.exe",
  "C:\Program Files\*\MsMpEng.exe"
)

16.2 Suspicious PowerShell Execution

Event ID 4104 (Script Block Logging):

EventID = 4104
AND ScriptBlockText MATCHES (
  "(?i)(invoke-mimikatz|invoke-expression|iex|downloadstring|
  net\.webclient|start-bitstransfer|invoke-webrequest|
  reflection\.assembly|frombase64string|
  [convert]::frombase64|gzipstream|deflatestream|
  invoke-shellcode|invoke-dllinjection|
  get-keystrokes|get-timezoneinfo|
  invoke-portscan|new-object.*io\.compression)"
)

16.3 Lateral Movement via WinRM

Event ID 4624 + 4688:

EventID = 4624 AND LogonType = 3 AND AuthenticationPackageName = "Negotiate"
FOLLOWED BY
EventID = 4688 AND ParentProcessName ENDS WITH "wsmprovhost.exe"

16.4 Service Installation from Suspicious Path

Event ID 7045:

EventID = 7045
AND ImagePath MATCHES "(?i)(\\temp\\|\\tmp\\|\\appdata\\|\\public\\|cmd\.exe|powershell|
  \\users\\.*\\downloads\\|%COMSPEC%|/c |/k )"

16.5 Scheduled Task Persistence

Event ID 4698:

EventID = 4698
AND TaskContent MATCHES "(?i)(cmd\.exe|powershell|mshta|wscript|cscript|
  rundll32|regsvr32|certutil|bitsadmin)"

16.6 RDP Lateral Movement Correlation

Source Host: 4648 (explicit credentials used)
  → Target Host: 1149 (TerminalServices-RemoteConnectionManager: network connection)
  → Target Host: 21 (TerminalServices-LocalSessionManager: session logon)
  → Target Host: 22 (TerminalServices-LocalSessionManager: shell start)
  → Target Host: 4624 Type 10 (Security: successful RDP logon)

16.7 DCSync Detection

Event ID 4662:

EventID = 4662
AND Properties CONTAINS "1131f6aa-9c07-11d1-f79f-00c04fc2dcd2"  -- DS-Replication-Get-Changes
AND Properties CONTAINS "1131f6ad-9c07-11d1-f79f-00c04fc2dcd2"  -- DS-Replication-Get-Changes-All
AND SubjectUserName NOT ENDS WITH "$"  -- Not a domain controller machine account

16.8 WMI Persistence Detection

Sysmon Events 19/20/21:

EventID IN (19, 20, 21)
-- 19: WmiEventFilter activity detected
-- 20: WmiEventConsumer activity detected
-- 21: WmiEventConsumerToFilter activity detected

HUNT FOR:
  Consumer.CommandLineTemplate containing "cmd", "powershell", "wscript", "cscript", "mshta"

17. IR Workflow Integration

17.1 Complete DFIR Pipeline

[ACQUISITION]
KAPE (target collection) → Evidence drive
    ↓
WinPmem/DumpIt → Memory image
    ↓
[PROCESSING]
Volatility 3 → Memory analysis report
Hayabusa → Event log timeline (CSV/JSON)
Chainsaw → Sigma hunt results + shimcache timeline
Eric Zimmerman tools → Artifact parsing
    ↓
[ANALYSIS]
Timeline Explorer → Manual timeline review
LogonTracer → Authentication pattern visualization
APT-Hunter → APT indicator detection
Plaso/log2timeline → Super timeline
    ↓
[DETECTION ENGINEERING]
Sigma rules → New detection rules from findings
Velociraptor hunts → Enterprise-wide IOC sweep
    ↓
[REPORTING]
Attack timeline diagram
MITRE ATT&CK mapping
IOC list (hashes, IPs, domains, file paths)
Detection gap analysis
Recommendations

17.2 Evidence Processing Cheat Sheet

# 1. Memory analysis
vol -f mem.dmp windows.info
vol -f mem.dmp windows.pstree
vol -f mem.dmp windows.netscan
vol -f mem.dmp windows.malfind
vol -f mem.dmp windows.cmdline

# 2. Event log timeline
hayabusa csv-timeline -d evidence/evtx/ -p verbose -o timeline.csv
hayabusa logon-summary -d evidence/evtx/
hayabusa search -d evidence/evtx/ -k "mimikatz"

# 3. Sigma hunting
chainsaw hunt evidence/evtx/ -s sigma/rules/ \
  --mapping mappings/sigma-event-logs-all.yml \
  --level high,critical --csv --output hunt_results/

# 4. Shimcache/Amcache analysis
chainsaw analyse shimcache evidence/SYSTEM \
  --amcache evidence/Amcache.hve --tspair -o shimcache.csv

# 5. Artifact parsing (Eric Zimmerman)
MFTECmd.exe -f evidence/$MFT --csv output/ --csvf mft.csv
PECmd.exe -d evidence/Prefetch/ --csv output/
AmcacheParser.exe -f evidence/Amcache.hve --csv output/
AppCompatCacheParser.exe -f evidence/SYSTEM --csv output/
LECmd.exe -d evidence/Recent/ --csv output/
JLECmd.exe -d evidence/AutomaticDestinations/ --csv output/
SrumECmd.exe -f evidence/SRUDB.dat -r evidence/SOFTWARE --csv output/
EvtxECmd.exe -d evidence/evtx/ --csv output/

# 6. APT hunting
python3 APT-Hunter.py -p evidence/evtx/ -o CaseName -allreport

# 7. Super timeline (Plaso)
log2timeline.py --storage-file timeline.plaso evidence/
psort.py -o l2tcsv -w supertimeline.csv timeline.plaso

18. DFIR Linux Distributions

Distribution Focus
SANS SIFT Workstation Full forensic analysis toolkit (Ubuntu-based)
CAINE Computer Aided Investigative Environment (bootable)
PALADIN Forensically sound Linux (write-blocking built-in)
Security Onion Network security monitoring
NST Network Security Toolkit
REMnux Malware analysis distribution
Flare VM Windows malware analysis (VM overlay)

19. IR Community Resources

19.1 Key References

Resource URL Content
The DFIR Report thedfirreport.com Real intrusion case studies with TTPs
SANS DFIR Blog sans.org/blog Cheat sheets, research, tool guides
AboutDFIR aboutdfir.com Comprehensive DFIR resource compendium
ForensicsFocus forensicfocus.com Community forums and articles
13Cubed youtube.com/13Cubed DFIR tutorial videos
MITRE ATT&CK attack.mitre.org Adversary TTP framework

19.2 IR Playbook Collections

Resource Description
AWS IR Runbook Samples DoS, credential leakage, S3 unauthorized access
Counteractive Playbooks Structured response procedures
GuardSight Battle Cards Response methodology cards
IRM (Incident Response Methodologies) By CERT Societe Generale
PagerDuty IR Documentation Preparation, response, post-incident
ThreatHunter-Playbook Threat hunting methodology

19.3 Windows Event Log References

Resource Description
Awesome Event IDs Curated Event ID reference
Windows Events Attack Samples Attack technique → Event ID mapping
Malware Archaeology Cheat Sheets Logging configuration per log source
JPCERT LogonTracer Visual logon event analysis

Related Posts

  • AppsFlyer Web SDK Compromised in Supply Chain Attack Targeting Cryptocurrency

    highMar 15, 2026
  • GlassWorm Campaign Escalates: 72 Malicious Extensions Weaponize Open VSX Dependencies

    highMar 15, 2026
  • Phishing Campaign Compromises Starbucks Employee Portal, Exposes 889 Staff Records

    mediumMar 15, 2026
  • Accidental FBI Database Breach Exposes Epstein Investigation Files

    highMar 14, 2026
  • HIPAA Breach Tracker: 301 Million Healthcare Records Exposed in 2025

    highMar 14, 2026
NextForensics Artifacts

On this page

  • 1. Velociraptor — VQL Query Language & Artifact System
  • 1.1 VQL Fundamentals
  • 1.2 Key VQL Plugins for Hunting
  • 1.3 Velociraptor Artifact Structure
  • 2. Hayabusa — Windows Event Log Timeline Generator
  • 2.1 Core Capabilities
  • 2.2 Command Reference
  • 2.3 Output Profiles
  • 2.4 Integration Patterns
  • 3. Chainsaw — Rapid Forensic Hunting
  • 3.1 Core Capabilities
  • 3.2 Command Reference
  • 3.3 Built-in Detection Categories
  • 3.4 Supported Sysmon Event IDs for Sigma Mapping
  • 4. KAPE — Evidence Collection Framework
  • 4.1 Architecture
  • 4.2 Critical Windows Targets
  • 4.3 KAPE Command Examples
  • 4.4 Target File Format (.tkape)
  • 5. Volatility 3 — Memory Forensics
  • 5.1 Core Command Syntax
  • 5.2 Windows Plugins — Complete Reference
  • 5.3 Linux Plugins
  • 5.4 Memory Acquisition Tools
  • 5.5 Triage Workflow
  • 6. Windows Event IDs — Detection Reference
  • 6.1 Authentication & Logon
  • 6.2 Process Execution
  • 6.3 Persistence & Lateral Movement
  • 6.4 Credential Access
  • 6.5 Defense Evasion & Anti-Forensics
  • 6.6 Network Activity
  • 6.7 Detection Correlation Patterns
  • 7. IR Playbook Templates
  • 7.1 Generic Incident Response Playbook
  • 7.2 Ransomware Response Playbook
  • 7.3 Credential Theft Response Playbook
  • 7.4 Web Application Compromise Playbook
  • 8. LogonTracer — Windows Logon Analysis
  • 8.1 Overview
  • 8.2 Processed Event IDs
  • 8.3 Analysis Techniques
  • 8.4 Usage
  • 9. APT-Hunter — Windows Event Log APT Detection
  • 9.1 Overview
  • 9.2 Command Reference
  • 9.3 Output Types
  • 9.4 Detection Methods
  • 10. DFIR Tool Ecosystem Reference
  • 10.1 Evidence Collection Tools
  • 10.2 Timeline Analysis Tools
  • 10.3 Log Analysis Tools
  • 10.4 Memory Forensics Tools
  • 10.5 Disk Forensics Tools
  • 10.6 All-in-One Platforms
  • 10.7 Adversary Emulation Tools
  • 10.8 Sandboxing & Reversing
  • 11. Sigma Rule Categories for Windows Detection
  • 11.1 Rule Directory Structure
  • 11.2 Sigma Rule Example for Service Installation
  • 11.3 Sigma Conversion Commands
  • 12. DFIR Report Case Study — Apache ActiveMQ → LockBit Ransomware
  • 12.1 Attack Timeline
  • 12.2 Key Forensic Artifacts Found
  • 12.3 Applicable Detection Rules
  • 12.4 MITRE ATT&CK Mapping
  • 13. Windows Forensic Artifact Locations
  • 13.1 Execution Artifacts
  • 13.2 Persistence Locations
  • 13.3 File System Artifacts
  • 13.4 User Activity Artifacts
  • 13.5 Network Artifacts
  • 13.6 Browser Artifacts
  • 13.7 RDP Artifacts
  • 14. Live Response Commands
  • 14.1 Windows Triage Commands
  • 14.2 Linux Triage Commands
  • 15. Eric Zimmerman Tools — Artifact Processing
  • 16. Detection Engineering — Key Hunting Queries
  • 16.1 LSASS Credential Dumping
  • 16.2 Suspicious PowerShell Execution
  • 16.3 Lateral Movement via WinRM
  • 16.4 Service Installation from Suspicious Path
  • 16.5 Scheduled Task Persistence
  • 16.6 RDP Lateral Movement Correlation
  • 16.7 DCSync Detection
  • 16.8 WMI Persistence Detection
  • 17. IR Workflow Integration
  • 17.1 Complete DFIR Pipeline
  • 17.2 Evidence Processing Cheat Sheet
  • 18. DFIR Linux Distributions
  • 19. IR Community Resources
  • 19.1 Key References
  • 19.2 IR Playbook Collections
  • 19.3 Windows Event Log References