Skip to content
Skillpedia
Deploy & cloud (DevOps)35k · #5511

operating-havoc-c2

Helps your agent set up a C2 server, generate disguised agents, and perform post-exploitation operations. It's useful for simulating adversaries in authorized security tests.

What it does

This tool helps set up a command and control (C2) server called Havoc. It allows you to create agents (malicious programs) that are hard to detect by security software because they use advanced evasion techniques. You can use this for authorized system security testing.

When to use it

  • ✓During authorized red-team security tests requiring an advanced C2 system.
  • ✓To simulate how real attackers use tools like Havoc.
  • ✓To check if security software detects agents that try to hide themselves.

Example of what to ask your AI

“Set up a Havoc C2 server with a profile using sleep obfuscation and indirect syscalls to generate an evasive Demon agent.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/operating-havoc-c2/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/operating-havoc-c2/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

You write a configuration file (profile) that defines how the server and agents will work. Then, you start the server and use a graphical program (client) to create agents and send them commands.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill operating-havoc-c2

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/operating-havoc-c2/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Operating Havoc C2

Legal Notice: This skill is for authorized security testing, sanctioned red-team engagements, and education only. Deploying a C2 framework or its agents against systems you do not own or lack explicit written authorization to test is illegal. Operate strictly within a signed rules-of-engagement document.

Overview

Havoc is an open-source, modern command-and-control framework created by @C5pider (https://github.com/HavocFramework/Havoc). Its primary implant, the Demon, is written in C and assembly and was designed from the ground up for evasion: it supports indirect syscalls (Hell's Gate / Halo's Gate), return-address and stack spoofing, and sleep obfuscation techniques (Ekko / FOLIAGE) that encrypt the agent in memory while it sleeps. The team server is the backend that starts listeners, queues tasks, manages agent check-ins, and brokers operator connections over an encrypted WebSocket. Operators connect with the Havoc client, a Qt GUI.

Havoc's behavior is driven by a Yaotl profile — a configuration language forked from HashiCorp's HCL — which defines the team server, operators, listeners, and Demon defaults. Because Havoc has been observed in real intrusions and is favored for its evasion features, exercising it during authorized engagements is valuable for emulating advanced adversary tradecraft and for testing whether EDR and network sensors detect its HTTP(S) C2 and in-memory techniques. This skill covers building Havoc, writing a profile, launching the team server, generating Demon agents, and running post-exploitation and lateral movement.

When to Use

  • When an authorized red-team engagement calls for an evasive, GUI-driven C2
  • When emulating an adversary that uses Havoc/Demon (per threat intelligence) in a purple-team exercise
  • When validating EDR detection of indirect syscalls, sleep obfuscation, and stack spoofing
  • When demonstrating post-exploitation impact and lateral movement for a report

Prerequisites

  • A dedicated Linux host (Debian/Ubuntu/Kali) for the team server
  • Go 1.18+ for the team server; Python 3.10 and Qt5 libraries for the client
  • mingw-w64 and nasm for cross-compiling the Demon for Windows targets
  • Signed authorization / rules of engagement

Install dependencies and build from source:

# Clone the framework
git clone https://github.com/HavocFramework/Havoc.git
cd Havoc

# Debian/Ubuntu/Kali build dependencies
sudo apt update && sudo apt install -y \
  git build-essential cmake libfontconfig1 libglu1-mesa-dev libgtest-dev \
  libspdlog-dev libboost-all-dev libncurses5-dev libgdbm-dev libssl-dev \
  libreadline-dev libffi-dev libsqlite3-dev libbz2-dev qtbase5-dev qtchooser \
  qt5-qmake qtbase5-dev-tools libqt5websockets5 libqt5websockets5-dev \
  qtdeclarative5-dev golang-go python3.10 python3.10-dev mingw-w64 nasm

# Build the team server
make ts-build

# Build the client
make client-build

Objectives

  • Author a Yaotl profile defining team server, operators, and a listener
  • Launch the Havoc team server and connect with the client
  • Create an HTTP(S) listener
  • Generate an evasive Demon agent (EXE / shellcode) with sleep obfuscation
  • Interact with the Demon and run post-exploitation commands
  • Execute .NET assemblies and BOFs in-memory
  • Pivot through the beachhead via SOCKS and port forwarding

MITRE ATT&CK Mapping

ID Technique Use in this skill
T1071.001 Application Layer Protocol: Web Protocols The Demon's HTTP(S) listener carries C2 over web protocols to blend with normal traffic

Related techniques exercised by the workflow:

ID Technique
T1027.007 Obfuscated Files or Information: Dynamic API Resolution (indirect syscalls)
T1620 Reflective Code Loading (in-memory .NET / BOF)
T1055 Process Injection
T1090.001 Internal Proxy (SOCKS pivot)

Workflow

Step 1: Write a Yaotl profile

Create profiles/engagement.yaotl defining the team server, an operator, and an HTTP listener. Yaotl is HCL-style:

Teamserver {
    Host = "0.0.0.0"
    Port = 40056

    Build {
        Compiler64 = "/usr/bin/x86_64-w64-mingw32-gcc"
        Nasm = "/usr/bin/nasm"
    }
}

Operators {
    user "operator1" {
        Password = "ChangeMe_Str0ng!"
    }
}

Listeners {
    Http {
        Name     = "https-listener"
        Hosts    = ["c2.example.com"]
        HostBind = "0.0.0.0"
        PortBind = 443

…
FAQ

What is a C2 server?

It's a server you control to send commands to agents (programs) that have been installed on other computers. It acts as a command center.

What does 'evasive agent' mean?

It means the agent was designed to be difficult for antivirus or security programs to detect, using techniques to disguise itself.

What are 'indirect syscalls' and 'sleep obfuscation'?

These are advanced techniques used by agents to hide in the computer's memory and avoid detection. 'Indirect syscalls' make system calls in a disguised way, and 'sleep obfuscation' scrambles the agent's code when it 'sleeps'.

Details

Original description by the author

Deploy a Havoc C2 team server with Yaotl malleable profiles, generate evasive Demon agents using indirect syscalls and sleep obfuscation, and run post-exploitation and pivoting operations. Use during authorized, rules-of-engagement-bound red-team engagements for adversary emulation requiring a full C2 lifecycle (server setup, evasive implant generation, tasking, and lateral pivoting).

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#5511
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills