Covenant - A collaborative .NET C2 framework for red teamers.
Here are some example snippets to help you get started creating a container.
docker create \
--name=covenant \
-e TZ=Europe/London \
-p 7443:7443 \
-p 443:443 \
-p 80:80 \
-v <path to data>:/app/Data \
--restart unless-stopped \
warhorse/covenant
Compatible with docker-compose v2 schemas.
---
version: "2"
services:
covenant:
image: warhorse/covenant
container_name: covenant
environment:
- TZ=Europe/London
volumes:
- <path to data>:/app/Data
ports:
- 7443:7443
- 443:443
- 80:80
restart: unless-stopped
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <external>:<internal>
respectively. For example, -p 8080:80
would expose port 80
from inside the container to be accessible from the host's IP on port 8080
outside the container.
Parameter | Function |
---|---|
-p 7443 |
The port for the Covenant Admin web interface |
-p 80 |
The port for HTTP C2 traffic |
-p 443 |
The port for HTTPS C2 traffic |
-e TZ=Europe/London |
Specify a timezone to use EG Europe/London |
-v /app/Data |
covenant configs |
Access the webui at <your-ip>:7443
, for more information check out Covenant.
- Shell access whilst the container is running:
docker exec -it covenant /bin/bash
- To monitor the logs of the container in realtime:
docker logs -f covenant
If you want to make local modifications to these images for development purposes or just to customize the logic:
git clone https://github.com/warhorse/docker-covenant.git
cd docker-covenant
docker build \
--no-cache \
--pull \
-t warhorse/covenant:latest .
- 10.30.19: - First Push