ctf-forensics
Skill26 starsChanged 33 days agoMITView on GitHub
CTF forensics playbook — quick wins on pcaps, memory dumps, disk images, and stego files: binwalk carving, Wireshark object export, Volatility's five commands that solve most memory challenges, steghide/zsteg/exiftool stego battery. Load when the handout is a capture, image, or dump file. Signals: "forensics"/"stego" category, .pcap/.pcapng, .mem/.raw/.vmem, .dd/.img/.E01, a lone .png/.jpg/.wav, "incident", "suspicious traffic".
7 other projects use a version of this.
Adopted by
Most recently taken up by
- NoorQureshi/SploitAgentword for word, first seen Oct 11, 2026
- NoorQureshi/security-skillsword for word, first seen Oct 11, 2026
- TaiMaBenJi/taima-skillstheir own version, first seen Oct 11, 2026
- wgpsec/AboutSecuritytheir own version, first seen May 21, 2026
- MateoBogo/CLEAVEtheir own version, first seen Apr 23, 2026
- ljagiello/ctf-skillstheir own version, first seen Mar 28, 2026
Other versions7 projects use a version of this.
Word for word · 2
- NoorQureshi/security-skills★ 27100% same
- NoorQureshi/SploitAgent★ 26100% same
Edited · 0
None found.
Wrote their own version · 5
- ljagiello/ctf-skills★ 3.7ksame name
- wgpsec/AboutSecurity★ 1.8ksame name
- naravid19/claude-ctf-skills★ 5same name
- MateoBogo/CLEAVE★ 4same name
- TaiMaBenJi/taima-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository207 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ad-adcsSkill
- ad-dacl-abuseSkill
- ad-delegation-abuseSkill
- ad-kerberoastingSkill
- ad-pivot-arsenalSkill
- ai-agent-tool-abuseSkill
- ai-insecure-output-handlingSkill
- ai-jailbreakSkill
- ai-llm-dosSkill
- ai-mcp-securitySkill
- ai-model-extractionSkill
- ai-prompt-injectionSkill
- ai-rag-poisoningSkill
- ai-sensitive-data-disclosureSkill
- ai-supply-chainSkill
- ai-system-prompt-leakageSkill
- api-auth-attacksSkill
- api-bolaSkill
- api-fuzzingSkill
- api-graphqlSkill
- api-grpcSkill
- api-mass-assignmentSkill
- api-mongo-agg-facet-bypassSkill
- api-testing-checklistSkill
- api-versioningSkill
- automation-browserSkill
- automation-nuclei-templatesSkill
- automation-recon-pipelineSkill
- cloud-azureSkill
- cloud-container-escapeSkill
- cloud-docker-api-abuseSkill
- cloud-docker-registrySkill
- cloud-gcpSkill
- cloud-iam-privescSkill
- cloud-imds-ssrfSkill
- cloud-kubernetesSkill
- cloud-s3-exposureSkill
- code-review-cicdSkill
- code-review-cppSkill
- code-review-dangerous-sinksSkill
- code-review-dotnetSkill
- code-review-goSkill
- code-review-iacSkill
- code-review-javaSkill
- code-review-methodologySkill
- code-review-nodejsSkill
- code-review-phpSkill
- code-review-pythonSkill
- code-review-rubySkill
- code-review-rustSkill
- code-review-secrets-detectionSkill
- code-review-soliditySkill
- crypto-oracle-attacksSkill
- crypto-rsa-attacksSkill
- ctf-cryptoSkill
- ctf-methodologySkill
- ctf-pwnSkill
- ctf-revSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 47
Follow TCP streams; flag-in-cleartext-chat is common.
- Very specific: line 68
Check slack/unallocated space and alternate partitions (mmls shows the layout.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CTF forensics and stego
When it applies
The handout is an artifact to investigate: a packet capture, memory dump, disk image, or an
innocent-looking media file. This skill is the CTF quick-win battery — the 80% of challenges that
fall to standard tooling run in the right order. For real-IR depth (timelines, root cause,
attacker methodology) defer to defense-dfir-triage, defense-malware-triage,
defense-log-analysis; here the only objective is finding the flag in the haystack.
Why it works
CTF forensics artifacts are constructed, not organic: the flag was placed by an author using a standard technique (appended data, an HTTP download, a deleted file, an LSB embedding), and each technique has a canonical tool. Running the standard battery in order surfaces the planted artifact faster than clever hypotheses, because the author used the same tools you have.
Method
- Universal first pass (every file, 2 minutes).
file <f>; exiftool <f>; strings -n 8 <f> | grep -iE 'flag|pass|key|{' ; binwalk <f>filelying about the type (wrong extension/magic) is itself a classic stage one. Metadata (exiftool) hides flags in comment/author/GPS fields.binwalk -eMextracts embedded archives recursively — appended zip-after-image is the most common stage one of all. - pcap (.pcap/.pcapng).
- Open in Wireshark; check Protocol Hierarchy and Conversations first — the odd protocol or the one giant stream is the lead.
- Export objects: File → Export Objects → HTTP/SMB/TFTP — downloaded files (exfil zips, images) come out whole.
- Follow TCP streams; flag-in-cleartext-chat is common.
tshark -r cap.pcap -Y 'http' -T fields -e http.request.urifor quick scripting. - Exfil channels: DNS (long encoded subdomains — decode base32/64/hex of the labels), ICMP
payload bytes, TLS where a
keys.log/RSA key is provided (set the key log in preferences). - USB pcaps:
usb.capdatakeystroke/mouse reconstruction (map HID codes back to characters).
- Memory dumps (.mem/.raw/.vmem) — Volatility 3, the five that solve most:
Then per the story:vol -f dump.mem windows.info # profile/OS vol -f dump.mem windows.pslist # the odd process (notepad, mspaint, truecrypt) vol -f dump.mem windows.cmdline # commands with passwords/flags as args vol -f dump.mem windows.filescan | grep -iE 'flag|secret|\.zip|\.png' vol -f dump.mem windows.dumpfiles --physaddr <addr> # carve the file outhashdump(crack the SAM),malfind, clipboard/notepad plugins, browser history plugins. And the cheap shot first:strings dump.mem | grep flag{. - Disk images (.dd/.img/.E01). Mount or autopsy-free carve:
fls -r <img>/icat(Sleuth Kit) — list and read files; deleted files (fls -rd) are where flags hide; recover by inode withicat.foremost -i <img> -o out/orphotorec— carve by signature when the filesystem is damaged or the challenge is raw.bulk_extractor <img>— one-shot sweep of URLs, emails, credit cards, keys; grep its output.- Check slack/unallocated space and alternate partitions (
mmlsshows the layout; a hidden second partition is a classic).
- Stego battery (images/audio) — run all, not one.
- PNG:
zsteg -a img.png(LSB and friends, automatic);pngcheck -vfor odd chunks. - JPEG:
steghide extract -sf img.jpg(try empty passphrase first, then challenge title / description words);stegseekfor fast passphrase cracks;outguess; check DCT withstegoveritaswhich runs the whole battery at once. - Any image: inspect the planes visually (StegSolve-style: bit-plane views reveal QR codes and text), compare against an original if the challenge gives one (diff = the payload).
- Audio: open in Audacity — spectrogram view shows drawn text/QR; morse in the waveform; reversed audio; DTMF tones (decode with a dial-tone decoder).
- Whitespace/zero-width text in provided .txt files;
snowfor whitespace stego.
- PNG:
- Chain the stages. CTF forensics is layered: binwalk gives a password-protected zip → the password is in pcap stream 7 → the zip has a QR image → zsteg on the QR. When a stage yields a password/key, apply it to every locked artifact you already hold.
Gotchas
- Wrong file magic is stage one, not a broken download — fix the header (
filesays data but binwalk sees a zip at offset 0x100 → carve from there). binwalk -ewithout-Mmisses nested archives — always recurse; also watch for false-positive signatures at huge offsets.- Volatility profile mismatches fail silently — if
pslistlooks empty/garbage, the image is a different OS build or it's a Linux dump (needs a custom profile /linux.*plugins). - Steghide passphrases come from the challenge text — title, description, lyrics of the linked song. Try them before brute-forcing.
- Encrypted volumes (VeraCrypt) in disk images — the password is elsewhere in the challenge (memory dump, deleted note); don't brute a VeraCrypt container, hunt the hint.
- Corrupted-by-author files (QR with wrong alignment patterns, PNG with bad CRC) — repair
tools (
pcrt, online QR fixers) beat redrawing by hand.
Verify success
A flag in the event format extracted from the artifact, with a reproducible extraction path (the exact tool chain and parameters) written down — other players' flags differ, so "found a string" must survive re-running the battery from the original handout file.
References
Volatility 3 docs; Sleuth Kit (fls/icat/mmls); Wireshark object export; stegoveritas,
zsteg, stegseek. IR-grade methodology: defense-dfir-triage, defense-malware-triage.
Triage via ctf-methodology.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

