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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
plex2scan — Encuentra servidores de Plex Media Server afectados por Plex2Shell (CVE-2026-96652 y tres más) | Kitploit
Herramientas/GitHubGitHub/akaihigurashi/plex2scan
Herramientas DefensivasReconocimientoEscáneres de VulnerabilidadesMapeo de RedesEscaneo de PuertosEnumeración de DNS y SubdominiosRecopilación de InformaciónSeguridad Web
GitHubakaihigurashi/plex2scan

plex2scan

Encuentra servidores de Plex Media Server afectados por Plex2Shell (CVE-2026-96652 y tres más)

Ver Repositorio
50hace 8 díasAú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 →
Sitio web
Compartir

plex2scan

Encuentra servidores de Plex Media Server afectados por Plex2Shell, la cadena de cuatro fallos (CVE-2026-96652, CVE-2026-96654, CVE-2026-96655, CVE-2026-96656) que permite a los atacantes tomar el control de un Plex Media Server anterior a 1.43.3.10861 sin iniciar sesión. Forma parte de shouldipanic.ch.

Plex2Shell ha sido explotado desde el 17 de octubre de 2026 (criptomineros, proxies) y está en la lista de vulnerabilidades explotadas conocidas de CISA. Todo Plex Media Server anterior a 1.43.3.10861 que sea accesible desde internet está en riesgo.

plex2scan se presenta en dos formas:

  • plex2scan.py: un único archivo Python sin dependencias para comprobar tus propios servidores: rangos de IP, escaneo de puertos incluyendo el puerto 32400 de Plex, descubrimiento de vhosts y la comprobación de la versión de Plex.
  • Una página web (imagen Docker) donde cualquiera puede comprobar un servidor, con protección contra abusos. Se ejecuta en plex2scan.shouldipanic.ch.

Resultado para un Plex Media Server 1.42.2 en el puerto 32400

Cómo encuentra la versión

Todo Plex Media Server responde a GET /identity sin iniciar sesión y comunica su versión ahí. plex2scan carga la página de inicio (para reconocer Plex por su cabecera X-Plex-Protocol o por la página de Plex Web) y consulta /identity una vez. No se envía nada más: ni inicio de sesión, ni exploit.

Línea de comandos

curl -LO https://github.com/akaihigurashi/plex2scan/releases/latest/download/plex2scan.py
python3 plex2scan.py 203.0.113.0/24

Python 3.8 o superior, no hay nada que instalar. Ejemplos:

python3 plex2scan.py 203.0.113.10                     # 21 ports incl. 32400 + every vhost on the IP
python3 plex2scan.py 203.0.113.10:32400               # only Plex's own port
python3 plex2scan.py plex.example.ch                  # a Plex behind a reverse proxy
python3 plex2scan.py 203.0.113.0/24 --names domains.txt    # + hostnames from your own data
python3 plex2scan.py 203.0.113.10 -p all -o out.csv   # all 65535 ports, CSV output
python3 plex2scan.py -h                               # all options
EstadoSignificado
VULNERABLEPlex Media Server anterior a 1.43.3.10861
POSSIBLY VULNERABLEPlex Media Server encontrado, versión oculta
PATCHEDPlex Media Server 1.43.3.10861 o posterior
NOT DETECTEDNingún Plex Media Server visible

Los resultados se listan de peor a mejor, con una breve razón. Los resultados ocultos (puertos cerrados, errores, vhosts que solo muestran el sitio por defecto) aparecen con -a, la evidencia con -v.

OpciónQué hace
-p LISTPuertos: web (20 puertos comunes + 32400, por defecto), all, o 80,443,32400
-nSin escaneo de puertos, solo 443 y 80
--names FILETu propia lista de nombres de host, comprobada como vhosts
--no-vhostsNo buscar otros sitios web en la misma IP
-a / -vMostrar resultados ocultos / mostrar la evidencia
-o FILEEscribir también todos los resultados en CSV
-dDepuración: cada petición, cabecera y coincidencia
-qSin banner (para scripts)
-VMostrar la versión
-hTodas las opciones

Si un servidor es vulnerable

  1. Actualiza Plex Media Server a 1.43.3.10861 o posterior. Windows de 32 bits no recibe corrección (última versión 1.42.2.10156): cambia a 64 bits.
  2. Si nadie ve desde fuera, desactiva el Acceso remoto y elimina el reenvío de puertos para 32400 (comprueba también UPnP).
  3. Busca indicios de un ataque: procesos desconocidos como myawesomeproxy, mylovelyminer o x12345, archivos .so/.dll desconocidos en la carpeta Codecs de Plex, conexiones a proxystream.st, carga alta de CPU mientras no se reproduce nada. Actualizar no elimina a un atacante que ya está dentro.

Claves de API para más fuentes de DNS pasivo

AlienVault OTX y HackerTarget funcionan sin claves. VirusTotal, Shodan y SecurityTrails necesitan una clave de API, leída de variables de entorno:

VariableFuente
PANIC_VT_KEYDNS pasivo de VirusTotal
PANIC_SHODAN_KEYNombres de host de Shodan
PANIC_SECURITYTRAILS_KEYIP inversa de SecurityTrails

Guárdalas en un archivo .env que solo tú puedas leer, y cárgalo solo para el escaneo:

( set -a; . ./.env; set +a; python3 plex2scan.py 203.0.113.10 )

--vt-key, --shodan-key y --securitytrails-key también funcionan, pero los argumentos de línea de comandos son visibles para otros usuarios locales (ps) y terminan en el historial de tu shell. Los valores de las claves se enmascaran en los mensajes de error. (Gracias a Jonas Hüsser por esto.)

Página web con Docker

docker run -d --name plex2scan --restart unless-stopped \
  -p 127.0.0.1:8091:8091 \
  -e PANIC_ORIGIN=https://plex2scan.example.ch \
  -v plex2scan-data:/data \
  ghcr.io/akaihigurashi/plex2scan:latest

O con Compose: descarga docker-compose.yml, establece PANIC_ORIGIN, y luego docker compose up -d. El contenedor escucha solo en localhost; coloca un proxy inverso con TLS delante de él (ejemplo de nginx).

VariablePredeterminadoPropósito
PANIC_ORIGIN–Dirección pública. Las solicitudes de otros orígenes se rechazan. Establécelo.
PANIC_OPERATOR / PANIC_CONTACT–Sección de contacto opcional al pie de la página
PANIC_IMPRINT_URL–Enlace opcional a un aviso legal existente
PANIC_TRUSTED_PROXY127.0.0.1,::1Proxies cuya cabecera X-Real-IP es de confianza
PANIC_DENY_HOSTS / PANIC_DENY_IPS–Nunca comprobar estos dominios / direcciones
PANIC_AUDIT_DIR/data/auditArchivos de registro de auditoría diarios
PANIC_RETENTION_DAYS30Los archivos de auditoría más antiguos que esto se eliminan

La página tiene las mismas protecciones que php2scan: casilla de consentimiento, registro de auditoría, clientes de VPN/Tor/centros de datos rechazados, límite de tasa, caché de resultados, solo nombres de host públicos con la conexión fijada a la dirección comprobada, sitios web que nunca se comprueban (servicios conocidos, los 100 sitios más visitados, sitios gubernamentales, países sancionados), y sin acceso desde países sancionados. Además del sitio web en sí (443, luego 80), la página solo examina el puerto 32400, y solo si está abierto.

Cómo está construido

El motor del escáner (obtención, fingerprinting, escaneo de puertos, descubrimiento de vhosts, servidor web) reside en panic-core. Todo lo específico de Plex2Shell está en check.py. plex2scan.py y web.py se generan a partir de ambos:

git clone https://github.com/akaihigurashi/panic-core ../panic-core
python3 ../panic-core/bundle.py check.py

Licencia

Descargar herramienta