
InfraGuard v0.4.3
InfraGuard ist ein Command & Control-Umleitungsproxy und -Manager, der Ihre Red-Team-Infrastruktur vor Attribution schützt.
Red-Team-Infrastruktur-Tracker und C2-Redirector -- eine moderne Alternative zu RedWarden.
InfraGuard sitzt zwischen dem Internet und deinem C2-Teamserver und validiert jede eingehende Anfrage gegen dein malleable C2-Profil. Alles, was nicht konform ist, wird blockiert. Scanner, Bots und Blue-Team-Sonden werden zu einer Köder-Website umgeleitet, während legitimer Beacon-Traffic zu deinem Teamserver durchgelassen wird.

Architektur

Features
Proxying & Listener
- Multi-Domain-Proxying -- mehrere Domains gleichzeitig als Proxy bedienen, jeweils mit unabhängigen C2-Profilen, Upstreams und Regeln
- Multi-Protokoll-Listener -- HTTP/HTTPS-, DNS-, MQTT- und WebSocket-Listener laufen gleichzeitig mit gemeinsamer IP-Intelligenz und Event-Tracking
- Circuit Breaker -- Schutz vor Ausfällen pro Upstream mit den Zuständen closed/open/half-open; fällt auf die Drop-Aktion der Domain zurück, wenn Backends nicht erreichbar sind
- Protokoll-Failover -- automatisches Failover und Failback zwischen Listener-Protokollen, sortiert nach Priorität
Unterstützung für C2-Profile
- C2-Profilvalidierung -- Cobalt Strike-, Mythic-, Brute Ratel C4-, Sliver-, Havoc-, Nighthawk- und PoshC2-Profile als Redirector-Regeln parsen und durchsetzen
- Hot-Swap-fähige Profile -- das aktive C2-Profil einer Domain zur Laufzeit über das Dashboard wechseln, ohne den Proxy neu zu starten
- Profil-Generierungsassistent -- neue C2-Profile von Grund auf für alle 8 unterstützten Typen über ein geführtes Formular erzeugen oder vorhandene Profile mit automatischer Typerkennung und Validierung importieren und hochladen
- KI-gestützte Profilgenerierung -- optionale Ollama-Integration bietet ein Chat-Panel im Dashboard für Hilfe bei der Profilerstellung und OPSEC-Empfehlungen
Filter-Pipeline
- Scoring-basierte Filter-Pipeline -- 10 Filter tragen jeweils einen Wert zwischen 0.0 und 1.0 bei; ein konfigurierbarer Schwellenwert bestimmt blockieren/zulassen. Filter: JA3, IP, Bot, Header, DNS, Geo, Profil, Replay, Enumeration, Sandbox.
- JA3-TLS-Fingerprint-Filterung -- Masscan, ZGrab2, Shodan, curl, Python-Requests und Nmap bereits auf der TLS-Handshake-Ebene blockieren, bevor irgendwelche HTTP-Daten ausgetauscht werden; funktioniert über Reverse-Proxy-Header oder benutzerdefiniertes asyncio-Protokoll; optionaler Allowlist-Modus erzwingt den Beacon-JA3
- Sandbox- und Headless-Browser-Erkennung -- Score-Akkumulation über HTTP-Signale: HeadlessChrome-UA, fehlendes Accept-Language, Chrome ohne sec-ch-ua, Safe-Links- und msnbot-Scanner-UAs, Nicht-Browser-Accept-Reihenfolge
- Pfad-Enumeration-Erkennung -- Verfolgung eindeutiger URIs pro IP in einem gleitenden Fenster; blockiert dirbuster/ffuf/gobuster, bevor sie den URI-Raum kartieren
- DNS-Subdomain-Enumeration-Erkennung -- verfolgt NXDOMAIN-Antworten pro Client-IP; blockiert Quell-IPs automatisch bei Schwellenwertüberschreitung
- Anti-Bot / Anti-Crawling -- 40+ bekannte Scanner-/Bot-User-Agent-Muster, Anomalie-Erkennung bei Headern
- Replay-Schutz -- doppelte Anfragen über Inhalts-Hash ablehnen; Hashes werden in SQLite gespeichert, sodass der Schutz Neustarts übersteht
- Drop-Aktionen -- Weiterleitung, TCP-Reset, Proxy zur Köder-Website oder Tarpit (langsame Antwort, um Zeit von Scannern zu verschwenden)
Intelligenz
- IP-Intelligenz -- integrierte CIDR-Blocklisten für 19 Sicherheitsanbieter-Bereiche (Shodan, Censys, Rapid7 usw.), GeoIP-Filterung, Reverse-DNS-Keyword-Abgleich
- Threat-Intelligence-Feeds -- Blocklisten automatisch aus öffentlichen Quellen aktualisieren (abuse.ch, Emerging Threats, Spamhaus DROP, Binary Defense) mit konfigurierbarem Aktualisierungsintervall und Festplatten-Caching
- Dynamische IP-Sperrung -- IPs außerhalb von Whitelisted-Bereichen blockieren; IPs nach N gültigen C2-Anfragen automatisch in die Whitelist aufnehmen
- Whitelist-Anreicherung -- gewhitelistete CIDRs werden beim Start automatisch über GeoIP-Datenbanken mit ASN, Organisation, Land und Kontinent angereichert
- Burn-Erkennung -- Certificate-Transparency-Log-Überwachung über crt.sh, Self-Monitoring der Domain-Reputation über URLhaus/OpenPhish/Google Safe Browsing sowie domänenübergreifende Analysten-Erkennung, wenn eine einzelne IP auf mehrere Operator-Domains zugreift
- Burn-Konfidenz-Scoring -- kontinuierlicher Score von 0--100 aus 6 gewichteten Signalen: JA3-Diversität, Volumenspitzen, neue ASNs, CT-Log-Exposition, Reputationstreffer und fehlgeschlagene Authentifizierungsversuche. Enthält empfohlene Maßnahmen: überwachen, rotieren oder sofortiges Burn.
- Canary-Token-Injektion -- Tracking-Pixel, Honeypot-Links und Honeypot-Formulare werden automatisch in Köder-Seiten eingefügt, um Untersuchungen durch das Blue Team zu erkennen
- Passives DNS-Monitoring -- fragt CIRCL PDNS nach externen Auflösungen deiner Domains ab; erkennt neue Datensätze, NXDOMAIN-Spitzen und Erstkontakt-Exposition
Payload-Zustellung
- Content-Delivery-Routen -- Payloads, Köder und statische Dateien an bestimmten Pfaden über PwnDrop, Mythic-Dateispeicher, lokales Dateisystem oder HTTP-Proxy-Backends ausliefern; optional bedingte Zustellung, um echte Inhalte an Ziele und Köder an Scanner auszuliefern
- Mythic-Datei-Staging -- das
mythic_file-Backend leitet Mythics/direct/download/{uuid}unter sauberen URLs weiter; fester UUID- oder Proxy-Modus; Zugriffskontrolle durch InfraGuards Filter-Stack - Einmal-Payload-Tokens -- Tokens werden automatisch ausgestellt, wenn ein Beacon dynamisch gewhitelistet wird; atomare Einmalverwendung per SQLite verhindert URL-Replay durch Analysten oder Sandboxes; konfigurierbare TTL und maximale Nutzungsanzahl
- Rate-Limiting pro Route -- Gleitfenster-Download-Rate-Limiter pro IP auf Content-Routen; bei Überschreitung wird der konfigurierte Scanner-Decoy oder 429 ausgeliefert
- Zustellungs-Guards -- Umgebungs-Keying für Content-Routen: Beacon-IP erforderlich, UA-Allowlist, erforderliche Header-Werte, verbotene Header; fehlgeschlagene Prüfungen lösen die Domain-Drop-Aktion aus, keinen rohen 403
- Phishing-Kampagnen-Tokens -- Phishing-Seiten hinter Kampagnen-Tokens absichern, die in E-Mail-Links eingebettet sind; statische Token-Liste oder HMAC-signierte, selbstvalidierende Tokens mit konfigurierbarer TTL
Resilienz
- Infrastruktur-Rotation -- Ein-Klick-Blue-Green-Terraform-Rotation über 5 Cloud-Anbieter mit Vorabprüfungen, Rollback und age-verschlüsseltem State
- Rotationsplanung -- automatisierte Rotationsrichtlinien: festes Intervall, burn-ausgelöst, Schwellenwert für die Anfrageanzahl und gestaffeltes Rollieren
- Domain-Fronting -- CDN-basiertes C2-Routing über SNI/Host-Header-Split mit CDN-Header-Stripping und SSRF-Schutz
- Totmannschalter -- Operator-Heartbeat-TTL, der die C2-Weiterleitung automatisch stoppt, wenn sich der Operator nicht meldet
- Edge-Proxies -- Cloudflare Worker und AWS Lambda für Domain-Fronting über CDN-Infrastruktur, Edge-Länderblockierung und Host-Rewriting
Dashboard & Operator-Werkzeuge
- Web-Dashboard -- Echtzeit-SPA mit Anmeldeseite, Live-Anfragefeed, Domain-Statistiken, Top-blockierte-IPs, WebSocket-Event-Streaming und Inline-Aktionen zum Blockieren/Whitelisten/Entsperren
- Verwaltung der Köder-Seiten -- Köder-HTML-Seiten direkt aus dem Dashboard auflisten, in der Vorschau anzeigen und bearbeiten
- Command Post -- Multi-Instanz-Aggregations-Dashboard, das Statistiken, Anfragen und Live-Events mehrerer InfraGuard-Knoten in einer einzigen Ansicht zusammenführt
- Terminal-UI -- Textual-basierte TUI mit Anmeldebildschirm, Live-API-Abfrage und farbcodiertem Anfrageprotokoll
- Einsatzberichte -- eigenständige HTML-, JSON- oder CSV-Berichte mit Aufschlüsselung pro Domain, Filtereffektivität und Operator-Prüfpfad
- Prometheus-Metriken --
/metrics-Endpoint, der Anfragezähler, Upstream-Latenz-Histogramme, Circuit-Breaker-Status, Feed-Aktualität und aktive Verbindungen bereitstellt
Integrationen & Plugins
- SIEM-Integration -- eingebaute Plugins für Elasticsearch, Wazuh und Syslog (CEF/JSON) mit Batch-Weiterleitung
- Webhook-Alarme -- eingebaute Plugins für Discord (Embeds), Slack (Block Kit) und generische Webhooks; Burn-Erkennungsalarme laufen durch dasselbe Plugin-System
- Phishing.club-Integration -- HMAC-signierter Webhook-Empfänger, der Phishing-Events aufnimmt und klickende Ziel-IPs automatisch in die Allowlist aufnimmt
- Plugin-System -- ereignisgesteuerte Architektur mit
on_event-Hooks, Konfiguration pro Plugin und Event-Filterung
Konfiguration & Bereitstellung
- Konfigurationsverschlüsselung -- age-Verschlüsselung (ganze Datei) und SOPS-Verschlüsselung (pro Wert) mit Unterstützung für
.env-Dateien - Konfigurationsvalidierung -- CLI-Diff-Tool und 20+ Sicherheits-, Betriebs- und TLS-Validierungsprüfungen
- API-Schlüsselverwaltung -- API-Schlüssel erstellen, widerrufen und rotieren; mit Rate-Limits pro Schlüssel, Nutzungsverfolgung und Kontingenten
- Backend-Konfigurationsgenerierung -- Nginx-, Caddy- oder Apache-Konfigurationen mit TLS, IP-Filterung, Header-Prüfungen, Aliasen und benutzerdefinierten Headern erzeugen
- Regel-Import -- IP-Blocklisten und User-Agent-Muster aus vorhandenen
.htaccess- undrobots.txt-Dateien importieren - Docker-Bereitstellung -- Dockerfile + docker-compose mit optionalem Let's Encrypt, GeoIP-Downloader, PwnDrop-Payload-Server und Ollama-KI-Assistent
- GeoIP-Unterstützung -- alle drei GeoLite2-Datenbanken (City, ASN, Country) mit automatischem Docker-Download
- Self-signed-TLS-Fallback -- erzeugt automatisch Zertifikate, wenn die konfigurierten Pfade nicht existieren
- Unterstützung für Umgebungsvariablen --
.env-Datei wird automatisch geladen;${VAR}-Syntax funktioniert in allen Konfigurationswerten und Schlüsseln - Konfigurierbarer Health-Endpoint -- Pfad des Health-Checks ändern, um Fingerprinting zu vermeiden
- Strukturiertes Logging -- JSON-formatierte strukturierte Logs über structlog
- Tracking & Persistenz -- SQLite mit WAL-Modus für Anfrageprotokollierung, Statistiken, Node-Registry, Replay-Hashes und Payload-Tokens
Installationsanleitung
Schau dir die Wiki-Seite für die Installation an
CLI-Referenz```
infraguard --version Show version infraguard --help Show help
infraguard run -c config.yaml Start the reverse proxy infraguard run -c config.yaml --port 8443 Override listen port infraguard run -c config.yaml --host 0.0.0.0 Override bind address
infraguard dashboard -c config.yaml Start the web dashboard infraguard dashboard -c config.yaml --port 9090 Override dashboard port
infraguard tui Launch TUI with login screen infraguard tui --url http://host:8080 --token TOK Auto-connect to dashboard infraguard tui -c config.yaml Read URL/token from config
infraguard command-post -c command-post.yaml Start multi-instance dashboard infraguard command-post --instance name:url:token Add instance via CLI (repeatable)
infraguard profile parse Parse and display a C2 profile infraguard profile parse --format json Output as JSON infraguard profile parse --type brute_ratel Force profile type infraguard profile convert -o out.json Convert profile to JSON
Supported --type values: auto, cobalt_strike, mythic, brute_ratel, sliver, havoc, nighthawk, poshc2
Auto-detection: .profile = CS, .toml = Havoc, .yaml = PoshC2, .json = auto-detect by keys
infraguard ingest <files...> Ingest .htaccess/robots.txt rules infraguard ingest <files...> --format blocklist Output as IP blocklist infraguard ingest <files...> --format json Output as JSON infraguard ingest <files...> -o banned_ips.txt Write blocklist to file
infraguard generate nginx -c config.yaml Generate Nginx config infraguard generate caddy -c config.yaml Generate Caddyfile infraguard generate apache -c config.yaml Generate Apache VirtualHost
infraguard init -o config.yaml Generate starter config infraguard validate -c config.yaml Validate config file
### Generator-Optionen
Der Befehl `generate` akzeptiert zusätzliche Flags für die Operator-Anpassung:
| Flag | Beschreibung |
|---|---|
| `--listen-port PORT` | Abhör-Port überschreiben (Standard: aus Konfiguration) |
| `--ssl-cert PATH` | SSL-Zertifikatspfad überschreiben |
| `--ssl-key PATH` | SSL-Schlüsselpfad überschreiben |
| `--redirect-url URL` | Weiterleitungs-URL für blockierte Anfragen überschreiben |
| `--default-action redirect\|404` | Aktion für nicht passende Anfragen |
| `--no-ip-filter` | IP-Erlaubnis-/Sperrblöcke weglassen |
| `--no-header-check` | Header-Validierungsregeln weglassen |
| `--alias DOMAIN:ALIAS` | Servernamens-Alias hinzufügen (wiederholbar) |
| `--header NAME:VALUE` | Benutzerdefinierten Antwort-Header hinzufügen (wiederholbar) |
## Command Post (Multi-Instanz-Dashboard)
Wenn mehrere InfraGuard-Instanzen auf verschiedenen VPSen oder Cloud-Anbietern ausgeführt werden, bündelt der Command Post Statistiken, Anfragen und Live-Ereignisse aller Knoten in einem einzigen Dashboard.```
┌─────────────────────────────┐
│ Command Post Dashboard │
│ http://localhost:9090 │
└──────────┬──────────────────┘
│ parallel fetch
┌─────┼──────┬──────────┐
▼ ▼ ▼ ▼
IG-1 IG-2 IG-3 ... IG-N

Schnellstart```bash
Via config file
infraguard command-post -c config/command-post.yaml
Via CLI args
infraguard command-post
--instance "prod:https://ig1.example.com:8080:TOKEN1"
--instance "staging:https://ig2.example.com:8080:TOKEN2"
--port 9090
Via Docker
docker compose --profile command-post up -d command-post
### Konfiguration
Erstelle `config/command-post.yaml`:```yaml
instances:
- name: "prod-cs"
url: "https://ig1.example.com:8080"
token: "${IG_PROD_TOKEN}"
- name: "prod-mythic"
url: "https://ig2.example.com:8080"
token: "${IG_MYTHIC_TOKEN}"
- name: "staging"
url: "https://ig3.example.com:8080"
token: "${IG_STAGING_TOKEN}"
port: 9090
# auth_token: "${COMMAND_POST_TOKEN}"
Was angezeigt wird
- Zusammengeführte Statistiken -- Gesamtzahl der Anfragen, erlaubt, blockiert über alle Instanzen hinweg summiert
- Instanz-Statusleiste -- grüner/roter Status für jeden verbundenen Knoten
- Verschachteltes Anfrageprotokoll -- Anfragen aller Instanzen, nach Zeitstempel sortiert, jeweils mit dem Instanznamen gekennzeichnet
- Zusammengeführte Top-blockierte-IPs -- über alle Instanzen aggregiert
- Pro-Domain-Statistiken -- Domains aller Instanzen mit neu berechneten Blockraten
- Live-Ereignisfeed -- multiplexte WebSocket-Ereignisse von allen Knoten
- Block-/Whitelist-Aktionen -- auf alle Instanzen oder eine bestimmte verteilen
API-Endpunkte
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/api/instances | GET | Alle Instanzen mit Gesundheitsstatus auflisten |
/api/stats | GET | Zusammengeführte Statistiken aller Instanzen |
/api/requests | GET | Verschachteltes Anfrageprotokoll aller Instanzen |
/api/intel/whitelist | POST | Eine IP auf allen Instanzen auf die Whitelist setzen |
/api/intel/blocklist | POST | Eine IP auf allen Instanzen blockieren |
/api/intel/blocklist | DELETE | Eine IP auf allen Instanzen freigeben |
/ws/events | WS | Multiplexte Live-Ereignisse aller Instanzen |
Docker-Bereitstellung
Schnellstart```bash
cp .env.example .env
Edit .env with your domain, teamserver, and token
docker compose up -d
Dadurch werden zwei Dienste gestartet:
- **proxy** -- der Redirector auf den Ports 443 und 80
- **dashboard** -- das Web-UI auf Port 8080
### Mit Let's Encrypt```bash
# Set in .env:
# INFRAGUARD_LETSENCRYPT=true
# INFRAGUARD_DOMAIN=cdn.example.com
# [email protected]
# Obtain the initial certificate
docker compose --profile letsencrypt up certbot
# Start the proxy (will use the LE cert)
docker compose up -d proxy dashboard
# Start auto-renewal (checks every 12 hours)
docker compose --profile letsencrypt up -d certbot-renew
Anforderungen für Let's Encrypt:
- Port 80 muss vom Internet aus erreichbar sein
INFRAGUARD_DOMAINmuss auf die öffentliche IP dieses Hosts verweisenINFRAGUARD_DOMAIN_EMAILmuss eine gültige E-Mail-Adresse sein
Mit GeoIP-Datenbanken```bash
Download all three GeoLite2 databases (City, ASN, Country)
docker compose --profile geoip up geoip-update
Then start normally - databases are mounted at /app/geoip/
docker compose up -d proxy dashboard
### Mit PwnDrop (Payload-Zustellung)```bash
# Start PwnDrop alongside the proxy
docker compose --profile pwndrop up -d pwndrop
# Access PwnDrop admin UI at https://localhost:8443
# InfraGuard reaches it internally at http://pwndrop:80
Konfiguriere dann Inhaltsrouten in deiner Konfiguration, um Payload-Pfade an PwnDrop weiterzuleiten:```yaml domains: cdn.example.com: content_routes: - path: "/downloads/*" backend: type: "pwndrop" target: "http://pwndrop:80" auth_token: "${PWNDROP_TOKEN}"
### Mit Ollama (KI-gestützte Profilgenerierung)```bash
# Start the Ollama service
docker compose --profile ollama up -d ollama
# Pull the default model (~5 GB)
docker compose --profile ollama exec ollama ollama pull qwen3:8b
# The dashboard's AI chat panel will connect automatically
Die Umgebungsvariable INFRAGUARD_OLLAMA_URL des Dashboards ist in docker-compose.yml vorkonfiguriert. Wenn Ollama läuft, erscheint der KI-Assistent-Umschalter auf der Decoys- und Profile-Seite des Dashboards.
Skalierung```bash
Run multiple redirector nodes
docker compose up -d --scale proxy-node=3
Entfernen Sie die Kommentierung des `proxy-node`-Dienstes in `docker-compose.yml`, um ihn zu aktivieren.
### Volumes
| Volume | Zweck |
|---|---|
| `./config` | Konfigurationsdateien (schreibgeschützt eingebunden) |
| `./examples` | C2-Profile (schreibgeschützt eingebunden) |
| `./rules` | Eingelesene Blocklisten und Regelquelldateien (schreibgeschützt eingebunden) |
| `./data` | SQLite-Datenbank und generierte Profile (dauerhaft gespeichert) |
| `certs` | TLS-Zertifikate (zwischen Proxy und Certbot geteilt) |
| `geoip` | GeoLite2-Datenbanken (vom Dienst `geoip-update` befüllt) |
| `pwndrop-data` | Über PwnDrop hochgeladene Dateien und Datenbank |
| `ollama-data` | Ollama-Modellgewichte und -Konfiguration |
## Architektur```
infraguard/
__init__.py Package init
__main__.py python -m infraguard entry
main.py Click CLI
config/ YAML config loading, .env support, Pydantic validation
core/ ASGI proxy engine (app, proxy, router, TLS, drop actions, content delivery)
profiles/ C2 profile parsers and generators (8 types)
pipeline/ Request validation filters (JA3, IP, bot, header, DNS, geo, profile, replay, enumeration, sandbox)
intel/ IP intelligence (blocklists, GeoIP, rDNS, feeds, rule ingestion)
tracking/ SQLite persistence (request logging, stats, node registry)
plugins/ Plugin system (protocol, loader, builtins)
ui/
api/ REST API + WebSocket (Starlette)
web/ SPA dashboard (HTML/JS/CSS)
tui/ Terminal UI (Textual) with login screen
command_post/ Multi-instance aggregation dashboard
listeners/ Protocol listeners (HTTP, DNS, MQTT, WebSocket)
backends/ Config generators (Nginx, Caddy, Apache)
models/ Shared types and event models
Vergleich mit RedWarden
| Funktion | RedWarden | InfraGuard |
|---|---|---|
| Architektur | Einzelne ~99-KB-Datei | Modulares Paket |
| Profil-Parsing | Regex-Zustandsmaschine | Strukturierter Parser mit vollständiger Block-/Transform-Unterstützung |
| C2-Unterstützung | Nur Cobalt Strike | Cobalt Strike, Mythic, Brute Ratel C4, Sliver, Havoc, Nighthawk, PoshC2 |
| Profilverwaltung | Manuelle Dateibearbeitung | Dashboard-Assistent mit Generieren, Importieren, Hot-Swap und KI-Unterstützung |
| Protokolle | Nur HTTP | HTTP, DNS, MQTT, WebSocket |
| Filtermodell | Binär bestanden/nicht bestanden | Bewertungsbasiert (Schwellenwert 0.0--1.0), 10-Filter-Kette |
| TLS-Fingerprinting | Keine | JA3-Blockierung (Masscan, ZGrab2, Shodan, curl, Python requests, Nmap) |
| Sandbox-Erkennung | Keine | Headless-Browser / Safe Links / Sandbox-UA- und Header-Bewertung |
| Enumeration-Erkennung | Keine | Pfadenumeration + DNS-NXDOMAIN-Verfolgung mit automatischer Blockierung |
| Burn-Erkennung | Keine | CT-Log-Überwachung, Domain-Reputation, domänenübergreifende Analystenerkennung, Konfidenzbewertung |
| Infrastruktur-Resilienz | Keine | Circuit Breaker, Protokoll-Failover, Dead-Man-Switch, Infrastruktur-Rotation |
| Payload-Zustellung | Keine | PwnDrop, Mythic-Dateispeicher, Dateisystem, HTTP-Proxy mit bedingter Zustellung |
| Payload-Schutz | Keine | Einmal-Tokens, Ratenbegrenzung pro Route, Zustellschutz |
| Phishing-Schutz | Keine | Validierung von Kampagnen-Tokens (statische Liste oder HMAC-signiert) |
| Operator-UI | Keine | Web-Dashboard + Terminal-UI + Multi-Instance-Command-Post |
| Beobachtbarkeit | Keine | Prometheus-Metriken, Engagement-Berichte, strukturierte Protokollierung |
| Konfigurationsgenerierung | Keine | Nginx, Caddy, Apache mit vollständiger Anpassung |
| Regel-Import | Keine | .htaccess- + robots.txt-Parser |
| Threat-Intel-Feeds | Keine | Automatische Aktualisierung aus 5 öffentlichen Quellen |
| Plugin-System | Einfache 4-Methoden-Schnittstelle | Ereignisgesteuert mit on_event-Hooks + Konfiguration pro Plugin |
| SIEM-Integration | Keine | Elasticsearch, Wazuh, Syslog (CEF/JSON) |
| Webhook-Benachrichtigungen | Keine | Discord, Slack, generischer Webhook |
| Whitelist-Intelligenz | Keine | Automatische Anreicherung von CIDRs mit ASN/Organisation/Land beim Start |
| Anti-Replay | SQLite-Hash | Persistente SQLite mit In-Memory-L1-Cache, übersteht Neustarts |
| Drop-Aktionen | redirect, reset, proxy | redirect, reset, proxy, tarpit |
| TLS-Verwaltung | Nur manuell | Automatisch selbstsigniert + Let's-Encrypt-Integration |
| Edge-Bereitstellung | Keine | Cloudflare Worker + AWS-Lambda-Edge-Proxys mit Domain-Fronting |
| Konfigurationssicherheit | Keine | age- und SOPS-Verschlüsselung, Validierungsprüfungen, API-Schlüsselverwaltung |
| Bereitstellung | Manuell | Docker Compose mit Health Checks |
| Async | Tornado-Callbacks | Natives async/await (ASGI + uvicorn) |
Mitwirkende
- Mgeeky - Ursprüngliche Idee (RedWarden)
- curi0usJack - .htaccess-Regeln
- Profile
- threatexpress - jquery-c2.3.14.profile
- InfinityCurve - Havoc-Profil
- C2-Frameworks
- Cobalt Strike - Unterstützung für Malleable-C2-Profile
- Mythic - HTTPX-Profilunterstützung + Datei-Staging
- Brute Ratel C4 - Unterstützung für Server-Config-Profile
- Sliver - Unterstützung für HTTP-C2-Profile
- Havoc - Unterstützung für TOML-Profile
- Nighthawk - Unterstützung für JSON-Listener-Konfiguration
- PoshC2 - Unterstützung für YAML-Konfiguration
Wenn Sie zum Projekt beitragen möchten, erstellen Sie bitte einen neuen Branch mit dem Versionsnamen und geben Sie denselben Versionsnamen im Pull-Request an. z. B. branch=v1.2.3 | [v1.2.3] Added blah item.
Lizenz
BSD-2-Clause-Lizenz. Siehe LICENSE für Details.
Copyright (c) 2026, Whispergate