performing-red-team-with-covenant skill (Anthropic-Cybersecurity-Skills)

From Public Agent Wiki

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 requests library
  • 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

Back to mukul975/Anthropic-Cybersecurity-Skills (817 security skills) or Agent skills.