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
exploit-CVE-2016-9920 — Roundcube 1.0.0 <= 1.2.2 Exploit de Ejecución Remota de Código y contenedor vulnerable | Kitploit
Herramientas/GitHubGitHub/t0kx/exploit-cve-2016-9920
Seguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónLabs y Práctica
GitHubt0kx/exploit-cve-2016-9920

exploit-CVE-2016-9920

Roundcube 1.0.0 <= 1.2.2 Exploit de Ejecución Remota de Código y contenedor vulnerable

Ver Repositorio
4821hace 2 añosRevisado por Kitploit

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

Roundcube 1.0.0 <= 1.2.2 Ejecución Remota de Código

Roundcube es un software de webmail de código abierto ampliamente distribuido utilizado por muchas organizaciones y empresas en todo el mundo. El espejo en SourceForge, por ejemplo, cuenta con más de 260,000 descargas en los últimos 12 meses, lo que es solo una pequeña fracción de los usuarios reales. Una vez que Roundcube está instalado en un servidor, proporciona una interfaz web para que los usuarios autenticados envíen y reciban correos electrónicos con su navegador web.

En Roundcube 1.2.2 y versiones anteriores, la entrada controlada por el usuario fluye sin sanitizar al quinto argumento de una llamada a la función integrada mail() de PHP, la cual está documentada como crítica en seguridad. El problema es que la invocación de la función mail() hará que PHP ejecute el programa sendmail. El quinto argumento permite pasar argumentos a esta ejecución, lo que permite una configuración de sendmail. Dado que sendmail ofrece la opción -X para registrar todo el tráfico de correo en un archivo, un atacante puede abusar de esta opción y generar un archivo PHP malicioso en el directorio webroot del servidor atacado. Las siguientes líneas de código desencadenan la vulnerabilidad.

Requisitos

La vulnerabilidad tiene los siguientes requisitos para su explotación:

  • Roundcube debe estar configurado para usar la función mail() de PHP (por defecto, si no se especificó SMTP [1])
  • La función mail() de PHP está configurada para usar sendmail (por defecto, ver sendmail_path [2])
  • PHP está configurado con safe_mode desactivado (por defecto, ver safe_mode [3])
  • Un atacante debe conocer o adivinar la ruta absoluta del webroot

Estos requisitos no son particularmente exigentes, lo que a su vez significa que había muchos sistemas vulnerables en el mundo real.

Entorno vulnerable

Para configurar un entorno vulnerable para tu prueba necesitarás tener Docker instalado, y simplemente ejecuta el siguiente comando:

root@kitploit:~
docker build -t vuln/cve-2016-9920 .
docker run --rm -it -p 80:80 vuln/cve-2016-9920

Y generará una aplicación web vulnerable en tu host en el puerto 80

Código vulnerable

En Roundcube 1.2.2 y versiones anteriores, la entrada controlada por el usuario fluye sin sanitizar al quinto argumento de una llamada a la función integrada mail() de PHP, la cual está documentada como crítica en términos de seguridad. El problema es que la invocación de la función mail() hará que PHP ejecute el programa sendmail. El quinto argumento permite pasar parámetros adicionales a esta ejecución, lo que permite una configuración de sendmail. Dado que sendmail ofrece la opción -X para registrar todo el tráfico de correo en un archivo, un atacante puede abusar de esta opción y generar un archivo PHP malicioso en el directorio webroot del servidor atacado. Aunque esta vulnerabilidad es rara y no ampliamente conocida, RIPS la detectó en segundos. [4]

Exploit

Para explotar este objetivo simplemente ejecuta:

root@kitploit:~
./exploit.py --host HOST --user USERNAME --pwd PASSWORD --path PATH --www_path WEB_DIRECTORY

Si estás usando esta imagen vulnerable, puedes simplemente ejecutar:

root@kitploit:~
./exploit.py --host 127.0.0.1 --user username --pwd password --path roundcube --www_path "/var/www/html/roundcube"

Después de la explotación, se almacenará un archivo llamado backdoor.php en la carpeta raíz del directorio web. Y el exploit te proporcionará un shell donde puedes enviar comandos a la puerta trasera:

root@kitploit:~
./exploit.py --host 127.0.0.1 --user username --pwd password --path roundcube --www_path "/var/www/html/roundcube"
[+] CVE-2016-9920 exploit by t0kx
[+] Exploiting 127.0.0.1
[+] Target exploited, acessing shell at http://127.0.0.1/roundcube/backdoor.php
[+] Running whoami: www-data
[+] Done

Créditos

Esta falla fue encontrada por Robin Peraglie [4]. El texto principal y la idea de este material educativo fueron creados por opsxcq.

Descargo de responsabilidad

Este programa o los anteriores son SOLO con fines educativos. No lo use sin permiso. Se aplica el descargo de responsabilidad habitual, especialmente el hecho de que yo (t0kx) no soy responsable de ningún daño causado por el uso directo o indirecto de la información o funcionalidad proporcionada por estos programas. El autor o cualquier proveedor de Internet NO asume ninguna responsabilidad por el contenido o mal uso de estos programas o cualquier derivado de los mismos. Al usar estos programas, acepta el hecho de que cualquier daño (pérdida de datos, caída del sistema, compromiso del sistema, etc.) causado por el uso de estos programas no es responsabilidad de t0kx.

Enlaces

  • [1] https://github.com/roundcube/roundcubemail/wiki/Configuration#sending-messages-via-smtp
  • [2] http://php.net/manual/en/mail.configuration.php
  • [3] http://php.net/manual/en/ini.sect.safe-mode.php
  • [4] https://blog.ripstech.com/2016/roundcube-command-execution-via-email/
Descargar herramienta