Claude 24f816b6a3
Consolidate 22 sibling repos into layered organism structure
Place useful parts of the surrounding repos into sica-fondt by layer, per the
body model (Ada = membrane; brain/endocrine/capabilities/knowledge non-Ada):

- brain/        LLM reasoning + providers (dapr, hermes, MoMoA)
- capabilities/ REPRAG sidecars: hermes tools/skills, dapr tools, parallel
                dispatch, A51 channels, and the OSINT cluster
- knowledge/    LORAG corpus: 754 cyber-skills, agency personas, secure-coding,
                MITRE ATT&CK data
- reference/    defensive threat-reference (C3, shhbruh doc) + AdaYaml parser

License handling: AGPL sources (worldosint, advanced_evolution, mercury,
Reticulum) and GPL DeTTECT are SPEC-only clean-room/port descriptions — no
copyleft code copied. MIT/Apache/data parts copied as working trees.

Safety: shhbruh escape/persistence material and C3 covert-C2 kept as reference
only, not wired into the running organism. See CONSOLIDATION.md.

https://claude.ai/code/session_01UehUqEXXJJCsHoA4voCU5c
2026-06-10 06:53:01 +00:00

2.9 KiB

API Reference: Cobalt Strike Beacon Configuration Analysis

Beacon Config TLV Format

Structure

[Field ID: 2 bytes][Type: 2 bytes][Value: variable]
Type 1 = short (2 bytes), Type 2 = int (4 bytes), Type 3 = string/blob (2-byte length + data)

XOR Encoding

Version XOR Key
CS 3.x 0x69
CS 4.x 0x2E

Key Configuration Fields

ID Name Description
1 BeaconType 0=HTTP, 1=Hybrid, 2=SMB, 8=HTTPS
2 Port C2 communication port
3 SleepTime Beacon interval (ms)
5 Jitter Random sleep variation (%)
7 PublicKey RSA public key for encryption
8 C2Server Command and control server(s)
9 UserAgent HTTP User-Agent string
10 PostURI POST callback URI
37 Watermark License watermark (operator ID)
54 PipeName Named pipe for SMB beacons

1768.py (Didier Stevens) - Config Extractor

Syntax

python 1768.py <beacon_file>           # Extract config
python 1768.py -j <beacon_file>        # JSON output
python 1768.py -r <beacon_file>        # Raw config dump

CobaltStrikeParser (SentinelOne)

Syntax

python parse_beacon_config.py <file>
python parse_beacon_config.py --json <file>

Output Fields

BeaconType:        HTTPS
Port:              443
SleepTime:         60000
Jitter:            37
C2Server:          update.microsoft-cdn.com,/api/v2
UserAgent:         Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Watermark:         305419896
SpawnToX86:        %windir%\syswow64\dllhost.exe
SpawnToX64:        %windir%\sysnative\dllhost.exe

JARM Fingerprinting

Cobalt Strike Default JARM

# Default CS JARM hash (pre-4.7)
07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1

# Scan with JARM
python jarm.py <target_ip> -p 443

Known Watermark Values

Watermark Attribution
0 Trial/cracked version
305419896 Common cracked version
1359593325 Known threat actor toolkit
1580103824 Known APT usage

Detection Signatures

Suricata

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"ET MALWARE Cobalt Strike Beacon";
    content:"/submit.php"; http_uri;
    content:"Cookie:"; http_header;
    pcre:"/Cookie:\s[A-Za-z0-9+/=]{60,}/H";
    sid:2028591; rev:1;)

YARA

rule CobaltStrike_Beacon {
    strings:
        $config_v3 = { 00 01 00 01 00 02 ?? ?? 00 01 00 02 }
        $magic = "MSSE-%d-server"
        $pipe = "\\\\.\\pipe\\msagent_"
    condition:
        uint16(0) == 0x5A4D and any of them
}

Malleable C2 Profile Elements

Element Description
http-get GET request profile (URI, headers, metadata transform)
http-post POST request profile (URI, body transform)
set sleeptime Default beacon interval
set jitter Randomization percentage
set useragent HTTP User-Agent
set pipename SMB named pipe name