9.2 KiB
9.2 KiB
Dynamic Analysis Tool Setup Guide
Quick reference for configuring essential dynamic analysis tools.
Process Monitor (Procmon) - Sysinternals
Initial Setup
- Download from: https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
- Run as Administrator
- Procmon starts capturing immediately
Essential Filters (Reduce Noise)
Filter by Process:
Process Name → is → sample.exe → Include
Process Name → is → rundll32.exe → Include (if DLL execution)
Process Name → is → explorer.exe → Exclude
Process Name → is → svchost.exe → Exclude
Filter by Operation Type:
Operation → contains → Reg → Include (registry operations)
Operation → contains → File → Include (file operations)
Operation → begins with → Process → Include (process operations)
Filter by Result:
Result → is → SUCCESS → Include (focus on successful operations)
Columns to Enable
- Time
- Process Name
- PID
- Operation
- Path
- Result
- Detail
Export Options
File → Save → All Events → CSV
File → Save → Filtered Events → CSV (recommended)
Pro Tips
- Clear capture (Ctrl+X) before malware execution for clean logs
- Use bookmarks (Ctrl+B) to mark important events
- Stack duplicate events: Tools → Count Occurrences
- Enable boot logging for persistence analysis: Options → Enable Boot Logging
Wireshark - Network Analysis
Capture Setup
- Download from: https://www.wireshark.org
- Start → Options → Select adapter connected to INetSim
- Start capture before executing malware
Display Filters (During Analysis)
DNS Traffic:
dns
dns.qry.name contains "malicious"
HTTP Traffic:
http
http.request.method == "POST"
http.request.uri contains "/api"
HTTPS/TLS:
tls
tls.handshake.type == 1
Specific IP:
ip.addr == 192.168.1.100
ip.dst == 192.168.1.100
Specific Port:
tcp.port == 443
udp.port == 53
Export Options
File → Export Specified Packets → Save as PCAPNG
File → Export Objects → HTTP (extract downloaded files)
Command-Line Analysis (tshark)
# Extract DNS queries
tshark -r capture.pcapng -Y dns.qry.name -T fields -e dns.qry.name | sort -u
# Extract HTTP hosts
tshark -r capture.pcapng -Y http.request -T fields -e http.host -e http.request.uri
# Extract all contacted IPs
tshark -r capture.pcapng -T fields -e ip.dst | sort -u
System Informer (formerly Process Hacker) - Process/Memory Analysis
Setup
- Download from: https://systeminformer.sourceforge.io
- Run as Administrator
- Enable: View → Update Speed → Fast
Key Features
Process Tree View:
View → Tree View
Expand malware process to see child processes
Memory Inspection:
Double-click process → Memory tab
Look for RWX regions (suspicious)
Right-click memory region → Read/Write → String scan
Handles:
Double-click process → Handles tab
Filter: Type → Mutant (mutexes)
Filter: Type → File (open files)
Network Connections:
Double-click process → Network tab
Shows all connections made by process
Memory Dump:
Right-click process → Create dump file
Save full memory for Volatility analysis
Highlighting Rules
Options → Highlight → New
Condition: Process Name → contains → sample.exe
Color: Red
Sysmon - Advanced Windows Logging
Installation
# Download Sysmon
# https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon
# Install with a community config
sysmon64.exe -accepteula -i sysmonconfig.xml
# Config sources (pick one):
# https://github.com/olafhartong/sysmon-modular (actively maintained, MITRE-mapped; use sysmonconfig.xml)
# https://github.com/SwiftOnSecurity/sysmon-config (classic, less frequently updated)
View Logs
# Event Viewer
eventvwr.msc → Applications and Services Logs → Microsoft → Windows → Sysmon → Operational
# PowerShell
Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" -MaxEvents 100 | Format-List
# Export logs
wevtutil epl Microsoft-Windows-Sysmon/Operational C:\evidence\sysmon.evtx
Key Event IDs
- Event 1: Process creation (command line, hashes, parent process)
- Event 3: Network connection (source/dest IP, port, process)
- Event 5: Process terminated
- Event 7: Image loaded (DLL loading)
- Event 8: CreateRemoteThread (injection)
- Event 10: ProcessAccess (process manipulation)
- Event 11: FileCreate (file creation time)
- Event 12/13/14: Registry operations
- Event 22: DNS query
Regshot - Registry Comparison
Workflow
- Download from: https://sourceforge.net/projects/regshot/
- Run Regshot
- Click "1st shot" (before malware execution)
- Execute malware
- Wait for all malware activity to complete
- Click "2nd shot" (after malware execution)
- Click "Compare"
- Output saved as HTML (registry_changes.html)
Output Interpretation
- Keys added: New persistence mechanisms
- Keys deleted: Cleanup activities
- Values modified: Configuration changes
- Values added: New settings
Pro Tips
- Scan selected folders only for faster scans
- Use during specific malware phases (install vs. runtime)
- Export both shots for archival
TCPView - Real-Time Network Connections
Setup
- Download from: https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview
- Run as Administrator
- Shows all active TCP/UDP connections
Features
- Real-time connection monitoring
- Color-coded (green = new, red = closed)
- Right-click → Close Connection (for testing)
- Right-click → Whois (lookup IP)
Save Output
File → Save → CSV
Noriben - Automated Procmon Analysis
Setup
# Download from: https://github.com/Rurik/Noriben
git clone https://github.com/Rurik/Noriben.git
cd Noriben
Usage
# Automated execution with Procmon
python Noriben.py --cmd sample.exe --timeout 300
# Manual mode (execute malware yourself)
python Noriben.py --output noriben_report.txt
Output
- Filtered Procmon events
- Suspicious behaviors highlighted
- Timeline of activities
- File, registry, network artifacts
INetSim - Fake Internet Simulation
Installation (Linux VM)
sudo apt update
sudo apt install inetsim
# Configure
sudo nano /etc/inetsim/inetsim.conf
Configuration
service_bind_address 0.0.0.0
dns_default_ip 192.168.56.1 # INetSim host IP
https_bind_port 443
http_bind_port 80
smtp_bind_port 25
Start INetSim
sudo inetsim
Configure Windows VM
Set DNS server to INetSim IP (192.168.56.1)
Set gateway to INetSim IP (if using NAT)
Verify
# From Windows VM
ping google.com # Should resolve to INetSim IP
nslookup microsoft.com # Should resolve to INetSim IP
FakeNet-NG - Windows Internet Simulation
Installation
# Download from: https://github.com/mandiant/flare-fakenet-ng
pip install flare-fakenet-ng
Usage
# Run as Administrator
fakenet.exe
# Execute malware (FakeNet intercepts all network)
Features
- Simulates HTTP, HTTPS, DNS, FTP, SMTP
- Captures all network traffic
- No external VM needed
- Logs all requests/responses
Tool Startup Sequence
Recommended Order:
- Take VM snapshot
- Start INetSim (if using)
- Start Sysmon (already installed)
- Start Procmon (clear capture first)
- Start Wireshark
- Start System Informer
- Start Regshot → 1st shot (if using)
- Execute malware
- Monitor for 15+ minutes
- Regshot → 2nd shot (if using)
- Stop all captures
- Export all evidence
- Revert to snapshot
Quick Reference Card
| Tool | Purpose | When to Use |
|---|---|---|
| Procmon | File/Registry/Process activity | Always |
| Wireshark | Network traffic | Always |
| System Informer | Process/Memory analysis | Always |
| Sysmon | Windows event logging | Always (background) |
| Regshot | Registry comparison | When need before/after snapshot |
| TCPView | Real-time connections | Quick network checks |
| Noriben | Automated Procmon | Time-constrained analysis |
| INetSim | Fake internet | Always (network isolation) |
| FakeNet-NG | Windows fake internet | Alternative to INetSim |
Troubleshooting
Procmon not capturing:
- Run as Administrator
- Clear filters (Ctrl+R)
- Check "Capture Events" is enabled
Wireshark shows no traffic:
- Verify correct network adapter selected
- Check malware actually made network requests
- Verify VM network settings
System Informer can't dump process:
- Run as Administrator
- Process may be protected
- Try x64dbg or WinDbg instead
Sysmon not logging:
- Verify installation:
sc query sysmon64 - Check config file is valid XML
- View logs: Event Viewer → Sysmon/Operational