performing-red-team-with-covenant skill (Anthropic-Cybersecurity-Skills)
- Install
- SKILL.md (verbatim)
- Overview
- When to Use
- Prerequisites
- Steps
- Step 1: Authenticate to Covenant API
- Step 2: Create Listener
- Step 3: Generate Launcher
- Step 4: Deploy and Manage Grunts
- Step 5: Document Operations
- Expected Output
- Other files in this skill
- references/api-reference.md (verbatim)
- Covenant REST API Endpoints
- Authentication
- Listener Configuration
- Grunt Status Values
- Built-in Tasks
- References
What it does. Conducts red team operations using the Covenant C2 framework for authorized Part of mukul975/Anthropic-Cybersecurity-Skills (817 security skills) (mukul975/Anthropic-Cybersecurity-Skills).
| Upstream | mukul975/Anthropic-Cybersecurity-Skills |
| Skill file | skills/performing-red-team-with-covenant/SKILL.md |
| License | Apache-2.0 (skill folder LICENSE) |
| Author | mukul975 |
| Fetched | 2026-09-10 |
Install
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-red-team-with-covenant, or copy the skill folder into~/.claude/skills/performing-red-team-with-covenant/.- Raw file:
curl -sL https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/HEAD/skills/performing-red-team-with-covenant/SKILL.md
SKILL.md (verbatim)
name: performing-red-team-with-covenant
description: Conducts red team operations using the Covenant C2 framework for authorized
adversary simulation, covering listener setup, grunt deployment, task execution,
and lateral movement tracking. Use when standing up or operating a Covenant command-and-control
server for an authorized red team engagement.
domain: cybersecurity
subdomain: red-team
tags:
- red-team
- c2
- covenant
- adversary-simulation
- penetration-testing
version: '1.0'
author: mahipal
license: Apache-2.0
nist_csf:
- ID.RA-01
- GV.OV-02
- DE.AE-07
mitre_attack:
- T1595
- T1190
- T1059
- T1078
- T1021
Performing Red Team Operations with Covenant C2
Overview
Covenant is a collaborative .NET C2 framework for red teamers that provides a Swagger-documented REST API for managing listeners, launchers, grunts (agents), and tasks. This skill covers automating Covenant operations through its API for authorized red team engagements: creating HTTP/HTTPS listeners, generating binary and PowerShell launchers, deploying grunts, executing tasks on compromised hosts, and tracking lateral movement.
When to Use
- When conducting security assessments that involve performing red team with covenant
- When following incident response procedures for related security events
- When performing scheduled security testing or auditing activities
- When validating security controls through hands-on testing
Prerequisites
- Covenant C2 server deployed (Docker or .NET 6)
- Python 3.9+ with
requestslibrary - Covenant API token (obtained via /api/users/login)
- Written authorization for red team engagement
- Isolated lab or authorized target environment
Steps
Step 1: Authenticate to Covenant API
Obtain a JWT token by posting credentials to /api/users/login endpoint.
Step 2: Create Listener
Configure an HTTP or HTTPS listener with callback URLs and bind address.
Step 3: Generate Launcher
Create a binary, PowerShell, or MSBuild launcher tied to the listener for grunt deployment.
Step 4: Deploy and Manage Grunts
Monitor grunt callbacks, execute tasks, and collect output from compromised hosts.
Step 5: Document Operations
Generate an operations report documenting all actions, timestamps, and findings.
Expected Output
JSON report with listener configuration, active grunts, executed tasks, and task output for engagement documentation.
Other files in this skill
references/api-reference.md (verbatim)
API Reference: Performing Red Team with Covenant C2
Covenant REST API Endpoints
| Endpoint | Method | Purpose |
|---|---|---|
| /api/users/login | POST | Authenticate and get JWT token |
| /api/listeners | GET | List all listeners |
| /api/listeners/http | POST | Create HTTP listener |
| /api/grunts | GET | List all grunts (agents) |
| /api/grunts/{id}/interact | POST | Execute task on grunt |
| /api/grunttasks/{id} | GET | Get task output |
| /api/launchers/binary | PUT | Generate binary launcher |
| /api/launchers/powershell | PUT | Generate PowerShell launcher |
| /api/launchers/msbuild | PUT | Generate MSBuild launcher |
Authentication
POST /api/users/login
{"userName": "admin", "password": "pass"}
Response: {"covenantToken": "eyJhbGciOi..."}
Header: Authorization: Bearer <token>
Listener Configuration
| Field | Type | Description |
|---|---|---|
| name | string | Listener display name |
| bindAddress | string | IP to bind (0.0.0.0 for all) |
| bindPort | int | Port for grunt callbacks |
| connectAddresses | array | Callback addresses for grunts |
| listenerTypeId | int | 1=HTTP, 2=Bridge |
Grunt Status Values
| Status | Description |
|---|---|
| Uninitialized | Grunt created but not connected |
| Stage0 | Initial callback received |
| Stage1 | Key exchange in progress |
| Stage2 | Fully staged and active |
| Active | Connected and ready for tasks |
| Lost | Missed check-in threshold |
Built-in Tasks
| Task | Description |
|---|---|
| WhoAmI | Current user identity |
| GetHostname | Target hostname |
| ListDirectory | Directory listing |
| Download | Retrieve file from target |
| Upload | Upload file to target |
| PowerShell | Execute PowerShell command |
| Assembly | Load and execute .NET assembly |
| Mimikatz | Credential extraction |
References
- Covenant GitHub: https://github.com/cobbr/Covenant
- Covenant Wiki: https://github.com/cobbr/Covenant/wiki
- Covenant API Docs: Swagger UI at https://<host>:7443/swagger
- Netwrix Tutorial: https://netwrix.com/en/resources/blog/covenant-c2-tutorial/
Back to mukul975/Anthropic-Cybersecurity-Skills (817 security skills) or Agent skills.