Agent Skills: Analyzing Cobalt Strike Malleable Profiles

>

UncategorizedID: autohandai/community-skills/analyzing-cobalt-strike-malleable-profiles

Install this agent skill to your local

pnpm dlx add-skill https://github.com/autohandai/community-skills/tree/HEAD/analyzing-cobalt-strike-malleable-profiles

Skill Files

Browse the full folder contents for analyzing-cobalt-strike-malleable-profiles.

Download Skill

Loading file tree…

analyzing-cobalt-strike-malleable-profiles/SKILL.md

Skill Metadata

Name
analyzing-cobalt-strike-malleable-profiles
Description
>

Analyzing Cobalt Strike Malleable Profiles

Instructions

Parse malleable C2 profiles to extract IOCs and detection opportunities using the pyMalleableC2 library. Combine with JARM fingerprinting to identify C2 servers.

from malleablec2 import Profile

# Parse a malleable profile from file
profile = Profile.from_file("amazon.profile")

# Extract global options (sleep, jitter, user-agent)
print(profile.ast.pretty())

# Access HTTP-GET block URIs and headers for network signatures
# Access HTTP-POST block for data exfiltration patterns
# Generate JARM fingerprints for known C2 infrastructure

Key analysis steps:

  1. Parse the malleable profile to extract HTTP-GET/POST URI patterns
  2. Extract User-Agent strings and custom headers for IDS signatures
  3. Identify sleep time and jitter for beaconing detection thresholds
  4. Scan suspect IPs with JARM to match known C2 fingerprint hashes
  5. Cross-reference extracted IOCs with network traffic logs

Examples

# Parse profile and extract detection indicators
from malleablec2 import Profile
p = Profile.from_file("cobaltstrike.profile")
print(p)  # Reconstructed source

# JARM scan a suspect C2 server
import subprocess
result = subprocess.run(
    ["python3", "jarm.py", "suspect-server.com"],
    capture_output=True, text=True
)
print(result.stdout)
# Compare fingerprint against known CS JARM hashes