
Comprobación de solo lectura en Linux para la explotación de Plex2Shell (CVE-2026-96652/-96654/-96655/-96656) y las cargas útiles de XMRig/proxy observadas en estado salvaje
Comprobación de compromiso de solo lectura para Plex2Shell (CVE-2026-96652, -96654, -96655, -96656), la cadena de RCE no autenticada en Plex Media Server anterior a 1.43.3.10861 que ha sido explotada en la naturaleza desde el 2026-10-17 para desplegar un minero XMRig y una herramienta de proxy residencial.
curl -fsSLO https://raw.githubusercontent.com/ChrisLPJones/plex2shell-check/main/plex2shell-check.sh
less plex2shell-check.sh # read it before running anything as root
sudo bash plex2shell-check.sh -o plex2shell-report.txt
Código de salida: 0 limpio, 1 advertencias a revisar, 2 indicadores de compromiso encontrados. No se modifica nada en el sistema.
/identity.dump-yuv dejado en TranscoderH264Options en Preferences.xml, bibliotecas zz<hex>.so plantadas en Codecs/, y archivos de códec con la cola uniforme rellenada que deja una escritura de dump-yuv.mylovelyminer*, myawesomeproxy, x12345, xmrig, binarios eliminados ejecutándose como el usuario de Plex, procesos hijos del transcoder que no son de Plex, reverse shells y bibliotecas de Codecs eliminadas aún mapeadas en memoria. Los binarios sospechosos se someten a hash mediante /proc/<pid>/exe y se comparan con hashes IOC conocidos./tmp, /var/tmp, /dev/shm, los directorios de trabajo de Plex y el directorio de datos de Plex.Plex se descubre de forma nativa, como snap, en Docker y en cualquier contenedor en ejecución a través de /proc/<pid>/root. Por lo tanto, ejecutarlo una vez en un host Proxmox también cubre Plex dentro de contenedores LXC en ejecución. Para una VM, un contenedor detenido o una ruta personalizada, ejecútalo dentro del invitado o pasa -d "/path/to/Plex Media Server".
Opciones: -d DIR (directorio de datos adicional, repetible), -s DATE (marcar ejecutables más recientes que esta fecha, por defecto 2026-10-15), -y RULES.yar (ejecutar también reglas YARA, por ejemplo las del investigador), -o FILE (guardar el informe).
Logs/, Preferences.xml y los archivos marcados a un lugar seguro..so plantados (o todo el directorio Codecs/, que Plex vuelve a descargar) y elimina TranscoderH264Options de Preferences.xml.| Tipo | Valor |
|---|---|
| IPs de explotación | 45.194.92.222, 91.92.40.202, 176.65.139.228 |
| Hosts de payload | 217.60.194.116, 77.90.185.205 (/m/sh, /m/xmrig, /p/i686) |
| Pool de minería | ota.proxystream.st:3333, --rig-id plex |
| Archivos y procesos | /tmp/mylovelyminer<pid> (eliminado tras el inicio), myawesomeproxy, x12345, /tmp/xsetup.lock, Codecs/*/zz<hex>.so |
| SHA-256 | ver IOC_SHA256 en el script |
PMS solo conserva unas pocas rotaciones de logs, y los atacantes pueden cambiar nombres, IPs y rutas. El script solo cubre Linux.
Lógica de detección adaptada de code-zm/plex2shell de Zach Main (write-up). Los IOC en la naturaleza provienen de BoredHackerBlog y sus pcaps.
Licencia GPL-3.0, la misma licencia que el contenido de detección que adapta.