ineedcodes 1.6.1 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/skills/401-403-bypass-techniques/SKILL.md +348 -0
- package/skills/active-directory-acl-abuse/BLOODHOUND_PATHS.md +281 -0
- package/skills/active-directory-acl-abuse/SKILL.md +295 -0
- package/skills/active-directory-certificate-services/ADCS_ESC_MATRIX.md +197 -0
- package/skills/active-directory-certificate-services/SKILL.md +303 -0
- package/skills/active-directory-kerberos-attacks/KERBEROS_ATTACK_CHAINS.md +226 -0
- package/skills/active-directory-kerberos-attacks/SKILL.md +311 -0
- package/skills/ai-ml-security/SKILL.md +425 -0
- package/skills/android-pentesting-tricks/FRIDA_SCRIPTS.md +394 -0
- package/skills/android-pentesting-tricks/SKILL.md +369 -0
- package/skills/anti-debugging-techniques/ANTI_DEBUG_MATRIX.md +117 -0
- package/skills/anti-debugging-techniques/SKILL.md +407 -0
- package/skills/api-auth-and-jwt-abuse/SKILL.md +76 -0
- package/skills/api-authorization-and-bola/SKILL.md +48 -0
- package/skills/api-recon-and-docs/SKILL.md +61 -0
- package/skills/api-sec/SKILL.md +49 -0
- package/skills/arbitrary-write-to-rce/SKILL.md +361 -0
- package/skills/auth-sec/SKILL.md +41 -0
- package/skills/authbypass-authentication-flaws/SKILL.md +441 -0
- package/skills/bba-ad-attacker/SKILL.md +420 -0
- package/skills/bba-api-security/SKILL.md +95 -0
- package/skills/bba-attack-planner/SKILL.md +186 -0
- package/skills/bba-binary-exploit/SKILL.md +65 -0
- package/skills/bba-bizlogic-hunter/SKILL.md +304 -0
- package/skills/bba-bug-bounty/SKILL.md +245 -0
- package/skills/bba-cicd-redteam/SKILL.md +515 -0
- package/skills/bba-cloud-security/SKILL.md +97 -0
- package/skills/bba-container-escape/SKILL.md +161 -0
- package/skills/bba-credential-tester/SKILL.md +346 -0
- package/skills/bba-crypto-analyst/SKILL.md +54 -0
- package/skills/bba-ctf-solver/SKILL.md +166 -0
- package/skills/bba-detection-engineer/SKILL.md +93 -0
- package/skills/bba-engagement-planner/SKILL.md +68 -0
- package/skills/bba-exploit-chainer/SKILL.md +280 -0
- package/skills/bba-exploit-guide/SKILL.md +96 -0
- package/skills/bba-forensics-analyst/SKILL.md +512 -0
- package/skills/bba-graphql-hunter/SKILL.md +145 -0
- package/skills/bba-hardware-hacker/SKILL.md +57 -0
- package/skills/bba-jwt-cracker/SKILL.md +133 -0
- package/skills/bba-llm-redteam/SKILL.md +149 -0
- package/skills/bba-malware-analyst/SKILL.md +305 -0
- package/skills/bba-mobile-pentester/SKILL.md +350 -0
- package/skills/bba-osint-collector/SKILL.md +645 -0
- package/skills/bba-payload-crafter/SKILL.md +347 -0
- package/skills/bba-phishing-operator/SKILL.md +516 -0
- package/skills/bba-poc-validator/SKILL.md +249 -0
- package/skills/bba-privesc-advisor/SKILL.md +98 -0
- package/skills/bba-purple-team/SKILL.md +56 -0
- package/skills/bba-recon-advisor/SKILL.md +215 -0
- package/skills/bba-red-team-operator/SKILL.md +61 -0
- package/skills/bba-report-generator/SKILL.md +145 -0
- package/skills/bba-reverse-engineer/SKILL.md +298 -0
- package/skills/bba-social-engineer/SKILL.md +341 -0
- package/skills/bba-ssrf-hunter/SKILL.md +120 -0
- package/skills/bba-stig-analyst/SKILL.md +108 -0
- package/skills/bba-subdomain-takeover/SKILL.md +141 -0
- package/skills/bba-swarm-orchestrator/SKILL.md +351 -0
- package/skills/bba-threat-modeler/SKILL.md +574 -0
- package/skills/bba-vuln-scanner/SKILL.md +305 -0
- package/skills/bba-web-hunter/SKILL.md +285 -0
- package/skills/bba-wireless-pentester/SKILL.md +539 -0
- package/skills/binary-protection-bypass/PROTECTION_BYPASS_MATRIX.md +168 -0
- package/skills/binary-protection-bypass/SKILL.md +295 -0
- package/skills/browser-exploitation-v8/SKILL.md +334 -0
- package/skills/browser-exploitation-v8/V8_EXPLOITATION_PATTERNS.md +288 -0
- package/skills/business-logic-vuln/SKILL.md +33 -0
- package/skills/business-logic-vulnerabilities/CHECKLIST.md +375 -0
- package/skills/business-logic-vulnerabilities/METHODOLOGY.md +337 -0
- package/skills/business-logic-vulnerabilities/SCENARIOS.md +1095 -0
- package/skills/business-logic-vulnerabilities/SKILL.md +711 -0
- package/skills/classical-cipher-analysis/SKILL.md +663 -0
- package/skills/clickjacking/SKILL.md +163 -0
- package/skills/cmdi-command-injection/SKILL.md +687 -0
- package/skills/code-obfuscation-deobfuscation/SKILL.md +391 -0
- package/skills/container-escape-techniques/DOCKER_ESCAPE_CHAINS.md +296 -0
- package/skills/container-escape-techniques/SKILL.md +339 -0
- package/skills/cors-cross-origin-misconfiguration/SCENARIOS.md +152 -0
- package/skills/cors-cross-origin-misconfiguration/SKILL.md +270 -0
- package/skills/crlf-injection/SKILL.md +179 -0
- package/skills/csp-bypass-advanced/SKILL.md +259 -0
- package/skills/csrf-cross-site-request-forgery/SKILL.md +526 -0
- package/skills/csv-formula-injection/SKILL.md +144 -0
- package/skills/dangling-markup-injection/SKILL.md +321 -0
- package/skills/defi-attack-patterns/SKILL.md +355 -0
- package/skills/dependency-confusion/SKILL.md +178 -0
- package/skills/deserialization-insecure/JAVA_GADGET_CHAINS.md +511 -0
- package/skills/deserialization-insecure/SKILL.md +725 -0
- package/skills/dns-rebinding-attacks/SKILL.md +337 -0
- package/skills/email-header-injection/SKILL.md +349 -0
- package/skills/expression-language-injection/SKILL.md +243 -0
- package/skills/file-access-vuln/SKILL.md +33 -0
- package/skills/format-string-exploitation/SKILL.md +312 -0
- package/skills/ghost-bits-cast-attack/PAYLOAD_COOKBOOK.md +448 -0
- package/skills/ghost-bits-cast-attack/SKILL.md +799 -0
- package/skills/graphql-and-hidden-parameters/SKILL.md +50 -0
- package/skills/hack/SKILL.md +162 -0
- package/skills/hash-attack-techniques/SKILL.md +491 -0
- package/skills/heap-exploitation/HOUSE_OF_TECHNIQUES.md +244 -0
- package/skills/heap-exploitation/IO_FILE_EXPLOITATION.md +256 -0
- package/skills/heap-exploitation/SKILL.md +217 -0
- package/skills/http-host-header-attacks/SKILL.md +323 -0
- package/skills/http-parameter-pollution/SKILL.md +208 -0
- package/skills/http2-specific-attacks/SKILL.md +350 -0
- package/skills/idor-broken-object-authorization/SKILL.md +336 -0
- package/skills/injection-checking/EXTRA_INJECTION_TYPES.md +450 -0
- package/skills/injection-checking/SKILL.md +50 -0
- package/skills/insecure-source-code-management/SKILL.md +161 -0
- package/skills/ios-pentesting-tricks/IOS_RUNTIME_TRICKS.md +411 -0
- package/skills/ios-pentesting-tricks/SKILL.md +418 -0
- package/skills/jndi-injection/SKILL.md +265 -0
- package/skills/jwt-oauth-token-attacks/SKILL.md +301 -0
- package/skills/kernel-exploitation/KERNEL_HEAP_TECHNIQUES.md +293 -0
- package/skills/kernel-exploitation/KERNEL_MITIGATION_BYPASS.md +224 -0
- package/skills/kernel-exploitation/SKILL.md +307 -0
- package/skills/kubernetes-pentesting/SKILL.md +348 -0
- package/skills/lattice-crypto-attacks/SKILL.md +497 -0
- package/skills/linux-lateral-movement/SKILL.md +348 -0
- package/skills/linux-privilege-escalation/KERNEL_EXPLOITS_CHECKLIST.md +260 -0
- package/skills/linux-privilege-escalation/SKILL.md +346 -0
- package/skills/linux-privilege-escalation/SUID_CAPABILITIES_TRICKS.md +305 -0
- package/skills/linux-security-bypass/SKILL.md +345 -0
- package/skills/llm-prompt-injection/JAILBREAK_PATTERNS.md +306 -0
- package/skills/llm-prompt-injection/SKILL.md +357 -0
- package/skills/macos-process-injection/DYLIB_XPC_TECHNIQUES.md +373 -0
- package/skills/macos-process-injection/SKILL.md +384 -0
- package/skills/macos-security-bypass/SKILL.md +337 -0
- package/skills/macos-security-bypass/TCC_BYPASS_MATRIX.md +200 -0
- package/skills/memory-forensics-volatility/SKILL.md +323 -0
- package/skills/memory-forensics-volatility/VOLATILITY_CHEATSHEET.md +225 -0
- package/skills/mobile-ssl-pinning-bypass/SKILL.md +531 -0
- package/skills/network-protocol-attacks/NAME_RESOLUTION_POISONING.md +226 -0
- package/skills/network-protocol-attacks/SKILL.md +330 -0
- package/skills/nosql-injection/SKILL.md +341 -0
- package/skills/ntlm-relay-coercion/COERCION_METHODS.md +253 -0
- package/skills/ntlm-relay-coercion/SKILL.md +267 -0
- package/skills/oauth-oidc-misconfiguration/SKILL.md +46 -0
- package/skills/open-redirect/SKILL.md +380 -0
- package/skills/path-traversal-lfi/SKILL.md +802 -0
- package/skills/prototype-pollution/SKILL.md +190 -0
- package/skills/prototype-pollution-advanced/KNOWN_GADGETS.md +253 -0
- package/skills/prototype-pollution-advanced/SKILL.md +338 -0
- package/skills/race-condition/SKILL.md +526 -0
- package/skills/recon-and-methodology/SKILL.md +389 -0
- package/skills/recon-for-sec/SKILL.md +29 -0
- package/skills/request-smuggling/H2_SMUGGLING_VARIANTS.md +498 -0
- package/skills/request-smuggling/SKILL.md +314 -0
- package/skills/reverse-shell-techniques/SHELL_CHEATSHEET.md +196 -0
- package/skills/reverse-shell-techniques/SKILL.md +290 -0
- package/skills/rsa-attack-techniques/RSA_ATTACK_CATALOG.md +432 -0
- package/skills/rsa-attack-techniques/SKILL.md +437 -0
- package/skills/saml-sso-assertion-attacks/SKILL.md +41 -0
- package/skills/sandbox-escape-techniques/PYTHON_SANDBOX_ESCAPE.md +349 -0
- package/skills/sandbox-escape-techniques/SECCOMP_BYPASS.md +332 -0
- package/skills/sandbox-escape-techniques/SKILL.md +250 -0
- package/skills/smart-contract-vulnerabilities/SKILL.md +314 -0
- package/skills/smart-contract-vulnerabilities/SOLIDITY_VULN_PATTERNS.md +460 -0
- package/skills/sqli-sql-injection/SCENARIOS.md +575 -0
- package/skills/sqli-sql-injection/SKILL.md +489 -0
- package/skills/sqli-sql-injection/SQLMAP_ADVANCED.md +642 -0
- package/skills/ssrf-server-side-request-forgery/SCENARIOS.md +226 -0
- package/skills/ssrf-server-side-request-forgery/SKILL.md +323 -0
- package/skills/ssrf-server-side-request-forgery/URL_PARSER_TRICKS.md +650 -0
- package/skills/ssti-server-side-template-injection/ENGINE_PAYLOADS.md +456 -0
- package/skills/ssti-server-side-template-injection/SCENARIOS.md +319 -0
- package/skills/ssti-server-side-template-injection/SKILL.md +344 -0
- package/skills/stack-overflow-and-rop/ROP_ADVANCED_TECHNIQUES.md +249 -0
- package/skills/stack-overflow-and-rop/SKILL.md +304 -0
- package/skills/steganography-techniques/SKILL.md +348 -0
- package/skills/steganography-techniques/STEGO_TOOLS_GUIDE.md +335 -0
- package/skills/subdomain-takeover/SKILL.md +247 -0
- package/skills/symbolic-execution-tools/ANGR_COOKBOOK.md +437 -0
- package/skills/symbolic-execution-tools/SKILL.md +419 -0
- package/skills/symmetric-cipher-attacks/BLOCK_CIPHER_ATTACKS.md +364 -0
- package/skills/symmetric-cipher-attacks/SKILL.md +462 -0
- package/skills/traffic-analysis-pcap/SKILL.md +341 -0
- package/skills/tunneling-and-pivoting/SKILL.md +343 -0
- package/skills/type-juggling/SKILL.md +291 -0
- package/skills/unauthorized-access-common-services/PORT_SERVICE_MATRIX.md +340 -0
- package/skills/unauthorized-access-common-services/SKILL.md +388 -0
- package/skills/upload-insecure-files/SCENARIOS.md +158 -0
- package/skills/upload-insecure-files/SKILL.md +543 -0
- package/skills/vm-and-bytecode-reverse/SKILL.md +450 -0
- package/skills/vr-cheatsheet-authentication_bypass/SKILL.md +184 -0
- package/skills/vr-cheatsheet-dangerous_functions/SKILL.md +200 -0
- package/skills/vr-cheatsheet-linux_commands/SKILL.md +40 -0
- package/skills/vr-cheatsheet-rce/SKILL.md +177 -0
- package/skills/vr-cheatsheet-reverse_engineering/SKILL.md +144 -0
- package/skills/vr-cheatsheet-sqli/SKILL.md +270 -0
- package/skills/vr-cheatsheet-ssrf/SKILL.md +173 -0
- package/skills/vr-cheatsheet-xss/SKILL.md +177 -0
- package/skills/vr-methodology-mindset_and_tips/SKILL.md +51 -0
- package/skills/vr-template-vulnerability_report_template/SKILL.md +59 -0
- package/skills/vr-writeup-CVE-2026-9136/SKILL.md +171 -0
- package/skills/vr-writeup-ZVE-2026-3795/SKILL.md +350 -0
- package/skills/vr-writeup-api_key_leak/SKILL.md +103 -0
- package/skills/waf-bypass-techniques/SKILL.md +290 -0
- package/skills/waf-bypass-techniques/WAF_PRODUCT_MATRIX.md +202 -0
- package/skills/web-cache-deception/CACHE_POISONING_TECHNIQUES.md +637 -0
- package/skills/web-cache-deception/SKILL.md +222 -0
- package/skills/websocket-security/SKILL.md +454 -0
- package/skills/windows-av-evasion/AMSI_BYPASS_TECHNIQUES.md +289 -0
- package/skills/windows-av-evasion/SKILL.md +342 -0
- package/skills/windows-lateral-movement/CREDENTIAL_DUMPING.md +308 -0
- package/skills/windows-lateral-movement/SKILL.md +335 -0
- package/skills/windows-privilege-escalation/SKILL.md +328 -0
- package/skills/windows-privilege-escalation/TOKEN_POTATO_TRICKS.md +216 -0
- package/skills/windows-privilege-escalation/UAC_BYPASS_METHODS.md +225 -0
- package/skills/xslt-injection/SKILL.md +281 -0
- package/skills/xss-cross-site-scripting/ADVANCED_XSS_TRICKS.md +276 -0
- package/skills/xss-cross-site-scripting/SCENARIOS.md +278 -0
- package/skills/xss-cross-site-scripting/SKILL.md +379 -0
- package/skills/xxe-xml-external-entity/SCENARIOS.md +112 -0
- package/skills/xxe-xml-external-entity/SKILL.md +554 -0
- package/src/agent.js +1 -1
- package/src/session.js +5 -3
- package/src/skills.js +37 -6
- package/src/ui.js +1 -1
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory-forensics-volatility
|
|
3
|
+
description: >-
|
|
4
|
+
Memory forensics playbook using Volatility 2/3. Use when analyzing memory dumps for malware analysis, credential extraction, process investigation, code injection detection, and incident response timeline reconstruction.gated: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SKILL: Memory Forensics — Expert Analysis Playbook
|
|
8
|
+
|
|
9
|
+
> **AI LOAD INSTRUCTION**: Expert memory forensics techniques using Volatility 2 and 3. Covers memory acquisition, OS identification, process analysis (hidden process detection), network connections, DLL/module analysis, code injection detection (malfind), credential extraction, file carving, registry analysis, and timeline generation. Base models miss the Vol2/Vol3 command differences, malware indicator patterns, and Linux-specific memory analysis.
|
|
10
|
+
|
|
11
|
+
## 0. RELATED ROUTING
|
|
12
|
+
|
|
13
|
+
Before going deep, consider loading:
|
|
14
|
+
|
|
15
|
+
- [traffic-analysis-pcap](../traffic-analysis-pcap/SKILL.md) for correlating network artifacts with memory findings
|
|
16
|
+
- [steganography-techniques](../steganography-techniques/SKILL.md) if hidden data suspected in extracted files
|
|
17
|
+
- [windows-privilege-escalation](../windows-privilege-escalation/SKILL.md) for understanding post-exploitation artifacts in memory
|
|
18
|
+
|
|
19
|
+
### Quick Reference
|
|
20
|
+
|
|
21
|
+
Also load [VOLATILITY_CHEATSHEET.md](./VOLATILITY_CHEATSHEET.md) when you need:
|
|
22
|
+
- Vol2 vs Vol3 command comparison table
|
|
23
|
+
- Common plugin sequences for specific investigation types
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 1. MEMORY ACQUISITION
|
|
28
|
+
|
|
29
|
+
### Linux
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# LiME (Linux Memory Extractor) — kernel module
|
|
33
|
+
insmod lime.ko "path=/tmp/mem.lime format=lime"
|
|
34
|
+
|
|
35
|
+
# /proc/kcore (if available)
|
|
36
|
+
dd if=/proc/kcore of=/tmp/mem.raw bs=1M
|
|
37
|
+
|
|
38
|
+
# AVML (Microsoft's open-source)
|
|
39
|
+
./avml /tmp/mem.lime
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Windows
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# WinPmem
|
|
46
|
+
winpmem_mini_x64.exe memdump.raw
|
|
47
|
+
|
|
48
|
+
# FTK Imager (GUI) — capture memory to file
|
|
49
|
+
|
|
50
|
+
# DumpIt (single-click memory dump)
|
|
51
|
+
DumpIt.exe
|
|
52
|
+
|
|
53
|
+
# Comae (MagnetRAM)
|
|
54
|
+
MagnetRAMCapture.exe /output memdump.raw
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Virtual Machines
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# VMware: .vmem file in VM directory (suspend VM first)
|
|
61
|
+
# VirtualBox: VBoxManage debugvm "VM_NAME" dumpvmcore --filename mem.raw
|
|
62
|
+
# KVM/QEMU: virsh dump DOMAIN memdump --memory-only
|
|
63
|
+
# Hyper-V: checkpoint VM → inspect .bin files
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 2. VOLATILITY 2 vs 3
|
|
69
|
+
|
|
70
|
+
| Concept | Volatility 2 | Volatility 3 |
|
|
71
|
+
|---|---|---|
|
|
72
|
+
| Profile system | `--profile=Win10x64_19041` | Auto-detected (symbol tables) |
|
|
73
|
+
| Image info | `imageinfo` | `windows.info` / `linux.info` |
|
|
74
|
+
| Process list | `pslist` | `windows.pslist` |
|
|
75
|
+
| Network | `netscan` / `connections` | `windows.netscan` / `windows.netstat` |
|
|
76
|
+
| DLLs | `dlllist` | `windows.dlllist` |
|
|
77
|
+
| Injection | `malfind` | `windows.malfind` |
|
|
78
|
+
| Hashes | `hashdump` | `windows.hashdump` |
|
|
79
|
+
| Files | `filescan` | `windows.filescan` |
|
|
80
|
+
| Registry | `hivelist` / `printkey` | `windows.registry.hivelist` / `windows.registry.printkey` |
|
|
81
|
+
| Install | `pip2 install volatility` | `pip3 install volatility3` |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 3. ANALYSIS METHODOLOGY
|
|
86
|
+
|
|
87
|
+
### Step 1: Identify OS
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Vol2
|
|
91
|
+
vol.py -f mem.raw imageinfo
|
|
92
|
+
vol.py -f mem.raw kdbgscan
|
|
93
|
+
|
|
94
|
+
# Vol3
|
|
95
|
+
vol -f mem.raw windows.info
|
|
96
|
+
vol -f mem.raw banners.Banners
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Step 2: Process Listing — Hidden Process Detection
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Vol2
|
|
103
|
+
vol.py -f mem.raw --profile=PROFILE pslist # EPROCESS linked list
|
|
104
|
+
vol.py -f mem.raw --profile=PROFILE psscan # pool tag scan (finds unlinked)
|
|
105
|
+
vol.py -f mem.raw --profile=PROFILE pstree # parent-child hierarchy
|
|
106
|
+
|
|
107
|
+
# Vol3
|
|
108
|
+
vol -f mem.raw windows.pslist
|
|
109
|
+
vol -f mem.raw windows.psscan
|
|
110
|
+
vol -f mem.raw windows.pstree
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Red flags**: Process in `psscan` but not `pslist` = DKOM (Direct Kernel Object Manipulation) hiding.
|
|
114
|
+
|
|
115
|
+
### Step 3: Network Connections
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# Vol2
|
|
119
|
+
vol.py -f mem.raw --profile=PROFILE netscan # TCP/UDP endpoints
|
|
120
|
+
vol.py -f mem.raw --profile=PROFILE connections # XP/2003 only
|
|
121
|
+
vol.py -f mem.raw --profile=PROFILE connscan # closed connections
|
|
122
|
+
|
|
123
|
+
# Vol3
|
|
124
|
+
vol -f mem.raw windows.netscan
|
|
125
|
+
vol -f mem.raw windows.netstat
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Step 4: DLL / Module Analysis
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Vol2
|
|
132
|
+
vol.py -f mem.raw --profile=PROFILE dlllist -p PID
|
|
133
|
+
vol.py -f mem.raw --profile=PROFILE ldrmodules -p PID # find unlinked DLLs
|
|
134
|
+
|
|
135
|
+
# Vol3
|
|
136
|
+
vol -f mem.raw windows.dlllist --pid PID
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Red flags**: DLL in `dlllist` but `False` in all three `ldrmodules` columns = reflective DLL injection.
|
|
140
|
+
|
|
141
|
+
### Step 5: Code Injection Detection (Malfind)
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Vol2
|
|
145
|
+
vol.py -f mem.raw --profile=PROFILE malfind -p PID
|
|
146
|
+
vol.py -f mem.raw --profile=PROFILE malfind -D /tmp/dump/ # dump injected sections
|
|
147
|
+
|
|
148
|
+
# Vol3
|
|
149
|
+
vol -f mem.raw windows.malfind --pid PID
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**What malfind detects**: Memory regions with `PAGE_EXECUTE_READWRITE` that don't map to a file on disk — classic shellcode/injection indicator.
|
|
153
|
+
|
|
154
|
+
### Step 6: Credential Extraction
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# Vol2
|
|
158
|
+
vol.py -f mem.raw --profile=PROFILE hashdump # SAM hashes
|
|
159
|
+
vol.py -f mem.raw --profile=PROFILE lsadump # LSA secrets
|
|
160
|
+
vol.py -f mem.raw --profile=PROFILE cachedump # domain cached creds
|
|
161
|
+
vol.py -f mem.raw --profile=PROFILE mimikatz # (plugin) plaintext creds
|
|
162
|
+
|
|
163
|
+
# Vol3
|
|
164
|
+
vol -f mem.raw windows.hashdump
|
|
165
|
+
vol -f mem.raw windows.lsadump
|
|
166
|
+
vol -f mem.raw windows.cachedump
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Step 7: File Extraction
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
# Vol2
|
|
173
|
+
vol.py -f mem.raw --profile=PROFILE filescan | grep -i "password\|secret\|flag"
|
|
174
|
+
vol.py -f mem.raw --profile=PROFILE dumpfiles -Q OFFSET -D /tmp/dump/
|
|
175
|
+
|
|
176
|
+
# Vol3
|
|
177
|
+
vol -f mem.raw windows.filescan
|
|
178
|
+
vol -f mem.raw windows.dumpfiles --virtaddr OFFSET
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Step 8: Registry Analysis
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
# Vol2
|
|
185
|
+
vol.py -f mem.raw --profile=PROFILE hivelist
|
|
186
|
+
vol.py -f mem.raw --profile=PROFILE printkey -K "Software\Microsoft\Windows\CurrentVersion\Run"
|
|
187
|
+
vol.py -f mem.raw --profile=PROFILE userassist # program execution evidence
|
|
188
|
+
|
|
189
|
+
# Vol3
|
|
190
|
+
vol -f mem.raw windows.registry.hivelist
|
|
191
|
+
vol -f mem.raw windows.registry.printkey --key "Software\Microsoft\Windows\CurrentVersion\Run"
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Step 9: Command History
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
# Vol2
|
|
198
|
+
vol.py -f mem.raw --profile=PROFILE cmdscan # cmd.exe history
|
|
199
|
+
vol.py -f mem.raw --profile=PROFILE consoles # full console output
|
|
200
|
+
|
|
201
|
+
# Vol3
|
|
202
|
+
vol -f mem.raw windows.cmdline
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Step 10: Timeline Generation
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# Vol2
|
|
209
|
+
vol.py -f mem.raw --profile=PROFILE timeliner --output=body --output-file=timeline.body
|
|
210
|
+
mactime -b timeline.body -d > timeline.csv
|
|
211
|
+
|
|
212
|
+
# Vol3
|
|
213
|
+
vol -f mem.raw timeliner.Timeliner
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## 4. LINUX MEMORY ANALYSIS
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
# Vol2 (requires Linux profile)
|
|
222
|
+
vol.py -f mem.lime --profile=LinuxProfile linux_pslist
|
|
223
|
+
vol.py -f mem.lime --profile=LinuxProfile linux_pstree
|
|
224
|
+
vol.py -f mem.lime --profile=LinuxProfile linux_netstat
|
|
225
|
+
vol.py -f mem.lime --profile=LinuxProfile linux_bash # bash history
|
|
226
|
+
vol.py -f mem.lime --profile=LinuxProfile linux_enumerate_files
|
|
227
|
+
vol.py -f mem.lime --profile=LinuxProfile linux_proc_maps -p PID
|
|
228
|
+
vol.py -f mem.lime --profile=LinuxProfile linux_malfind
|
|
229
|
+
|
|
230
|
+
# Vol3
|
|
231
|
+
vol -f mem.lime linux.pslist
|
|
232
|
+
vol -f mem.lime linux.pstree
|
|
233
|
+
vol -f mem.lime linux.bash
|
|
234
|
+
vol -f mem.lime linux.check_afinfo # rootkit detection
|
|
235
|
+
vol -f mem.lime linux.check_syscall # syscall hooking
|
|
236
|
+
vol -f mem.lime linux.tty_check # TTY hooking
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Building Linux Profiles (Vol2)
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
cd volatility/tools/linux
|
|
243
|
+
make
|
|
244
|
+
# Creates module.dwarf + System.map → zip as profile
|
|
245
|
+
zip LinuxProfile.zip module.dwarf /boot/System.map-$(uname -r)
|
|
246
|
+
# Place in volatility/plugins/overlays/linux/
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## 5. MALWARE INDICATORS IN MEMORY
|
|
252
|
+
|
|
253
|
+
| Indicator | Detection Method | What It Means |
|
|
254
|
+
|---|---|---|
|
|
255
|
+
| Process in psscan but not pslist | Compare pslist vs psscan | DKOM — process hiding |
|
|
256
|
+
| Unexpected parent-child | pstree analysis | e.g., svchost spawned by cmd.exe |
|
|
257
|
+
| MZ header in non-image memory | malfind | Reflective DLL / PE injection |
|
|
258
|
+
| RWX memory without backing file | malfind | Shellcode injection |
|
|
259
|
+
| DLL unlinked from all PEB lists | ldrmodules (all False) | Stealth DLL loading |
|
|
260
|
+
| svchost.exe not child of services.exe | pstree | Fake svchost (malware) |
|
|
261
|
+
| Unusual network connections | netscan + PID correlation | C2 communication |
|
|
262
|
+
| Hooking in SSDT/IDT | ssdt / idt plugins | Rootkit |
|
|
263
|
+
| Modified kernel objects | linux_check_syscall | Linux rootkit |
|
|
264
|
+
|
|
265
|
+
### Normal Parent-Child Relationships (Windows)
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
System (4)
|
|
269
|
+
└── smss.exe
|
|
270
|
+
└── csrss.exe
|
|
271
|
+
└── wininit.exe
|
|
272
|
+
└── services.exe
|
|
273
|
+
└── svchost.exe (multiple)
|
|
274
|
+
└── spoolsv.exe
|
|
275
|
+
└── lsass.exe
|
|
276
|
+
└── winlogon.exe
|
|
277
|
+
└── explorer.exe
|
|
278
|
+
└── user applications
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## 6. DECISION TREE
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
Memory dump acquired — need to analyze
|
|
287
|
+
│
|
|
288
|
+
├── What OS?
|
|
289
|
+
│ ├── Windows → vol imageinfo / windows.info (§3 Step 1)
|
|
290
|
+
│ └── Linux → build profile or use Vol3 auto-detect (§4)
|
|
291
|
+
│
|
|
292
|
+
├── Malware investigation?
|
|
293
|
+
│ ├── Check processes: pslist vs psscan (hidden?) (§3 Step 2)
|
|
294
|
+
│ ├── Check parent-child: pstree (suspicious spawning?) (§5)
|
|
295
|
+
│ ├── Check injections: malfind (RWX memory?) (§3 Step 5)
|
|
296
|
+
│ ├── Check DLLs: ldrmodules (unlinked?) (§3 Step 4)
|
|
297
|
+
│ ├── Check network: netscan (C2 connections?) (§3 Step 3)
|
|
298
|
+
│ └── Extract suspicious files: dumpfiles (§3 Step 7)
|
|
299
|
+
│
|
|
300
|
+
├── Credential recovery?
|
|
301
|
+
│ ├── SAM hashes → hashdump (§3 Step 6)
|
|
302
|
+
│ ├── LSA secrets → lsadump (§3 Step 6)
|
|
303
|
+
│ ├── Cached domain creds → cachedump (§3 Step 6)
|
|
304
|
+
│ └── Plaintext passwords → mimikatz plugin (§3 Step 6)
|
|
305
|
+
│
|
|
306
|
+
├── Incident timeline?
|
|
307
|
+
│ ├── timeliner for comprehensive timeline (§3 Step 10)
|
|
308
|
+
│ ├── cmdscan / consoles for command history (§3 Step 9)
|
|
309
|
+
│ ├── userassist for program execution (§3 Step 8)
|
|
310
|
+
│ └── Cross-reference with PCAP timeline (→ traffic-analysis-pcap)
|
|
311
|
+
│
|
|
312
|
+
├── CTF / flag hunting?
|
|
313
|
+
│ ├── filescan + grep for flag patterns (§3 Step 7)
|
|
314
|
+
│ ├── cmdscan for typed flags/passwords (§3 Step 9)
|
|
315
|
+
│ ├── Clipboard: clipboard plugin
|
|
316
|
+
│ ├── Screenshots: screenshot plugin
|
|
317
|
+
│ └── Environment vars: envars plugin
|
|
318
|
+
│
|
|
319
|
+
└── Linux-specific?
|
|
320
|
+
├── linux_bash for shell history (§4)
|
|
321
|
+
├── linux_check_syscall for rootkit (§4)
|
|
322
|
+
└── linux_netstat for connections (§4)
|
|
323
|
+
```
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: volatility-cheatsheet
|
|
3
|
+
description: >-
|
|
4
|
+
Volatility 2 and 3 command comparison table with common plugin sequences for specific investigation types.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# VOLATILITY CHEATSHEET — Vol2 / Vol3 Command Reference
|
|
8
|
+
|
|
9
|
+
> Supplementary reference for [memory-forensics-volatility](./SKILL.md). Quick-access command tables.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. COMMAND COMPARISON TABLE
|
|
14
|
+
|
|
15
|
+
### System Information
|
|
16
|
+
|
|
17
|
+
| Purpose | Volatility 2 | Volatility 3 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| OS identification | `imageinfo` | `windows.info` |
|
|
20
|
+
| Kernel debug scan | `kdbgscan` | (auto) |
|
|
21
|
+
| OS banners | `imageinfo` | `banners.Banners` |
|
|
22
|
+
|
|
23
|
+
### Process Analysis
|
|
24
|
+
|
|
25
|
+
| Purpose | Volatility 2 | Volatility 3 |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| Process list (linked) | `pslist` | `windows.pslist` |
|
|
28
|
+
| Process list (scan) | `psscan` | `windows.psscan` |
|
|
29
|
+
| Process tree | `pstree` | `windows.pstree` |
|
|
30
|
+
| Process command line | `cmdline` | `windows.cmdline` |
|
|
31
|
+
| Process environment | `envars` | `windows.envars` |
|
|
32
|
+
| Process handles | `handles` | `windows.handles` |
|
|
33
|
+
| Process privileges | `privs` | `windows.privileges` |
|
|
34
|
+
| Process SIDs | `getsids` | `windows.getsids` |
|
|
35
|
+
|
|
36
|
+
### Memory / DLL
|
|
37
|
+
|
|
38
|
+
| Purpose | Volatility 2 | Volatility 3 |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| Loaded DLLs | `dlllist` | `windows.dlllist` |
|
|
41
|
+
| Unlinked DLL detection | `ldrmodules` | `windows.ldrmodules` |
|
|
42
|
+
| Code injection | `malfind` | `windows.malfind` |
|
|
43
|
+
| VAD tree | `vadinfo` | `windows.vadinfo` |
|
|
44
|
+
| Dump process memory | `memdump -p PID` | `windows.memmap --dump --pid PID` |
|
|
45
|
+
| Dump DLLs | `dlldump -p PID` | `windows.dlllist --pid PID --dump` |
|
|
46
|
+
|
|
47
|
+
### Network
|
|
48
|
+
|
|
49
|
+
| Purpose | Volatility 2 | Volatility 3 |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| All connections (Vista+) | `netscan` | `windows.netscan` |
|
|
52
|
+
| Active connections (XP) | `connections` | N/A |
|
|
53
|
+
| Listening sockets (XP) | `sockets` | N/A |
|
|
54
|
+
| Connection scan (XP) | `connscan` | N/A |
|
|
55
|
+
| Net stats | N/A | `windows.netstat` |
|
|
56
|
+
|
|
57
|
+
### Credentials
|
|
58
|
+
|
|
59
|
+
| Purpose | Volatility 2 | Volatility 3 |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| SAM hashes | `hashdump` | `windows.hashdump` |
|
|
62
|
+
| LSA secrets | `lsadump` | `windows.lsadump` |
|
|
63
|
+
| Cached creds | `cachedump` | `windows.cachedump` |
|
|
64
|
+
| Mimikatz | `mimikatz` (plugin) | N/A (use hashdump/lsadump) |
|
|
65
|
+
|
|
66
|
+
### File System
|
|
67
|
+
|
|
68
|
+
| Purpose | Volatility 2 | Volatility 3 |
|
|
69
|
+
|---|---|---|
|
|
70
|
+
| File scan | `filescan` | `windows.filescan` |
|
|
71
|
+
| File dump | `dumpfiles -Q OFFSET` | `windows.dumpfiles --virtaddr ADDR` |
|
|
72
|
+
| MFT analysis | `mftparser` | `windows.mftscan` |
|
|
73
|
+
|
|
74
|
+
### Registry
|
|
75
|
+
|
|
76
|
+
| Purpose | Volatility 2 | Volatility 3 |
|
|
77
|
+
|---|---|---|
|
|
78
|
+
| List hives | `hivelist` | `windows.registry.hivelist` |
|
|
79
|
+
| Print key | `printkey -K "path"` | `windows.registry.printkey --key "path"` |
|
|
80
|
+
| User assist | `userassist` | `windows.registry.userassist` |
|
|
81
|
+
| Shimcache | `shimcache` | N/A (third-party) |
|
|
82
|
+
|
|
83
|
+
### History / User Activity
|
|
84
|
+
|
|
85
|
+
| Purpose | Volatility 2 | Volatility 3 |
|
|
86
|
+
|---|---|---|
|
|
87
|
+
| CMD history | `cmdscan` | `windows.cmdline` |
|
|
88
|
+
| Console output | `consoles` | `windows.consoles` |
|
|
89
|
+
| Clipboard | `clipboard` | `windows.clipboard` |
|
|
90
|
+
| Screenshots | `screenshot` | N/A |
|
|
91
|
+
| IE history | `iehistory` | N/A |
|
|
92
|
+
|
|
93
|
+
### Rootkit / Hooking
|
|
94
|
+
|
|
95
|
+
| Purpose | Volatility 2 | Volatility 3 |
|
|
96
|
+
|---|---|---|
|
|
97
|
+
| SSDT hooks | `ssdt` | `windows.ssdt` |
|
|
98
|
+
| IDT hooks | `idt` | N/A |
|
|
99
|
+
| Driver scan | `driverscan` | `windows.driverscan` |
|
|
100
|
+
| Kernel modules | `modules` | `windows.modules` |
|
|
101
|
+
| Moddump | `modscan` | `windows.modscan` |
|
|
102
|
+
| Callbacks | `callbacks` | `windows.callbacks` |
|
|
103
|
+
|
|
104
|
+
### Timeline
|
|
105
|
+
|
|
106
|
+
| Purpose | Volatility 2 | Volatility 3 |
|
|
107
|
+
|---|---|---|
|
|
108
|
+
| Generate timeline | `timeliner` | `timeliner.Timeliner` |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 2. COMMON INVESTIGATION SEQUENCES
|
|
113
|
+
|
|
114
|
+
### Malware Triage (Quick)
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Vol3
|
|
118
|
+
vol -f mem.raw windows.info
|
|
119
|
+
vol -f mem.raw windows.pstree
|
|
120
|
+
vol -f mem.raw windows.malfind
|
|
121
|
+
vol -f mem.raw windows.netscan
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Full Malware Investigation
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Vol3
|
|
128
|
+
vol -f mem.raw windows.info
|
|
129
|
+
vol -f mem.raw windows.pslist
|
|
130
|
+
vol -f mem.raw windows.psscan # compare with pslist
|
|
131
|
+
vol -f mem.raw windows.pstree # check parent-child
|
|
132
|
+
vol -f mem.raw windows.cmdline # command lines
|
|
133
|
+
vol -f mem.raw windows.netscan # C2 connections
|
|
134
|
+
vol -f mem.raw windows.malfind # code injection
|
|
135
|
+
vol -f mem.raw windows.dlllist --pid SUSPICIOUS_PID
|
|
136
|
+
vol -f mem.raw windows.handles --pid SUSPICIOUS_PID
|
|
137
|
+
vol -f mem.raw windows.filescan | grep -i "suspicious_name"
|
|
138
|
+
vol -f mem.raw windows.dumpfiles --virtaddr OFFSET
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Credential Extraction
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Vol3
|
|
145
|
+
vol -f mem.raw windows.hashdump
|
|
146
|
+
vol -f mem.raw windows.lsadump
|
|
147
|
+
vol -f mem.raw windows.cachedump
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Incident Response Timeline
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Vol3
|
|
154
|
+
vol -f mem.raw windows.info
|
|
155
|
+
vol -f mem.raw timeliner.Timeliner
|
|
156
|
+
vol -f mem.raw windows.cmdline
|
|
157
|
+
vol -f mem.raw windows.registry.userassist
|
|
158
|
+
vol -f mem.raw windows.netscan
|
|
159
|
+
vol -f mem.raw windows.filescan
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### CTF Challenge
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
# Vol3
|
|
166
|
+
vol -f mem.raw windows.info # or banners.Banners
|
|
167
|
+
vol -f mem.raw windows.filescan | grep -iE "flag|secret|password|key"
|
|
168
|
+
vol -f mem.raw windows.cmdline # look for typed commands
|
|
169
|
+
vol -f mem.raw windows.pslist # find interesting processes
|
|
170
|
+
vol -f mem.raw windows.netscan # find interesting connections
|
|
171
|
+
vol -f mem.raw windows.dumpfiles --virtaddr OFFSET # extract files
|
|
172
|
+
vol -f mem.raw windows.hashdump # extract hashes
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Linux Rootkit Detection
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# Vol3
|
|
179
|
+
vol -f mem.lime linux.pslist
|
|
180
|
+
vol -f mem.lime linux.check_syscall
|
|
181
|
+
vol -f mem.lime linux.check_afinfo
|
|
182
|
+
vol -f mem.lime linux.tty_check
|
|
183
|
+
vol -f mem.lime linux.bash
|
|
184
|
+
vol -f mem.lime linux.elfs # find injected ELFs
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 3. PROFILE MANAGEMENT (Vol2)
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
# List available profiles
|
|
193
|
+
vol.py --info | grep -i "Profile"
|
|
194
|
+
|
|
195
|
+
# Common Windows profiles
|
|
196
|
+
Win7SP1x64, Win10x64_19041, Win10x64_17763, WinXPSP3x86, Win2016x64_14393
|
|
197
|
+
|
|
198
|
+
# Determine correct profile
|
|
199
|
+
vol.py -f mem.raw imageinfo
|
|
200
|
+
# Use "Suggested Profile(s)" from output
|
|
201
|
+
|
|
202
|
+
# Custom Linux profile
|
|
203
|
+
# On target system:
|
|
204
|
+
cd volatility/tools/linux && make
|
|
205
|
+
zip profile.zip module.dwarf /boot/System.map-$(uname -r)
|
|
206
|
+
cp profile.zip volatility/plugins/overlays/linux/
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## 4. USEFUL GREP PATTERNS
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# Find interesting files
|
|
215
|
+
vol -f mem.raw windows.filescan | grep -iE '\.(txt|doc|xls|pdf|kdbx|key|pem|conf|ini|bat|ps1)$'
|
|
216
|
+
|
|
217
|
+
# Find web-related files
|
|
218
|
+
vol -f mem.raw windows.filescan | grep -iE '\.(php|asp|jsp|html)$'
|
|
219
|
+
|
|
220
|
+
# Find executables in unusual locations
|
|
221
|
+
vol -f mem.raw windows.filescan | grep -iE '\\(temp|tmp|appdata|downloads)\\.*\.exe'
|
|
222
|
+
|
|
223
|
+
# Network connections to external IPs
|
|
224
|
+
vol -f mem.raw windows.netscan | grep -v "127.0.0.1\|0.0.0.0\|::1\|::"
|
|
225
|
+
```
|