Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
livewire-honeypot — Hochinteraktiver Honeypot, der eine verwundbare Laravel/Livewire-App nachahmt. Erfasst RCE-Exploits und Webshells, die auf CVE-2024-47823, CVE-2025-54068 und CVE-2025-14894 abzielen, und analysiert sie anschließend in isolierten Docker-Containern, um IOCs zu extrahieren. | Kitploit
Tools/GitHubGitHub/helgesverre/livewire-honeypot
Management von Indicators of Compromise (IOC)Dynamische Analyse (Sandboxing)SchwachstellenanalyseExploitationWebsicherheitMalware-AnalyseCommand and ControlBedrohungsanalyseIncident Response

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHubhelgesverre/livewire-honeypot

livewire-honeypot

Hochinteraktiver Honeypot, der eine verwundbare Laravel/Livewire-App nachahmt. Erfasst RCE-Exploits und Webshells, die auf CVE-2024-47823, CVE-2025-54068 und CVE-2025-14894 abzielen, und analysiert sie anschließend in isolierten Docker-Containern, um IOCs zu extrahieren.

Repository anzeigen
67vor 3 MonatenNoch nicht geprüft
Teilen

Livewire Honeypot

Honeypot Python 3.11+ FastAPI License

Livewire Honeypot

Ein High-Interaction-Honeypot, der sich als verwundbare Laravel/Livewire-Anwendung ausgibt. Er erfasst Exploit-Versuche, die auf bekannte Livewire-CVEs abzielen, speichert hochgeladene Schaddateien (Webshells) und Remote-Code-Execution-Payloads (RCE) mit SHA-256-Deduplizierung und führt sie optional in einem gesandboxten Docker-Container aus, um Indicators of Compromise (IOCs) zu extrahieren – URLs, IPs und Domains, mit denen die Malware Kontakt aufzunehmen versucht.

Das System läuft aus Sicherheitsgründen als zwei getrennte Prozesse: ein Webserver, der Payloads erfasst (kein Docker-Zugriff), und ein Sandbox-Worker, der sie in isolierten Containern analysiert.

So funktioniert es

root@kitploit:~
Attacker → Nginx → FastAPI → SQLite ← Sandbox Worker (Docker)
                   (capture)            (polls jobs, writes IOCs)
  1. Fassade – Stellt realistische Laravel-Anmelde-/Registrierungsseiten mit Livewire-wire:-Attributen, XSRF-Tokens und X-Powered-By: PHP/8.3.12-Headern bereit. Automatisierte Scanner sehen, was wie eine echte verwundbare App aussieht.

  2. Erfassung – Jede HTTP-Anfrage wird von einer ASGI-Middleware-Schicht transparent in SQLite protokolliert (IP, Header, Body-Hash, Zeitstempel), bevor irgendein Routing stattfindet.

  3. Fallen – Livewire-Endpunkte akzeptieren Datei-Uploads und Komponentennachrichten genau wie das echte Framework. Payloads werden klassifiziert (PHP-Code, serialisierte Objekte, Shell-Befehle) und mit SHA-256-Deduplizierung gespeichert. Jeder interessante Payload erzeugt einen dauerhaften Auftrag in der sandbox_jobs-Warteschlange.

  4. Sandbox – Ein separater Worker-Prozess fragt nach anstehenden Aufträgen und führt jeden Payload in einem ephemeren Docker-Container aus (nur lesbares Dateisystem, kein Netzwerk, cap_drop=ALL). Ein LD_PRELOAD-Shim fängt libc-Netzwerkaufrufe ab, um C2-Kommunikationsversuche (Command-and-Control) zu protokollieren. Der Analyzer extrahiert IOCs und bewertet potenzielle C2-Endpunkte mithilfe von Heuristiken.

Ziel-CVEs

CVECVSSZusammenfassungFallen-Endpunkt
CVE-2024-478239.8 KritischLivewire-Datei-Upload-RCE durch MIME-Typ-Umgehung. Dateierweiterungen werden anhand des MIME-Typs erraten statt anhand des Dateinamens validiert, wodurch als Bilder getarnte .php-Uploads möglich sind. Betrifft Livewire < 2.12.7 und < 3.5.2.POST /livewire/upload-file
CVE-2025-540689.2 KritischLivewire-Prop-Hydration-RCE. Der Hydrationsprozess bereinigt Objekttypen bei Komponenteneigenschafts-Updates nicht, sodass injizierte Payloads serverseitig ausgeführt werden können. Betrifft Livewire 3.0.0-beta.1 bis 3.6.3.POST /livewire/message
CVE-2025-14894KritischUnbeschränkter Upload-RCE im Livewire-Dateimanager. Fehlende Dateityp- und MIME-Validierung ermöglicht den nicht authentifizierten Upload ausführbarer PHP-Dateien.POST /livewire/upload-file

Eine *.php-Catch-all-Falle erfasst auch Post-Exploitation-Sondierungen nach gängigen Webshell-Dateinamen (z. B. accesson.php, wp-login.php, admin.php).

Schnellstart

Voraussetzungen: Python 3.11+ und uv.

root@kitploit:~
git clone https://github.com/HelgeSverre/livewire-honeypot.git
cd livewire-honeypot

# Install dependencies
uv sync

# Start the web server (capture-only, no Docker needed)
DATA_DIR=./data uv run uvicorn honeypot.main:app --reload --port 8000

# In a second terminal — start the sandbox worker (requires Docker)
DATA_DIR=./data uv run python -m honeypot.worker

# Run tests
uv run pytest tests/ -v

Der Webserver funktioniert eigenständig – er erfasst und speichert alles, auch wenn der Sandbox-Worker nicht läuft. Starten Sie den Worker, wenn Sie eine automatisierte Payload-Analyse wünschen.

Hinweis: Das Verzeichnis src/ ist über pyproject.toml (src-layout) im Python-Pfad, sodass honeypot.main:app auf src/honeypot/main.py abgebildet wird.

Bereitstellung

Schnellstart: DigitalOcean (oder jede Ubuntu-24.04-VPS)

Sie benötigen:

  • Ein DigitalOcean-Konto (oder einen beliebigen Anbieter, der Ihnen Root-Zugriff auf Ubuntu 24.04 gewährt).
  • Eine Domain, die Sie kontrollieren. TLS lässt die Falle für Scanner echt aussehen, und sobald certbot ein Zertifikat ausstellt, landet Ihr Hostname in den Certificate-Transparency-Logs – genau das nutzen Shodan, Censys und die meisten Massen-Exploit-Kits, um innerhalb von Stunden neue Ziele zu entdecken.

Die vollständige Bereitstellung ist ein einziger Befehl, sobald die VPS existiert. Das Skript übernimmt jeden Schritt von „nacktem Droplet“ bis „Dienst läuft mit TLS“ – apt-Pakete, Benutzer und Gruppen, Python-venv, Sandbox-Image, nginx, certbot und Firewall-Regeln.

root@kitploit:~
# 1. Provision a $6/mo droplet (Ubuntu 24.04, 1 GB RAM is enough).
#    On DigitalOcean:
doctl compute droplet create veritron-honeypot \
    --size s-1vcpu-1gb \
    --image ubuntu-24-04-x64 \
    --region fra1 \
    --ssh-keys "$(doctl compute ssh-key list --format ID --no-header | head -1)" \
    --wait

# 2. Point your domain's A record at the droplet IP.
#    Wait for DNS to resolve before continuing.
dig +short your-domain.example   # should return the droplet IP

# 3. Copy the project onto the droplet.
rsync -az --exclude='.git' --exclude='.venv' --exclude='data' \
    ./ root@<droplet-ip>:/opt/honeypot/

# 4. Run the bootstrap script. Passing your domain enables TLS via certbot.
ssh root@<droplet-ip> 'cd /opt/honeypot && [email protected] \
    bash deploy/setup.sh your-domain.example'

Das war's. Der Honeypot liefert jetzt eine gefälschte Laravel/Livewire-Anmeldeseite über HTTPS aus, erfasst jede Anfrage in SQLite und ist bereit, Payloads in der Docker-Sandbox zu analysieren.

Was das Bootstrap-Skript tut

deploy/setup.sh ist idempotent – eine erneute Ausführung ist sicher. Der Reihe nach:

  1. Wartet, bis cloud-init / unattended-upgrades die dpkg-Sperre freigeben (frische DO-Droplets halten sie 1–3 Minuten nach dem Booten).
  2. Installiert nginx, certbot, docker.io, System-Python 3.12, sqlite3.
  3. Installiert uv (Astral) unter /root/.local/bin.
  4. Erstellt die Dienstbenutzer honeypot (Web) und sandbox (Worker) sowie die gemeinsame Gruppe honeypot-data.
  5. Führt uv sync --python /usr/bin/python3.12 aus. Wir verwenden bewusst das apt-installierte Python anstelle des gebündelten Interpreters von uv – uvs Python liegt in /root/.local/share/uv/, auf das ein unprivilegierter Dienstbenutzer nicht zugreifen kann, und man erhält ein verwirrendes status=203/EXEC von systemd, wenn man uv den Interpreter auswählen lässt.
  6. Erstellt /var/honeypot/ mit Setgid-Bit und gemeinsamem Gruppenbesitz, sodass beide Dienste die Schreibvorgänge des jeweils anderen lesen können.
  7. Installiert die systemd-Unit-Dateien und schreibt das ExecStart des Workers so um, dass der systemweite Docker-Daemon verwendet wird (die mitgelieferte Unit setzt Rootless Docker voraus, das schwieriger einzurichten ist).
  8. Baut das Sandbox-Container-Image (docker build -t honeypot-sandbox sandbox/).
  9. Schreibt die nginx-Site-Konfiguration und legt die Direktive limit_req_zone in /etc/nginx/conf.d/ ab (sie muss im Block http {} stehen, nicht in server {}).
  10. Öffnet 22/80/443 in ufw.
  11. Startet beide Dienste und führt certbot --nginx aus, wenn eine Domain übergeben wurde.

Manuelle Einrichtung

Wenn Sie jeden Schritt selbst ausführen möchten, anstatt setup.sh auszuführen, finden Sie die entsprechende Shell-Historie in deploy/setup.sh als kommentierte Phasen.

Service-Architektur

DienstBenutzerZweckDocker-Zugriff
honeypot.servicehoneypotWebserver – erfasst Anfragen und PayloadsNein
honeypot-worker.servicesandboxSandbox-Worker – analysiert Payloads in DockerJa

Beide Dienste teilen sich /var/honeypot/ für die SQLite-Datenbank und die Payload-Speicherung. Der Webprozess hat keinen Zugriff auf den Docker-Socket. Selbst wenn er durch Angreifer-Traffic kompromittiert wird, kann er auf dem Host keine Container erstellen.

Betrieb

root@kitploit:~
# View logs
journalctl -u honeypot -f
journalctl -u honeypot-worker -f

# Restart services
systemctl restart honeypot honeypot-worker

# Upgrade
cd /opt/honeypot && git pull && uv sync
docker build -t honeypot-sandbox sandbox/
systemctl restart honeypot honeypot-worker

Konfiguration

Alle Einstellungen werden über Umgebungsvariablen gesteuert (in den systemd-Unit-Dateien gesetzt oder vor der Ausführung exportiert):

VariableStandardBeschreibung
DATA_DIR/var/honeypotBasisverzeichnis für alle Daten
DB_PATH$DATA_DIR/captures.dbPfad zur SQLite-Datenbank
SANDBOX_TIMEOUT60Maximale Sekunden pro Sandbox-Lauf
SANDBOX_MEMORY128mSpeicherlimit des Containers
SANDBOX_CPUS0.5CPU-Limit des Containers
SANDBOX_MAX_CONCURRENT3Maximale gleichzeitige Sandbox-Container
SANDBOX_IMAGEhoneypot-sandboxDocker-Image für die Sandbox
WORKER_POLL_INTERVAL2.0Sekunden zwischen Auftragsabfragen

Erfasste Daten abfragen

Alle Daten liegen in einer einzigen SQLite-Datenbank (Standard: /var/honeypot/captures.db).

root@kitploit:~
# Recent requests
sqlite3 /var/honeypot/captures.db \
  "SELECT timestamp, source_ip, method, path, matched_trap
   FROM requests ORDER BY id DESC LIMIT 20;"

# Unique payloads by frequency
sqlite3 /var/honeypot/captures.db \
  "SELECT sha256, filename, payload_type, times_seen, sandbox_status
   FROM payloads ORDER BY times_seen DESC;"

# Top attacker IPs
sqlite3 /var/honeypot/captures.db \
  "SELECT ip, total_requests, first_seen, last_seen
   FROM attackers ORDER BY total_requests DESC LIMIT 10;"

# Sandbox results with extracted IOCs (JSON)
sqlite3 /var/honeypot/captures.db \
  "SELECT payload_id, exit_code, duration_seconds, c2_urls_found, iocs
   FROM sandbox_runs ORDER BY id DESC LIMIT 5;"

# Pending sandbox jobs
sqlite3 /var/honeypot/captures.db \
  "SELECT id, payload_sha256, status, created_at
   FROM sandbox_jobs ORDER BY id DESC LIMIT 10;"

IOC-Daten in sandbox_runs.iocs werden als JSON mit den Schlüsseln domains, ips, emails, urls, hashes gespeichert. Extrahieren Sie sie nach Bedarf und speisen Sie sie in Ihre Threat-Intelligence-Plattform (MISP, OpenCTI usw.) ein.

Projektstruktur

root@kitploit:~
src/honeypot/
  main.py              # FastAPI web app (capture-only, no Docker)
  worker.py            # Standalone sandbox worker (polls SQLite, needs Docker)
  config.py            # Settings from environment variables
  capture/
    database.py        # Async SQLite — requests, payloads, sandbox_jobs queue
    logger.py          # ASGI middleware — logs every request
    payloads.py        # SHA-256 dedup storage + payload classification
  facade/
    routes.py          # Laravel-fingerprinted pages (login, register, etc.)
    templates/         # Jinja2 HTML with Livewire wire: attributes
    static/            # Fake livewire.js (v3.5.1 fingerprint)
  traps/
    livewire.py        # POST /livewire/message, /upload-file, /preview-file
    php_catchall.py    # Catch-all for *.php probing
  sandbox/
    orchestrator.py    # Docker container lifecycle + hardening
    analyzer.py        # Artifact parsing + IOC extraction + C2 scoring
deploy/
  nginx.conf           # Reverse-proxy with rate limiting
  honeypot.service     # systemd unit (web)
  honeypot-worker.service  # systemd unit (sandbox worker)
  setup.sh             # VPS bootstrap script
sandbox/
  Dockerfile           # Sandbox container image (PHP 8.3 + attacker tools)
  entrypoint.sh        # Container entry-point with LD_PRELOAD network shim

Haftungsausschluss

Dies ist ein Forschungswerkzeug zum Sammeln von Malware-Proben und zur Beobachtung des Angreiferverhaltens auf Infrastruktur, die Sie besitzen. Es ist kein Produktiv-Sicherheitsprodukt. Setzen Sie es nur auf Systemen ein, die Sie kontrollieren, und beachten Sie, dass das Erfassen und Ausführen von Angreifer-Payloads in Ihrer Rechtsordnung rechtliche Konsequenzen haben kann. Die SQLite-Datenbank und die Payload-Dateien wachsen unbegrenzt – überwachen Sie die Speichernutzung und implementieren Sie bei Bedarf Aufbewahrungsrichtlinien.

Mitwirken

Issues und Pull-Requests sind willkommen.

Lizenz

MIT

Tool herunterladen