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
CVE-2025-59712_CVE-2025-59713 — Exploit PoC de Snipe-IT para CVE-2025-59712 y CVE-2025-59713 | Kitploit
Herramientas/GitHubGitHub/synacktiv/cve-2025-59712_cve-2025-59713
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed TeamingDesarrollo de Payloads
GitHubsynacktiv/cve-2025-59712_cve-2025-59713

CVE-2025-59712_CVE-2025-59713

Exploit PoC de Snipe-IT para CVE-2025-59712 y CVE-2025-59713

Ver Repositorio
2348hace 0 añosAú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

PoC para CVE-2025-59712 y CVE-2025-59713

Este PoC proporciona un script automatizado para explotar CVE-2025-59712 (XSS en la cabecera User-Agent) y CVE-2025-59713 (deserialización insegura).

Contexto

Estas dos vulnerabilidades fueron descubiertas por Synacktiv durante la investigación de vulnerabilidades en el software Snipe-IT. Snipe-IT es un sistema de gestión de activos de código abierto basado en Laravel y diseñado para ayudar a las organizaciones a rastrear y gestionar sus activos físicos y digitales.

Un informe técnico se puede encontrar en el aviso de seguridad dedicado en el sitio web de Synacktiv.

Modos

Este script proporciona tres subcomandos, correspondientes a los modos de explotación: xss, rce y fullchain.

XSS

Este subcomando explota CVE-2025-59712, que permite a un usuario de bajos privilegios inyectar JavaScript arbitrario en la página HTML renderizada al llamar a la ruta /reports/activity. Esto solo puede ser realizado por un usuario administrador, o por un usuario que tenga permisos explícitos de visualización de informes. La inyección es posible debido a una sanitización incorrecta del campo User-Agent cuando un usuario actualiza la información de su perfil.

Para ello, primero iniciará sesión como el usuario de bajos privilegios y, a continuación, inyectará el código JavaScript definido en el archivo proporcionado mediante el flag --javascript.

$ python3 exploit.py xss --help

 Usage: exploit.py xss [OPTIONS]

 Execute XSS attack only with custom JavaScript payload

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --url         -u       TEXT                    Target Snipe-IT URL [required]                                                                                                             │
│ *  --login       -l       TEXT                    Low-privileged username [required]                                                                                                         │
│ *  --password    -p       TEXT                    Low-privileged password [required]                                                                                                         │
│ *  --new-name    -n       TEXT                    New name for low-privileged user [required]                                                                                                │
│ *  --javascript  -js      TEXT                    Path to custom JavaScript file [required]                                                                                                  │
│    --proxy       -x       TEXT                    HTTP proxy (http://ip:port)                                                                                                                │
│    --verbose     -v       [quiet|normal|verbose]  Logging verbosity [default: normal]                                                                                                        │
│    --help                                         Show this message and exit.                                                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

[!IMPORTANT]
Durante la investigación de seguridad, las pruebas se llevaron a cabo en una versión de Snipe-IT que, por defecto, mostraba el campo User-Agent en el que se inyecta el JavaScript malicioso. Desde el commit 10e5d88, la propiedad User-Agent no se muestra por defecto cuando se renderiza la tabla de registro de acciones. Por lo tanto, el administrador que vaya a desencadenar el XSS debe haber marcado la casilla User-Agent en las opciones de vista para las versiones de Snipe-IT posteriores a este commit.

RCE

Este subcomando explota CVE-2025-59713, que permite la ejecución remota de código cuando se conocen las credenciales de un usuario administrador o superadministrador. Para ello, se realizan los siguientes pasos:

  1. Se activa una copia de seguridad de la instancia de Snipe-IT.
  2. La copia de seguridad generada se descarga, se edita en memoria y se vuelve a subir a Snipe-IT. La edición de la copia de seguridad incluye sentencias SQL adicionales en el archivo db-dumps/mysql-snipeit.sql, que crea un nuevo campo personalizado y edita el último registro de acciones con un objeto JSON que contiene la cadena pop de Laravel al restaurarse.

[!TIP] Por defecto, Snipe-IT incluye el archivo .env en la copia de seguridad. Si el script lo detecta, se muestra el valor de APP_KEY y el archivo .env se guarda en el directorio ./output (se puede especificar una ubicación personalizada para ese archivo con --output-dir).

  1. Se activa una restauración desde la copia de seguridad editada, que ejecutará las sentencias SQL añadidas.

[!CAUTION] Restaurar una copia de seguridad desconecta a todos los usuarios conectados a la instancia.

  1. Una vez completada la restauración, se llama a la ruta /api/v1/reports/activity, lo que desencadena la deserialización y ejecuta la cadena pop de Laravel.
$ python3 exploit.py rce --help

 Usage: exploit.py rce [OPTIONS]

 Execute RCE attack only (requires existing admin account)

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --url         -u       TEXT                    Target Snipe-IT URL [required]                                                                                                             │
│ *  --admin-user  -au      TEXT                    Admin username [required]                                                                                                                  │
│ *  --admin-pass  -ap      TEXT                    Admin password [required]                                                                                                                  │
│    --output-dir  -od      PATH                    Output dir for .env file [default: /home/ninja/Téléchargements/snipe-it-advisory/exploit/output]                                           │
│    --shell-ip    -si      TEXT                    Reverse shell IP address                                                                                                                   │
│    --shell-port  -sp      INTEGER                 Reverse shell port                                                                                                                         │
│    --command     -c       TEXT                    Custom command (overrides reverse shell)                                                                                                   │
│    --proxy       -x       TEXT                    HTTP proxy (http://ip:port)                                                                                                                │
│    --verbose     -v       [quiet|normal|verbose]  Logging verbosity [default: normal]                                                                                                        │
│    --help                                         Show this message and exit.                                                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Fullchain

Descargar herramienta