← retour aux outils back to tools

# Covenant

Framework de commande et contrôle basé sur .NET avec une UI web collaborative, gérant les implants 'Grunt', les listeners et les tâches pour les missions de red team. .NET-based command and control framework with a collaborative web UI, managing 'Grunt' implants, listeners, and taskings for red-team engagements.

↗ https://github.com/cobbr/Covenant

## Overview

Covenant is a .NET C2 framework built for red-team operators and penetration testers who need collaborative, multi-user command and control. It exposes an ASP.NET Core web application for managing listeners, generating “Grunt” implants (in-memory .NET payloads), issuing taskings, and tracking engagement data — with a strong focus on detection evasion research and offensive .NET tradecraft.

## Common Usage

    # Clone and start Covenant (via Docker — recommended)
    git clone --recurse-submodules https://github.com/cobbr/Covenant
    cd Covenant/Covenant
    docker build -t covenant .
    docker run -it -p 7443:7443 -p 80:80 -p 443:443 --name covenant covenant

Or run from source with the .NET SDK

    dotnet run

## Typical Workflow

    1. Log in to the web UI at https://<host>:7443
    2. Listeners → Create HTTP listener bound to a redirector/domain front
    3. Launchers → Binary/PowerShell/MSBuild launcher, generate a Grunt stager
    4. Deliver the stager to the target (phishing, initial access foothold)
    5. Grunts tab → interact with the checked-in Grunt
    6. Tasks → run built-in tasks (Mimikatz, PortScan, WhoAmI, PowerShellImport)
    7. Taskings support C# "GruntTasks" — compiled and executed in-memory

## Notes

- Grunts communicate over HTTP/HTTPS (or SMB for P2P peer chaining between implants)
- Custom tasks are written in C# and compiled server-side, giving flexibility similar to Cobalt Strike’s Aggressor Script/BOFs
- Roles and multi-user collaboration are built in, useful for larger red-team operations
- As a well-known open-source C2, Covenant’s default indicators are heavily signatured by EDR — expect to customize templates and profiles for real engagements

Help / Man page

    Covenant is a web application — no traditional CLI/man page.

    Startup (Docker):
      docker run -it -p 7443:7443 -p 80:80 -p 443:443 covenant

    Startup (source):
      cd Covenant/Covenant
      dotnet run

    Default web UI:
      https://localhost:7443

    Core concepts:
      Listeners   - HTTP/HTTPS endpoints Grunts check in to
      Launchers   - generate initial stagers (Binary, PowerShell, MSBuild, etc.)
      Grunts      - active implants/agents
      Tasks       - C# GruntTasks executed by a Grunt
      Users/Roles - multi-operator collaboration

## Vue d’ensemble

Covenant est un framework C2 .NET conçu pour les opérateurs red team et les pentesters qui ont besoin d’un commande et contrôle collaboratif et multi-utilisateur. Il expose une application web ASP.NET Core pour gérer les listeners, générer des implants “Grunt” (payloads .NET en mémoire), émettre des tâches et suivre les données de la mission, avec un fort accent sur la recherche d’évasion de détection et le tradecraft offensif en .NET.

## Utilisation courante

    # Cloner et démarrer Covenant (via Docker, recommandé)
    git clone --recurse-submodules https://github.com/cobbr/Covenant
    cd Covenant/Covenant
    docker build -t covenant .
    docker run -it -p 7443:7443 -p 80:80 -p 443:443 --name covenant covenant

    # Ou lancer depuis les sources avec le SDK .NET
    dotnet run

## Workflow typique

    1. Se connecter à l'UI web sur https://<host>:7443
    2. Listeners → créer un listener HTTP lié à un redirecteur/domain front
    3. Launchers → launcher Binary/PowerShell/MSBuild, générer un stager Grunt
    4. Livrer le stager à la cible (phishing, point d'ancrage d'accès initial)
    5. Onglet Grunts → interagir avec le Grunt qui a fait son check-in
    6. Tasks → lancer les tâches intégrées (Mimikatz, PortScan, WhoAmI, PowerShellImport)
    7. Les tâches supportent des "GruntTasks" en C# : compilées et exécutées en mémoire

## Notes

- Les Grunts communiquent en HTTP/HTTPS (ou SMB pour du chaînage P2P entre implants)
- Les tâches personnalisées sont écrites en C# et compilées côté serveur, offrant une flexibilité similaire aux Aggressor Script/BOF de Cobalt Strike
- Les rôles et la collaboration multi-utilisateur sont intégrés, utiles pour les opérations red team de plus grande ampleur
- En tant que C2 open source bien connu, les indicateurs par défaut de Covenant sont fortement signaturés par les EDR : attendez-vous à devoir personnaliser templates et profils pour de vraies missions

Aide / Page de manuel

    Covenant is a web application — no traditional CLI/man page.

    Startup (Docker):
      docker run -it -p 7443:7443 -p 80:80 -p 443:443 covenant

    Startup (source):
      cd Covenant/Covenant
      dotnet run

    Default web UI:
      https://localhost:7443

    Core concepts:
      Listeners   - HTTP/HTTPS endpoints Grunts check in to
      Launchers   - generate initial stagers (Binary, PowerShell, MSBuild, etc.)
      Grunts      - active implants/agents
      Tasks       - C# GruntTasks executed by a Grunt
      Users/Roles - multi-operator collaboration