analyzing-cobaltstrike-malleable-c2-profiles — Claude Code skill
Parses Cobalt Strike Malleable C2 profiles and extracts network indicators for detection rules. Use it when examining a profile or validating Beacon traffic.
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-cobaltstrike-malleable-c2-profiles -a claude-codeWhat analyzing-cobaltstrike-malleable-c2-profiles does
This skill examines Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike and pyMalleableC2. It extracts HTTP and DNS transforms, URIs, headers, User-Agent values, sleep and jitter settings, plus process injection behaviour.
dissect.cobaltstrike reads profile files and beacon-payload configurations. pyMalleableC2 creates an AST through the Lark grammar for programmatic parsing and validation. The expected output is a JSON report with indicators, spawned process paths, DNS settings, and Suricata-compatible detection rules.
Python 3.9+ with dissect.cobaltstrike or pyMalleableC2 is required. Suricata or Snort is needed to deploy signatures, while PCAP tools support traffic validation. The Python 3.9+ requirement is a reason to check the analysis environment first.
What it helps with
- parse a captured Malleable C2 profile
- extract Beacon URIs and HTTP headers
- identify DNS and callback timing settings
- produce Suricata or Snort signatures
- inspect process injection settings
Example prompts for the agent
- Analyze
profile.profileand produce a JSON report of its C2 settings. - Extract URIs, headers, and HTTP transforms from
profile.profile. - Create Suricata rules from the network indicators in this Cobalt Strike profile.
How to install analyzing-cobaltstrike-malleable-c2-profiles
1Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-cobaltstrike-malleable-c2-profiles -a claude-code2Manually: put the files in place
~/.claude/skills/analyzing-cobaltstrike-malleable-c2-profiles/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/analyzing-cobaltstrike-malleable-c2-profiles/
1Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-cobaltstrike-malleable-c2-profiles -a codex2Manually: put the files in place
.agents/skills/analyzing-cobaltstrike-malleable-c2-profiles/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-cobaltstrike-malleable-c2-profiles -a cursor2Manually: put the files in place
.cursor/skills/analyzing-cobaltstrike-malleable-c2-profiles/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install mukul975/Anthropic-Cybersecurity-Skills analyzing-cobaltstrike-malleable-c2-profiles2Manually: put the files in place
.github/skills/analyzing-cobaltstrike-malleable-c2-profiles/SKILL.md1Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-cobaltstrike-malleable-c2-profiles -a gemini-cli2Platform CLI
gemini skills install https://github.com/mukul975/Anthropic-Cybersecurity-Skills --path skills/analyzing-cobaltstrike-malleable-c2-profilesManually: put the files in place
.devin/skills/analyzing-cobaltstrike-malleable-c2-profiles/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-cobaltstrike-malleable-c2-profiles -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about analyzing-cobaltstrike-malleable-c2-profiles
How do I install analyzing-cobaltstrike-malleable-c2-profiles in Claude Code?
Run npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-cobaltstrike-malleable-c2-profiles -a claude-code, then run npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-cobaltstrike-malleable-c2-profiles -a claude-code again. The skill file is at ~/.claude/skills/analyzing-cobaltstrike-malleable-c2-profiles/SKILL.md.
What does analyzing-cobaltstrike-malleable-c2-profiles do?
It parses Cobalt Strike Malleable C2 profiles and beacon-payload configurations. The skill collects network indicators and helps generate detection rules for Suricata or Snort.
What is required to analyze a profile?
You need Python 3.9+ with dissect.cobaltstrike or pyMalleableC2. PCAP tools are used to validate network traffic.
Source text
SKILL.md · Apache-2.0
---
name: analyzing-cobaltstrike-malleable-c2-profiles
description: Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.
domain: cybersecurity
subdomain: malware-analysis
tags:
- cobalt-strike
- malleable-c2
- c2-detection
- beacon-analysis
- network-signatures
- threat-hunting
- red-team-tools
version: '1.0'
author: mahipal
license: Apache-2.0
nist_csf:
- DE.AE-02
- RS.AN-03
- ID.RA-01
- DE.CM-01
mitre_attack:
- T1071.001
- T1573.002
- T1001.003
- T1090.004
- T1102
---
# Analyzing CobaltStrike Malleable C2 Profiles
## Overview
Cobalt Strike Malleable C2 profiles are domain-specific language scripts that customize how Beacon communicates with the team server, defining HTTP request/response transformations, sleep intervals, jitter values, user agents, URI paths, and process injection behavior. Threat actors use malleable profiles to disguise C2 traffic as legitimate services (Amazon, Google, Slack). Analyzing these profiles reveals network indicators for detection: URI patterns, HTTP headers, POST/GET transforms, DNS settings, and process injection techniques. The `dissect.cobaltstrike` library can parse both profile files and extract configurations from beacon payloads, while `pyMalleableC2` provides AST-based parsing using Lark grammar for programmatic profile manipulation and validation.
## When to Use
- When investigating security incidents that require analyzing cobaltstrike malleable c2 profiles
- When building detection rules or threat hunting queries for this domain
- When SOC analysts need structured procedures for this analysis type
- When validating security monitoring coverage for related attack techniques
## Prerequisites
- Python 3.9+ with `dissect.cobaltstrike` and/or `pyMalleableC2`
- Sample Malleable C2 profiles (available from public repositories)
- Understanding of HTTP protocol and Cobalt Strike beacon communication model
- Network monitoring tools (Suricata/Snort) for signature deployment
- PCAP analysis tools for traffic validation
## Steps
1. Install libraries: `pip install dissect.cobaltstrike` or `pip install pyMalleableC2`
2. Parse profile with `C2Profile.from_path("profile.profile")`
3. Extract HTTP GET/POST block configurations (URIs, headers, parameters)
4. Identify user agent strings and spoof targets
5. Extract sleep time, jitter percentage, and DNS beacon settings
6. Analyze process injection settings (spawn-to, allocation technique)
7. Generate Suricata/Snort signatures from extracted network indicators
8. Compare profile against known threat actor profile collections
9. Extract staging URIs and payload delivery mechanisms
10. Produce detection report with IOCs and recommended network signatures
## Expected Output
A JSON report containing extracted C2 URIs, HTTP headers, user agents, sleep/jitter settings, process injection config, spawned process paths, DNS settings, and generated Suricata-compatible detection rules.
© mahipal · Apache-2.0 · mukul975/Anthropic-Cybersecurity-Skills