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,348 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: steganography-techniques
|
|
3
|
+
description: >-
|
|
4
|
+
Steganography detection and extraction playbook. Use when analyzing images (LSB, PNG chunks, JPEG DCT, EXIF), audio (spectrogram, DTMF), files (polyglots, appended data, ADS), and text (whitespace, zero-width, homoglyphs) for hidden data.gated: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SKILL: Steganography Techniques — Expert Analysis Playbook
|
|
8
|
+
|
|
9
|
+
> **AI LOAD INSTRUCTION**: Expert steganography detection and extraction techniques. Covers image steganography (LSB, PNG chunk hiding, JPEG DCT, EXIF metadata, dimension tricks, palette manipulation), audio steganography (spectrogram, LSB, DTMF, morse), file steganography (polyglots, binwalk, NTFS ADS, steghide), and text steganography (whitespace, zero-width Unicode, homoglyphs). Base models miss the systematic file-type-based analysis approach and tool-specific extraction workflows.
|
|
10
|
+
|
|
11
|
+
## 0. RELATED ROUTING
|
|
12
|
+
|
|
13
|
+
Before going deep, consider loading:
|
|
14
|
+
|
|
15
|
+
- [traffic-analysis-pcap](../traffic-analysis-pcap/SKILL.md) for extracting files from network captures before stego analysis
|
|
16
|
+
- [memory-forensics-volatility](../memory-forensics-volatility/SKILL.md) for extracting files from memory dumps
|
|
17
|
+
- [classical-cipher-analysis](../classical-cipher-analysis/SKILL.md) if extracted hidden data is further encrypted/encoded
|
|
18
|
+
|
|
19
|
+
### Tool Reference
|
|
20
|
+
|
|
21
|
+
Also load [STEGO_TOOLS_GUIDE.md](./STEGO_TOOLS_GUIDE.md) when you need:
|
|
22
|
+
- Tool installation instructions and dependencies
|
|
23
|
+
- Detailed command reference for each stego tool
|
|
24
|
+
- Workflow patterns for specific file types
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 1. IMAGE STEGANOGRAPHY
|
|
29
|
+
|
|
30
|
+
### LSB (Least Significant Bit)
|
|
31
|
+
|
|
32
|
+
LSB embeds data in the least significant bits of pixel color channels.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# zsteg — LSB analysis for PNG/BMP
|
|
36
|
+
zsteg image.png # auto-detect all LSB patterns
|
|
37
|
+
zsteg image.png -a # try all known methods
|
|
38
|
+
zsteg image.png -b 1 # extract bit plane 1
|
|
39
|
+
zsteg image.png -E "b1,rgb,lsb,xy" # specific extraction pattern
|
|
40
|
+
|
|
41
|
+
# StegSolve (Java GUI)
|
|
42
|
+
java -jar StegSolve.jar
|
|
43
|
+
# Navigate color planes: Red 0, Green 0, Blue 0 → look for hidden image/text
|
|
44
|
+
# Data Extractor: specify bit planes + byte order
|
|
45
|
+
|
|
46
|
+
# stegoveritas — comprehensive automated analysis
|
|
47
|
+
stegoveritas image.png
|
|
48
|
+
# Runs: exiftool, binwalk, zsteg, foremost, color plane extraction
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### PNG Specific
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# pngcheck — validate structure, find hidden chunks
|
|
55
|
+
pngcheck -v image.png
|
|
56
|
+
|
|
57
|
+
# Hidden chunks: tEXt, zTXt (compressed text), iTXt (international text)
|
|
58
|
+
# Custom/private chunks may contain hidden data
|
|
59
|
+
|
|
60
|
+
# CRC vs dimensions trick
|
|
61
|
+
# If CRC doesn't match declared dimensions → image was cropped
|
|
62
|
+
# Fix: brute-force correct width/height → reveals hidden rows/columns
|
|
63
|
+
python3 -c "
|
|
64
|
+
import struct, zlib
|
|
65
|
+
with open('image.png','rb') as f:
|
|
66
|
+
data = f.read()
|
|
67
|
+
# Check IHDR CRC at offset 29
|
|
68
|
+
ihdr = data[12:29]
|
|
69
|
+
for h in range(1,2000):
|
|
70
|
+
for w in range(1,2000):
|
|
71
|
+
new_ihdr = struct.pack('>II',w,h) + ihdr[8:]
|
|
72
|
+
if zlib.crc32(b'IHDR'+new_ihdr) & 0xffffffff == struct.unpack('>I',data[29:33])[0]:
|
|
73
|
+
print(f'Width: {w}, Height: {h}')
|
|
74
|
+
"
|
|
75
|
+
|
|
76
|
+
# APNG (animated PNG) — hidden frames
|
|
77
|
+
# Use apngdis to extract all frames: apngdis image.png
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### JPEG Specific
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# steghide — embed/extract from JPEG (DCT coefficient modification)
|
|
84
|
+
steghide extract -sf image.jpg # extract (no passphrase)
|
|
85
|
+
steghide extract -sf image.jpg -p PASSWORD # extract with passphrase
|
|
86
|
+
steghide info image.jpg # check if data is embedded
|
|
87
|
+
|
|
88
|
+
# stegcracker — brute force steghide passphrase
|
|
89
|
+
stegcracker image.jpg wordlist.txt
|
|
90
|
+
|
|
91
|
+
# jsteg — JPEG LSB steganography
|
|
92
|
+
jsteg reveal image.jpg output.txt
|
|
93
|
+
|
|
94
|
+
# JPEG structure analysis
|
|
95
|
+
exiftool -v3 image.jpg # verbose metadata + structure
|
|
96
|
+
jpegdump image.jpg # raw JPEG marker analysis
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### EXIF Metadata
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# exiftool — comprehensive metadata extraction
|
|
103
|
+
exiftool image.jpg
|
|
104
|
+
exiftool -b -ThumbnailImage image.jpg > thumb.jpg # extract thumbnail
|
|
105
|
+
exiftool -all= image.jpg # strip all metadata
|
|
106
|
+
|
|
107
|
+
# Hidden data in EXIF fields (comment, artist, copyright, etc.)
|
|
108
|
+
exiftool -Comment image.jpg
|
|
109
|
+
exiftool -UserComment image.jpg
|
|
110
|
+
strings image.jpg | grep -i "flag\|key\|secret"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Palette-Based (GIF)
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# GIF color table manipulation — data in color palette order
|
|
117
|
+
gifsicle -I image.gif # info
|
|
118
|
+
gifsicle --color-info image.gif # palette details
|
|
119
|
+
# Check for animation frames: convert -coalesce image.gif frame_%d.png
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 2. AUDIO STEGANOGRAPHY
|
|
125
|
+
|
|
126
|
+
### Spectrogram Analysis
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Sonic Visualiser — best for spectrogram viewing
|
|
130
|
+
# Layer → Add Spectrogram → look for visual patterns (text/images)
|
|
131
|
+
|
|
132
|
+
# Audacity
|
|
133
|
+
# Analyze → Plot Spectrum
|
|
134
|
+
# Select audio → change view to Spectrogram
|
|
135
|
+
|
|
136
|
+
# sox for command-line spectrogram generation
|
|
137
|
+
sox audio.wav -n spectrogram -o spectro.png
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Audio LSB
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# DeepSound — hide/extract files in audio (Windows)
|
|
144
|
+
# GUI tool: open audio file → extract hidden files
|
|
145
|
+
|
|
146
|
+
# WavSteg — LSB in WAV files
|
|
147
|
+
python3 WavSteg.py -r -i audio.wav -o output.txt -n 1 # extract 1 LSB
|
|
148
|
+
python3 WavSteg.py -r -i audio.wav -o output.txt -n 2 # extract 2 LSBs
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### DTMF / Morse Code
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# DTMF decoder (phone tones)
|
|
155
|
+
multimon-ng -t wav -a DTMF audio.wav
|
|
156
|
+
|
|
157
|
+
# Morse code
|
|
158
|
+
# Audacity → visual inspection of on/off pattern
|
|
159
|
+
# Online decoder or manual: .- = A, -... = B, etc.
|
|
160
|
+
|
|
161
|
+
# SSTV (Slow-Scan Television) — image in audio
|
|
162
|
+
qsstv # GUI decoder
|
|
163
|
+
# Or: RX-SSTV (Windows)
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### WAV Header Manipulation
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Check for data appended after WAV audio data
|
|
170
|
+
# WAV data chunk size vs actual file size
|
|
171
|
+
python3 -c "
|
|
172
|
+
import wave
|
|
173
|
+
w = wave.open('audio.wav','rb')
|
|
174
|
+
print(f'Frames: {w.getnframes()}, Channels: {w.getnchannels()}, Width: {w.getsampwidth()}')
|
|
175
|
+
expected = w.getnframes() * w.getnchannels() * w.getsampwidth() + 44 # 44 = WAV header
|
|
176
|
+
import os
|
|
177
|
+
actual = os.path.getsize('audio.wav')
|
|
178
|
+
if actual > expected:
|
|
179
|
+
print(f'Extra data: {actual - expected} bytes appended')
|
|
180
|
+
"
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 3. FILE STEGANOGRAPHY
|
|
186
|
+
|
|
187
|
+
### Polyglot Files
|
|
188
|
+
|
|
189
|
+
A single file that is valid in two or more formats simultaneously.
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
# Detection: check file with multiple tools
|
|
193
|
+
file suspicious_file
|
|
194
|
+
xxd suspicious_file | head # check magic bytes
|
|
195
|
+
binwalk suspicious_file # find embedded files
|
|
196
|
+
|
|
197
|
+
# Common polyglots: PDF+ZIP, JPEG+ZIP, JPEG+RAR, PNG+ZIP
|
|
198
|
+
# Try unzip on image files:
|
|
199
|
+
unzip image.jpg -d extracted/
|
|
200
|
+
7z x image.jpg -oextracted/
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Appended / Embedded Data
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# binwalk — scan for embedded files and data
|
|
207
|
+
binwalk image.png # scan
|
|
208
|
+
binwalk -e image.png # extract embedded files
|
|
209
|
+
binwalk --dd='.*' image.png # extract everything
|
|
210
|
+
|
|
211
|
+
# foremost — file carving
|
|
212
|
+
foremost -i suspicious_file -o output_dir/
|
|
213
|
+
|
|
214
|
+
# dd — manual extraction
|
|
215
|
+
# If binwalk shows embedded ZIP at offset 0x1234:
|
|
216
|
+
dd if=suspicious_file bs=1 skip=$((0x1234)) of=extracted.zip
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### NTFS Alternate Data Streams (ADS)
|
|
220
|
+
|
|
221
|
+
```cmd
|
|
222
|
+
:: List ADS (Windows)
|
|
223
|
+
dir /r file.txt
|
|
224
|
+
Get-Item file.txt -Stream *
|
|
225
|
+
|
|
226
|
+
:: Read hidden stream
|
|
227
|
+
more < file.txt:hidden_stream
|
|
228
|
+
Get-Content file.txt -Stream hidden_stream
|
|
229
|
+
|
|
230
|
+
:: Create ADS (for testing)
|
|
231
|
+
echo "hidden data" > file.txt:secret
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Steghide Brute Force
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
# stegcracker — wordlist attack on steghide passphrase
|
|
238
|
+
stegcracker image.jpg /usr/share/wordlists/rockyou.txt
|
|
239
|
+
|
|
240
|
+
# stegseek — faster alternative
|
|
241
|
+
stegseek image.jpg /usr/share/wordlists/rockyou.txt
|
|
242
|
+
# stegseek is ~10000x faster than stegcracker
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## 4. TEXT STEGANOGRAPHY
|
|
248
|
+
|
|
249
|
+
### Whitespace Encoding
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# Tabs and spaces encode binary (tab=1, space=0 or vice versa)
|
|
253
|
+
# stegsnow — whitespace steganography
|
|
254
|
+
stegsnow -C message.txt # extract hidden message
|
|
255
|
+
stegsnow -C -p PASSWORD message.txt # extract with password
|
|
256
|
+
|
|
257
|
+
# Manual detection:
|
|
258
|
+
cat -A file.txt | head # show tabs (^I) and line endings ($)
|
|
259
|
+
xxd file.txt | grep "09 20\|20 09" # look for tab/space patterns
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Zero-Width Characters
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
# Unicode invisible characters used for encoding:
|
|
266
|
+
# U+200B (Zero-Width Space), U+200C (ZWNJ), U+200D (ZWJ), U+FEFF (BOM)
|
|
267
|
+
|
|
268
|
+
# Detection:
|
|
269
|
+
python3 -c "
|
|
270
|
+
text = open('message.txt','r').read()
|
|
271
|
+
hidden = [c for c in text if ord(c) in [0x200b, 0x200c, 0x200d, 0xfeff]]
|
|
272
|
+
print(f'Found {len(hidden)} zero-width characters')
|
|
273
|
+
binary = ''.join('0' if ord(c)==0x200b else '1' for c in hidden)
|
|
274
|
+
# Convert binary to ASCII
|
|
275
|
+
"
|
|
276
|
+
|
|
277
|
+
# Online tools: holloway.nz/steg, Unicode Steganography decoders
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Homoglyph Substitution
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
# Visually identical characters from different Unicode blocks
|
|
284
|
+
# e.g., Latin 'a' (U+0061) vs Cyrillic 'а' (U+0430)
|
|
285
|
+
|
|
286
|
+
# Detection:
|
|
287
|
+
python3 -c "
|
|
288
|
+
text = open('message.txt','r').read()
|
|
289
|
+
for i, c in enumerate(text):
|
|
290
|
+
if ord(c) > 127:
|
|
291
|
+
print(f'Position {i}: char={c} ord={ord(c)} name={__import__(\"unicodedata\").name(c,\"?\")}')
|
|
292
|
+
"
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## 5. DECISION TREE
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
Suspect hidden data — what file type?
|
|
301
|
+
│
|
|
302
|
+
├── Image (PNG/BMP)?
|
|
303
|
+
│ ├── Check metadata: exiftool (§1 EXIF)
|
|
304
|
+
│ ├── Check structure: pngcheck, binwalk (§1 PNG)
|
|
305
|
+
│ ├── LSB analysis: zsteg, StegSolve (§1 LSB)
|
|
306
|
+
│ ├── Check dimensions vs CRC: height/width brute force (§1 PNG)
|
|
307
|
+
│ ├── Check for appended data: binwalk -e (§3)
|
|
308
|
+
│ └── Try as polyglot: unzip/7z (§3)
|
|
309
|
+
│
|
|
310
|
+
├── Image (JPEG)?
|
|
311
|
+
│ ├── Check metadata: exiftool (§1 EXIF)
|
|
312
|
+
│ ├── Try steghide: steghide extract (§1 JPEG)
|
|
313
|
+
│ │ └── Password protected? → stegseek brute force (§3)
|
|
314
|
+
│ ├── Try jsteg: jsteg reveal (§1 JPEG)
|
|
315
|
+
│ ├── Check for appended data: binwalk -e (§3)
|
|
316
|
+
│ └── Check thumbnail: exiftool -b -ThumbnailImage (§1 EXIF)
|
|
317
|
+
│
|
|
318
|
+
├── Image (GIF)?
|
|
319
|
+
│ ├── Check frames: extract all animation frames (§1 Palette)
|
|
320
|
+
│ ├── Check palette: gifsicle --color-info (§1 Palette)
|
|
321
|
+
│ └── Check for appended data: binwalk -e (§3)
|
|
322
|
+
│
|
|
323
|
+
├── Audio (WAV/MP3/FLAC)?
|
|
324
|
+
│ ├── Spectrogram: Sonic Visualiser / Audacity (§2)
|
|
325
|
+
│ ├── LSB: WavSteg (§2)
|
|
326
|
+
│ ├── DTMF tones: multimon-ng (§2)
|
|
327
|
+
│ ├── Morse code: manual or decoder (§2)
|
|
328
|
+
│ ├── SSTV: qsstv (§2)
|
|
329
|
+
│ └── Check file size vs expected: header analysis (§2)
|
|
330
|
+
│
|
|
331
|
+
├── Text file?
|
|
332
|
+
│ ├── Check whitespace: cat -A, stegsnow (§4)
|
|
333
|
+
│ ├── Check zero-width chars: Unicode analysis (§4)
|
|
334
|
+
│ ├── Check homoglyphs: non-ASCII detection (§4)
|
|
335
|
+
│ └── Check encoding: multiple base decodings
|
|
336
|
+
│
|
|
337
|
+
├── Any file type?
|
|
338
|
+
│ ├── strings: strings -n 8 file | grep -i "flag\|key\|pass"
|
|
339
|
+
│ ├── binwalk: binwalk -e file (embedded files) (§3)
|
|
340
|
+
│ ├── file: file suspicious_file (true type)
|
|
341
|
+
│ ├── xxd: check magic bytes, compare headers
|
|
342
|
+
│ └── NTFS? → check ADS: dir /r (§3)
|
|
343
|
+
│
|
|
344
|
+
└── Password/passphrase needed?
|
|
345
|
+
├── steghide → stegseek / stegcracker (§3)
|
|
346
|
+
├── Check challenge description for hints
|
|
347
|
+
└── Try common passwords: password, file name, challenge name
|
|
348
|
+
```
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: stego-tools-guide
|
|
3
|
+
description: >-
|
|
4
|
+
Steganography tool installation guide, usage patterns, and command reference for image, audio, file, and text stego analysis.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# STEGANOGRAPHY TOOLS GUIDE
|
|
8
|
+
|
|
9
|
+
> Supplementary reference for [steganography-techniques](./SKILL.md). Installation and detailed usage for each tool.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. MULTI-PURPOSE TOOLS
|
|
14
|
+
|
|
15
|
+
### stegoveritas
|
|
16
|
+
|
|
17
|
+
Automated steganography analysis — runs multiple tools in one pass.
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Install
|
|
21
|
+
pip3 install stegoveritas
|
|
22
|
+
stegoveritas_install_deps
|
|
23
|
+
|
|
24
|
+
# Usage — full automated analysis
|
|
25
|
+
stegoveritas image.png
|
|
26
|
+
# Runs: exiftool, binwalk, zsteg, foremost, trailing data check
|
|
27
|
+
# Extracts: color planes, LSB data, embedded files
|
|
28
|
+
# Output: results/ directory with all findings
|
|
29
|
+
|
|
30
|
+
stegoveritas image.png -meta # metadata only
|
|
31
|
+
stegoveritas image.png -imageTransform # color plane extraction only
|
|
32
|
+
stegoveritas image.png -extractLSB # LSB extraction only
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### binwalk
|
|
36
|
+
|
|
37
|
+
Firmware/file analysis and extraction.
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Install
|
|
41
|
+
sudo apt install binwalk
|
|
42
|
+
# or: pip3 install binwalk
|
|
43
|
+
|
|
44
|
+
# Scan for embedded files
|
|
45
|
+
binwalk file.png
|
|
46
|
+
|
|
47
|
+
# Extract embedded files
|
|
48
|
+
binwalk -e file.png # extract known types
|
|
49
|
+
binwalk --dd='.*' file.png # extract everything
|
|
50
|
+
binwalk -Me file.png # recursive extraction
|
|
51
|
+
|
|
52
|
+
# Entropy analysis (detect encrypted/compressed regions)
|
|
53
|
+
binwalk -E file.png
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### foremost
|
|
57
|
+
|
|
58
|
+
File carving tool — recovers files from raw data.
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Install
|
|
62
|
+
sudo apt install foremost
|
|
63
|
+
|
|
64
|
+
# Carve files
|
|
65
|
+
foremost -i suspicious_file -o output_dir/
|
|
66
|
+
foremost -t all -i disk_image.raw -o carved/
|
|
67
|
+
|
|
68
|
+
# Specific file types
|
|
69
|
+
foremost -t pdf,jpg,zip -i data.bin -o output/
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 2. IMAGE TOOLS
|
|
75
|
+
|
|
76
|
+
### zsteg
|
|
77
|
+
|
|
78
|
+
PNG/BMP LSB steganography detector.
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Install
|
|
82
|
+
gem install zsteg
|
|
83
|
+
|
|
84
|
+
# Auto-detect all LSB patterns
|
|
85
|
+
zsteg image.png
|
|
86
|
+
|
|
87
|
+
# Verbose scan with all methods
|
|
88
|
+
zsteg image.png -a
|
|
89
|
+
|
|
90
|
+
# Specific extraction
|
|
91
|
+
zsteg image.png -b 1 # bit plane 1
|
|
92
|
+
zsteg image.png -E "b1,rgb,lsb,xy" # specific pattern
|
|
93
|
+
zsteg image.png -E "b1,r,lsb,xy" # red channel only
|
|
94
|
+
zsteg image.png -E "b2,bgr,msb,yx" # MSB, BGR order
|
|
95
|
+
|
|
96
|
+
# Extract to file
|
|
97
|
+
zsteg image.png -E "b1,rgb,lsb,xy" > extracted.bin
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### StegSolve
|
|
101
|
+
|
|
102
|
+
Java GUI for visual bit plane analysis.
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Install
|
|
106
|
+
wget http://www.caesum.com/handbook/Stegsolve.jar
|
|
107
|
+
|
|
108
|
+
# Run
|
|
109
|
+
java -jar Stegsolve.jar
|
|
110
|
+
|
|
111
|
+
# Key features:
|
|
112
|
+
# Analyse → File Format: check headers and structure
|
|
113
|
+
# Analyse → Data Extract: specify bit planes to extract
|
|
114
|
+
# Arrow keys: cycle through color planes (R0-R7, G0-G7, B0-B7, Alpha)
|
|
115
|
+
# XOR/AND/OR with second image for comparison
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### steghide
|
|
119
|
+
|
|
120
|
+
JPEG/WAV/BMP/AU steganography with encryption.
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Install
|
|
124
|
+
sudo apt install steghide
|
|
125
|
+
|
|
126
|
+
# Check if data is embedded
|
|
127
|
+
steghide info image.jpg
|
|
128
|
+
|
|
129
|
+
# Extract (no password)
|
|
130
|
+
steghide extract -sf image.jpg
|
|
131
|
+
|
|
132
|
+
# Extract with password
|
|
133
|
+
steghide extract -sf image.jpg -p "password"
|
|
134
|
+
|
|
135
|
+
# Embed data (for testing)
|
|
136
|
+
steghide embed -cf cover.jpg -ef secret.txt -p "password"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### stegseek
|
|
140
|
+
|
|
141
|
+
Fast steghide passphrase cracker (~10000x faster than stegcracker).
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Install
|
|
145
|
+
wget https://github.com/RickdeJager/stegseek/releases/latest/download/stegseek_amd64.deb
|
|
146
|
+
sudo dpkg -i stegseek_amd64.deb
|
|
147
|
+
|
|
148
|
+
# Crack passphrase
|
|
149
|
+
stegseek image.jpg /usr/share/wordlists/rockyou.txt
|
|
150
|
+
|
|
151
|
+
# Seed crack (try without wordlist)
|
|
152
|
+
stegseek --seed image.jpg
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### jsteg
|
|
156
|
+
|
|
157
|
+
JPEG LSB steganography.
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Install
|
|
161
|
+
go install github.com/lukechampine/jsteg@latest
|
|
162
|
+
|
|
163
|
+
# Extract
|
|
164
|
+
jsteg reveal image.jpg
|
|
165
|
+
|
|
166
|
+
# Embed (for testing)
|
|
167
|
+
jsteg hide cover.jpg secret.txt output.jpg
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### pngcheck
|
|
171
|
+
|
|
172
|
+
PNG structure validator.
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# Install
|
|
176
|
+
sudo apt install pngcheck
|
|
177
|
+
|
|
178
|
+
# Validate and show chunk info
|
|
179
|
+
pngcheck -v image.png
|
|
180
|
+
|
|
181
|
+
# Show text chunks
|
|
182
|
+
pngcheck -t image.png
|
|
183
|
+
|
|
184
|
+
# Full verbose with data
|
|
185
|
+
pngcheck -vtp7f image.png
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### exiftool
|
|
189
|
+
|
|
190
|
+
Metadata extraction and manipulation.
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# Install
|
|
194
|
+
sudo apt install libimage-exiftool-perl
|
|
195
|
+
|
|
196
|
+
# All metadata
|
|
197
|
+
exiftool image.jpg
|
|
198
|
+
|
|
199
|
+
# Specific fields
|
|
200
|
+
exiftool -Comment image.jpg
|
|
201
|
+
exiftool -UserComment image.jpg
|
|
202
|
+
exiftool -GPSLatitude -GPSLongitude image.jpg
|
|
203
|
+
|
|
204
|
+
# Extract thumbnail
|
|
205
|
+
exiftool -b -ThumbnailImage image.jpg > thumbnail.jpg
|
|
206
|
+
|
|
207
|
+
# Verbose structure
|
|
208
|
+
exiftool -v3 image.jpg
|
|
209
|
+
|
|
210
|
+
# Strip all metadata
|
|
211
|
+
exiftool -all= image.jpg
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 3. AUDIO TOOLS
|
|
217
|
+
|
|
218
|
+
### Sonic Visualiser
|
|
219
|
+
|
|
220
|
+
Best spectrogram viewer for stego analysis.
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
# Install
|
|
224
|
+
sudo apt install sonic-visualiser
|
|
225
|
+
|
|
226
|
+
# Usage:
|
|
227
|
+
# 1. Open audio file
|
|
228
|
+
# 2. Layer → Add Spectrogram
|
|
229
|
+
# 3. Adjust: Window=4096, Overlap=87.5%, Scale=dBV
|
|
230
|
+
# 4. Look for patterns (text, QR codes, images in frequency domain)
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### multimon-ng
|
|
234
|
+
|
|
235
|
+
Decoder for DTMF, POCSAG, and other digital modes.
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
# Install
|
|
239
|
+
sudo apt install multimon-ng
|
|
240
|
+
|
|
241
|
+
# DTMF decode
|
|
242
|
+
multimon-ng -t wav -a DTMF audio.wav
|
|
243
|
+
|
|
244
|
+
# Multiple decoders
|
|
245
|
+
multimon-ng -t wav -a DTMF -a MORSE_CW audio.wav
|
|
246
|
+
|
|
247
|
+
# From raw audio input
|
|
248
|
+
sox audio.wav -t raw -r 22050 -e signed -b 16 -c 1 - | multimon-ng -t raw -
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### DeepSound
|
|
252
|
+
|
|
253
|
+
Audio steganography tool (Windows).
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
# GUI application — Windows only
|
|
257
|
+
# 1. Open carrier audio file
|
|
258
|
+
# 2. Click "Extract Secret Files"
|
|
259
|
+
# 3. Enter password if prompted
|
|
260
|
+
|
|
261
|
+
# Alternative for Linux: use WavSteg for WAV LSB analysis
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## 4. TEXT TOOLS
|
|
267
|
+
|
|
268
|
+
### stegsnow
|
|
269
|
+
|
|
270
|
+
Whitespace steganography in text files.
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
# Install
|
|
274
|
+
sudo apt install stegsnow
|
|
275
|
+
|
|
276
|
+
# Extract hidden message
|
|
277
|
+
stegsnow -C message.txt
|
|
278
|
+
|
|
279
|
+
# Extract with password
|
|
280
|
+
stegsnow -C -p "password" message.txt
|
|
281
|
+
|
|
282
|
+
# Embed (for testing)
|
|
283
|
+
stegsnow -C -m "hidden message" -p "password" cover.txt stego.txt
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## 5. RECOMMENDED ANALYSIS WORKFLOW
|
|
289
|
+
|
|
290
|
+
### Quick Triage (Any File)
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
file suspicious_file
|
|
294
|
+
exiftool suspicious_file
|
|
295
|
+
strings -n 8 suspicious_file | head -50
|
|
296
|
+
binwalk suspicious_file
|
|
297
|
+
xxd suspicious_file | head -20
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Image Deep Analysis
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
exiftool -v3 image.*
|
|
304
|
+
pngcheck -v image.png # if PNG
|
|
305
|
+
steghide info image.jpg # if JPEG
|
|
306
|
+
zsteg -a image.png # if PNG/BMP
|
|
307
|
+
stegoveritas image.* # comprehensive automated scan
|
|
308
|
+
binwalk -e image.* # embedded file extraction
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Audio Deep Analysis
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
exiftool audio.*
|
|
315
|
+
file audio.*
|
|
316
|
+
sox audio.wav -n spectrogram -o spectro.png
|
|
317
|
+
multimon-ng -t wav -a DTMF audio.wav
|
|
318
|
+
# Open in Sonic Visualiser for spectrogram inspection
|
|
319
|
+
# Check file size vs expected duration
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Password Recovery for Steghide
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
# Fast: stegseek
|
|
326
|
+
stegseek image.jpg /usr/share/wordlists/rockyou.txt
|
|
327
|
+
|
|
328
|
+
# Slow fallback: stegcracker
|
|
329
|
+
stegcracker image.jpg /usr/share/wordlists/rockyou.txt
|
|
330
|
+
|
|
331
|
+
# Manual: try common passwords
|
|
332
|
+
for p in password flag secret admin test ""; do
|
|
333
|
+
steghide extract -sf image.jpg -p "$p" 2>/dev/null && echo "Password: '$p'" && break
|
|
334
|
+
done
|
|
335
|
+
```
|