agentleFS
hypnguyen1209hypnguyen1209/offensive-claude/skills/malware-analysis/SKILL.md

malware-analysis

Skill401 starsChanged 53 days agoMITView on GitHub

Use when reverse-engineering or detecting malware — static triage + capa/YARA-X, emulation/DBI/.NET unpacking, dynamic/fileless/Volatility 3 memory analysis, C2 config extraction (Cobalt Strike/CAPE), C2 traffic detection (JA4+, beaconing)

14 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use attack-chain, binary-diff and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • DorianGalloSkill

    attack-chain

    Also in 6 projects that use this

  • DorianGalloSkill

    binary-diff

    跨版本符号迁移与二进制差分。当你有旧版本的符号/逆向结果,需要快速迁移到新版本时使用。 适用场景:内核缺 PDB 用旧版符号推导、程序更新后批量迁移函数名、应用更新后快速定位新偏移。 核心方法:用 LLM 做结构化差异比对,程序化输入输出,成本极低(200 函数 ~1 元)。 触发关键词:符号迁移、bindiff、跨版本、PDB 缺失、函数偏移迁移、symbol migration、binary diff、版本对比。

    Also in 6 projects that use this

  • Roshu18Skill

    pentest-tools

    Tool selection policy for BearStrike based on target type, scan risk, and signal strength.

    Also in 6 projects that use this

  • hardw00tSkill

    llm-security

    LLM and AI application security testing skill for prompt injection (direct, indirect, multimodal), system-prompt extraction, RAG poisoning, memory poisoning, MCP server injection, skill-file injection, agentic tool misuse, computer-use UI injection, and excessive agency. Authorization required — this skill tests AI systems you are explicitly permitted to assess. Triggers on requests to test LLM / AI-agent / RAG / MCP / computer-use security, perform prompt injection, extract system prompts, poison RAG or memory, audit agent tool use, or evaluate AI guardrails.

    Also in 6 projects that use this

  • +8 more from DorianGallo

The file

Files
SKILL.md

Malware Analysis

When to Activate

  • Triaging an unknown binary/script: identity, packing verdict, capability map, IOCs, go/no-go for detonation.
  • Recovering the real payload from a packed/crypted/obfuscated loader (commodity loaders, RAT chains, .NET).
  • Detonating safely and recovering fileless / in-memory artifacts (injection, AMSI/ETW patching, WMI persistence).
  • Extracting malware configuration (C2, keys, sleep/jitter, campaign IDs) for threat intel and detection.
  • Detecting/characterizing C2 on the wire (beacon cadence, JA4+ fingerprints, tunneled/DoH channels).
  • Writing durable, low-FP YARA-X detection from analysis findings; incident-response scoping.

Technique Map

TechniqueATT&CKCWEReferenceScript
Hash/imphash/Rich/ssdeep/TLSH triage + PE anomaliesT1027CWE-506references/static-triage-capa.mdscripts/triage.py
Per-section entropy + packer/RWX/EP heuristicsT1027.002CWE-1066references/static-triage-capa.mdscripts/triage.py
Obfuscated string recovery (FLOSS)T1140, T1027.013CWE-656references/static-triage-capa.mdscripts/triage.py
Capability detection → ATT&CK (capa, static+dynamic)T1027CWE-506references/static-triage-capa.mdscripts/triage.py
Emulation unpacking (Unicorn/unipacker/Speakeasy/Qiling)T1140, T1620CWE-656references/unpacking-deobfuscation.mdscripts/auto_unpack.py
DBI unpacking via API hooks (Frida)T1055, T1620CWE-656references/unpacking-deobfuscation.mdscripts/frida_unpack.js
.NET deobfuscation/unpacking (de4dot/dnSpyEx)T1027, T1140CWE-656references/unpacking-deobfuscation.mdscripts/frida_unpack.js
Sandbox detonation + behavioral captureT1497CWE-506references/dynamic-fileless-memory.mdscripts/mem_triage.py
Memory injection/hollowing/ghosting analysis (Vol3)T1055, T1055.012CWE-506references/dynamic-fileless-memory.mdscripts/mem_triage.py
AMSI/ETW in-memory patch + patchless detectionT1562.001CWE-693references/dynamic-fileless-memory.mdscripts/mem_triage.py
Fileless WMI/registry/PowerShell persistenceT1546.003, T1547.001, T1059.001CWE-506references/dynamic-fileless-memory.mdscripts/mem_triage.py
Cobalt Strike / AdaptixC2 config extractionT1071.001, T1573CWE-798references/config-c2-extraction.mdscripts/cs_config_extract.py
Config framework at scale (MACO/CAPE)T1071.001CWE-798references/config-c2-extraction.mdscripts/cs_config_extract.py
Generic unknown-C2 protocol RE + decoderT1573, T1071.004CWE-311references/config-c2-extraction.mdscripts/cs_config_extract.py
Beacon cadence/jitter detection (PCAP/Zeek)T1071.001, T1029CWE-778references/network-c2-detection.mdscripts/beacon_profiler.py
JA4+ TLS/HTTP/cert fingerprinting (Sliver/Havoc JA4X)T1071.001, T1573CWE-295references/network-c2-detection.mdscripts/beacon_profiler.py
Tunneled/DoH C2 surfacing (cloudflared/chisel)T1572, T1568.002, T1071.004CWE-441references/network-c2-detection.mdscripts/beacon_profiler.py
YARA-X family rule authoring + FP validationT1027CWE-506references/yara-detection-engineering.mdscripts/yara_gen.py

Quick Start

# 1. Static triage: hashes + PE anomalies + capability combos + FLOSS/capa/YARA-X
python3 scripts/triage.py sample.exe --floss --capa --yara rules/family.yar --json out/triage.json
capa -j sample.exe > out/capa.json                       # capabilities -> ATT&CK

# 2. Unpack (try emulation first; DBI fallback in isolated VM)
python3 scripts/auto_unpack.py sample.exe -o out/dumps/  # static emulation, no detonation
frida -f C:\sample.exe -l scripts/frida_unpack.js --no-pause   # DBI, isolated VM only
de4dot sample.exe -o cleaned.exe                         # .NET layer

# 3. Dynamic + memory (capture mem BEFORE remediation)
python3 scripts/mem_triage.py -f mem.raw --vol vol --patch-hunt --json out/mem.json

# 4. Config + C2 extraction
python3 scripts/cs_config_extract.py beacon.bin --json    # Cobalt Strike
python3 1768.py -S beacon.bin                             # full CS incl. runtime/heap config
configextractor sample.bin                               # MACO/MWCP/CAPE at scale

# 5. Network C2 detection
python3 scripts/beacon_profiler.py capture.pcap --min-beacons 6     # cadence/jitter
zeek -r capture.pcap LOCAL ja4 && zeek-cut ja4 ja4s ja4x < ja4.log  # JA4+ pivots

# 6. Detection engineering
python3 scripts/yara_gen.py --family samples/fam/ --name Fam --goodware /usr/bin --out rules/fam.yar
yara-x fmt rules/fam.yar && yara-x scan rules/fam.yar /corpus/

OPSEC & Detection (summary)

TechniqueTelemetry/IOCDetection (Sigma/EDR)OPSEC note
Static triageNone (offline)n/a — feeds YARA/imphash huntingRead-only, no execution; isolate sample dir
Emulation unpackNone (no detonation)n/aPreferred first pass; safe, no network
DBI/manual unpackSysmon 8/10 (CallTrace UNKNOWN), RWX commitEDR memory scan; RWX-then-exec SigmaDETONATES — isolated VM, snapshot, FakeNet; loaders self-delete, dump first
Injection/hollowingmalfind/hollowprocesses; EID 8/10Vol3 hollow/ghosting/pebmasquerade; CreateRemoteThreadCapture memory pre-remediation
AMSI/ETW patchamsi.dll load + patched prologue; B8 00..C3 stubSigma T1562.001; debug-reg+VEH for patchlessPatchless evades byte scans — watch Dr0-Dr7
Fileless persistenceWMI consumers; PS 4104; Run-key blobsVol3 registry/wmi; Sysmon 13/22Lives in WMI/registry/memory — no disk file
Config extractionC2 host/UA/pipe/watermarkYARA config table; Suricata on C2 URI/SNIOffline; handle watermark/keys per ROE
Beacon detectionPeriodic outbound deltasbeacon_profiler CV score; Suricata thresholdPassive on captured traffic
JA4+ fingerprintJA4/JA4S/JA4X/JA4H tuplesZeek ja4 watchlist (Sliver/Havoc JA4X)JA4X needs TLS1.3 cert visibility at proxy
YARA-X authoringNoneThe rules themselvesValidate 0-FP on goodware before deploy

Deep Dives

  • references/static-triage-capa.md — Identity/code hashes, Rich header, entropy/packer heuristics, FLOSS, capa (PE/ELF/.NET/shellcode + dynamic capa over CAPE, Android rules, capa Explorer Web), FLARE-VM 2025.
  • references/unpacking-deobfuscation.md — Self-modifying-stub oracle, emulation (auto_unpack/unipacker/Speakeasy/Qiling), Frida DBI hooks, x64dbg→OEP→Scylla, .NET (de4dot/dnSpyEx), Latrodectus 1.4 AES strings, AsyncRAT fileless loaders, garble/pyc.
  • references/dynamic-fileless-memory.md — Sandbox build, Volatility 3 injection playbook + 2025 contest plugins (PEScan/Fileless Hunter), AMSI/ETW patch IOCs + patchless VEH bypass, WMI/registry/PS fileless persistence.
  • references/config-c2-extraction.md — Cobalt Strike (1768.py runtime config, CobaltStrikeParser XOR 0x69/0x2e), AdaptixC2 (Unit 42, 2025), MACO/configextractor-py/CAPEv2 at scale, generic unknown-C2 decoder methodology.
  • references/network-c2-detection.md — Beacon cadence/CV scoring, JA4+ suite (JA4X for randomized-cert Sliver/Havoc, Zeek/TheHive 2025-26), tunneled/DoH C2 (cloudflared/TryCloudflare/chisel), Suricata/Sigma + ransomware 2025 tradecraft.
  • references/yara-detection-engineering.md — YARA-X 1.0 (Rust, 99% compat, fmt/WASM, perf caveats), code/byte > string rules, pe/math modules, threshold logic, goodware FP validation, memory+disk scanning, capa pairing.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.