Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/hassan-pouladi/cisco-fmc-honeypot
SchwachstellenanalyseNetzwerksicherheitMalware-AnalyseBedrohungsanalyseIncident Response
GitHubhassan-pouladi/cisco-fmc-honeypot

Cisco-FMC-honeypot

Ursprünglich ein Honeypot für CVE-2026-20131

Repository anzeigen
1114vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

FMC-Trap

Ein Low-Interaction-Honeypot, der die Web-Oberfläche eines Cisco Secure Firewall Management Centers (FMC) nachahmt und nicht authentifizierten Java-Serialisierungs-ähnlichen Angriffsverkehr (CVE-artige Insecure-Deserialization-Sonden) erfasst.

  • Sicher durch Design: Die Anwendung deserialisiert keine Java-Objekte; sie erkennt \xac\xed\x00\x05 (und Base64 rO0AB…) und extrahiert Shell- oder URL-Strings mittels regulärer Ausdrücke und Heuristiken.
  • Keine Befehlsausführung: URLs der zweiten Stufe werden nur mit Python requests in ein nicht ausführbares Download-Verzeichnis abgerufen.
  • Produktionsorientierter Stack: Docker Compose mit Gunicorn und optionalem Caddy (HTTPS, Let’s Encrypt).

Warum es ausführen?

Einzeilige JSON-Logs (kompatibel mit Splunk und ELK), optionale Telegram-Benachrichtigungen, gehashte Artefakte der zweiten Stufe und ein Nicht-Root-Containerbenutzer. Das Projekt richtet sich an Forscher, die eine gezielte FMC-ähnliche Falle ohne zusätzlichen Integrationscode benötigen.

Voraussetzungen

ElementHinweise
Docker und Docker Compose v2Docker installieren
VPS oder HostEin dediziertes oder isoliertes Netzwerksegment wird empfohlen
Domain (optional)Für HTTPS: DNS konfigurieren und eingehenden TCP 80 und TCP 443 zum Host zulassen

Schnellstart (ca. fünf Minuten)

1. Klonen

git clone https://github.com/Hassan-Pouladi/Cisco-FMC-honeypot
cd FMC-Trap

2. Umgebung konfigurieren

cp .env.example .env

Bearbeiten Sie .env nach Bedarf (siehe Umgebungsvariablen). Für Bereitstellungen hinter dem mitgelieferten Caddy setzen Sie TRUST_X_FORWARDED_FOR=1, damit die Client-IP-Adressen in den Logs den ursprünglichen Client widerspiegeln.

3. Caddy auf Ihre Domain ausrichten

Bearbeiten Sie die Caddyfile: Ersetzen Sie die Platzhalter-Hostnamen durch Ihre Domain (und ggf. www):

example.com, www.example.com {
	reverse_proxy fmc-trap:5000
}

Heben Sie optional den globalen email [email protected]-Block in der Caddyfile auf, um Let's Encrypt-Ablaufhinweise zu erhalten.

4. DNS und Firewall (HTTPS)

  • Erstellen Sie A- (und ggf. AAAA-) Einträge: ihredomain.com → öffentliche IP Ihres Servers und www, falls verwendet.
  • Lassen Sie eingehenden TCP 80 und TCP 443 auf dem Host zu (Cloud-Sicherheitsgruppe und Host-Firewall, z. B. ufw allow 80,443/tcp).

5. Datenverzeichnisse (erforderlich)

Die Anwendung läuft als UID 10001 innerhalb des Containers. Das gebundene Verzeichnis ./data muss beschreibbar sein:

mkdir -p data/logs data/downloads
sudo chown -R 10001:10001 data/logs data/downloads

Ohne korrekte Besitzerrechte können Exploit-POST-Anfragen 500 zurückgeben (Permission denied beim Schreiben von Logs oder Rohdaten).

6. Starten

docker compose up -d --build

7. Überprüfen

docker compose ps
curl -sI https://ihredomain.com/

Erwarten Sie HTTP/2 200 (oder 301 oder 302) und Via: Caddy. Im Browser sollte https://ihredomain.com/ die simulierte FMC-Anmeldeseite anzeigen.

Informationen zum Lesen von Ereignissen, Payloads und Docker-Ausgaben finden Sie unter Logs, Downloads und Service-Ausgabe finden und Häufige Vorgänge.

Logs, Downloads und Service-Ausgabe finden

Nachfolgendes bezieht sich auf Ihr Projektverzeichnis (den Ordner, der docker-compose.yml enthält, normalerweise FMC-Trap nach dem Klonen). Pfade beziehen sich auf den Host; Docker mountet sie per Bind in den Container.

WasHost-PfadÖffnen oder verfolgen
Ereignis-Log (JSON-Zeilen)data/logs/fmc-trap.jsontail -f data/logs/fmc-trap.json (Live-Stream), oder in einem Editor öffnen, oder in Splunk oder ELK aufnehmen
Heruntergeladene Payloads der zweiten Stufedata/downloads/Dateien erscheinen nur, wenn der Harvester eine entfernte Antwort speichert; jede Datei ist mit ihrem SHA256-Hash benannt (64 hexadezimale Zeichen), ohne Erweiterung. Auflisten mit ls -la data/downloads (Linux/macOS) oder Get-ChildItem data\downloads (Windows PowerShell)
Anwendungsprozess-AusgabeKeine Datei; Dockerdocker compose logs -f fmc-trap
Caddy (TLS, Proxy, ACME)Keine Datei; Dockerdocker compose logs -f caddy
Telegram-Benachrichtigungen (optional)Nicht in data/ gespeichertSetzen Sie TELEGRAM_BOT_TOKEN und TELEGRAM_CHAT_ID in .env; Benachrichtigungen werden bei Ereignis-Logs ausgelöst

Wenn etwas in der Log-Datei erscheint: fmc-trap.json erhält ein JSON-Objekt pro Zeile, wenn eine Anfrage Deserialisierungs-Sondenverhalten (Magic-Bytes in einem POST) entspricht. Normale GET-Anfragen an die gefälschte Anmeldeseite werden standardmäßig nicht in diese Datei geschrieben.

Wenn der Download-Ordner Dateien enthält: Einträge erscheinen nur, wenn die Pipeline eine URL aus einer Sonde extrahiert und der Harvester erfolgreich erlaubte entfernte Inhalte innerhalb von MAX_DOWNLOAD_MB abruft. Bleibt das Verzeichnis leer, liegen möglicherweise noch keine qualifizierenden URLs vor, oder Abrufe werden durch die Anwendungsrichtlinie blockiert.

JSON hübsch ausgeben (optional): Leiten Sie eine einzelne Zeile durch python -m json.tool oder verwenden Sie jq, falls installiert.

Häufige Vorgänge

ZielBefehl oder Aktion
Prüfen, ob Container laufendocker compose ps
Neustart nach Bearbeitung von .env oder Caddyfiledocker compose up -d --build (oder docker compose up -d --force-recreate, wenn nur env geändert)
Stack anhaltendocker compose down
Neue JSON-Ereignisse kontinuierlich verfolgentail -f data/logs/fmc-trap.json
Letzte Ereignisse anzeigentail -n 50 data/logs/fmc-trap.json
Heruntergeladene Artefakte zählenÖffnen Sie data/downloads im Dateimanager, oder verwenden Sie einen Shell-Dateizähler für dieses Verzeichnis (Dateien sind nach SHA256 benannt)
Sicherstellen, dass die Honeypot-Seite lädtÖffnen Sie https://ihredomain.com/ in einem Browser oder verwenden Sie curl -sI wie im Überprüfungsschritt

Architektur

Internet :443/:80 → Caddy (TLS, Let’s Encrypt) → fmc-trap:5000 (Gunicorn/Flask)
                              ↓
                    ./data/logs, ./data/downloads (Bind-Mounts)
  • Nur Caddy veröffentlicht 80 und 443 auf dem Host; der Anwendungscontainer ist nicht direkt exponiert (siehe expose: "5000" in Compose).
  • Caddy verwendet öffentliche DNS-Resolver (1.1.1.1, 8.8.8.8) im Container, damit Let's Encrypt auf Hosts erfolgreich ist, bei denen der VPS-Resolver von Docker aus nicht erreichbar ist (eine häufige Einschränkung bei einigen Cloud-Anbietern).

Umgebungsvariablen

VariableZweckStandard / Hinweis
TRUST_X_FORWARDED_FORDen ersten X-Forwarded-For-Hop als src_ip verwenden1 wird mit Caddy empfohlen
DECEPTION_STATUS200 gibt einen HTML-Body zurück; 302 gibt eine Weiterleitung zurück200
DECEPTION_REDIRECT_URLZielpfad bei Status 302/
MAX_DOWNLOAD_MBHarvester-Limit pro URL16
TELEGRAM_BOT_TOKEN / TELEGRAM_CHAT_IDOptionale BenachrichtigungenLeer deaktiviert Benachrichtigungen
FMC_SERVER_HEADERServer-Antwort-Headernginx
VT_API_KEYReserviertOptional

Compose übergibt diese Variablen an den Dienst fmc-trap; Einzelheiten finden Sie in docker-compose.yml.

JSON-Log-Felder (Referenz)

Tool herunterladen