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-2025-34096 — Desbordamiento de búfer basado en SEH en Easy File Sharing Web Server 7.2, accesible a través del punto de acceso de recuperación de contraseña. | Kitploit
Herramientas/GitHubGitHub/themalwareguardian/cve-2025-34096
Análisis de VulnerabilidadesExplotaciónIngeniería InversaShellcodeExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de PayloadsExplotación de Binarios
GitHubthemalwareguardian/cve-2025-34096

CVE-2025-34096

Desbordamiento de búfer basado en SEH en Easy File Sharing Web Server 7.2, accesible a través del punto de acceso de recuperación de contraseña.

Ver Repositorio
3hace 5 mesesAú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

🐞 CVE-2025-34096: Easy File Sharing Web Server 7.2 - Desbordamiento de Búfer Basado en Pila (SEH)

Desbordamiento de búfer basado en SEH en Easy File Sharing Web Server 7.2, accesible a través del endpoint de recuperación de contraseña.




📑 Tabla de Contenidos

  • Por qué existe este repositorio
  • Por qué esta vulnerabilidad es interesante
  • Contexto y software afectado
  • Acerca de la vulnerabilidad
  • Provocando el fallo
  • Explotación



🎓 Por qué existe este repositorio

Este repositorio fue creado como parte del material que utilizo cuando enseño investigación de vulnerabilidades y desarrollo de exploits, particularmente al introducir el concepto de desbordamientos de SEH (Structured Exception Handler) y cadenas ROP (Return-Oriented Programming).

Está relacionado con mi charla "The Path That Leads to Your First CVE". En esa charla, explico que existen diferentes puntos de entrada a la investigación de vulnerabilidades, y que estudiar CVEs documentados públicamente en software heredado es uno de los caminos más accesibles para principiantes.

Este CVE fue elegido porque demuestra un escenario de explotación completo y realista:

  • El objetivo es una aplicación Windows disponible públicamente.
  • El fallo no es una simple sobrescritura de EIP, implica sobrescritura de SEH y pivoteo de pila.
  • El endpoint vulnerable no requiere autenticación, lo que lo convierte en una primitiva real de ejecución remota de código sin autenticación.
  • El exploit puede extenderse opcionalmente con una cadena ROP para evadir DEP/NX, demostrando cómo el mismo desbordamiento SEH puede adaptarse a entornos más endurecidos.

El objetivo es utilizar este caso como un escalón entre los ejercicios introductorios de desbordamiento de búfer y conceptos más avanzados de desarrollo de exploits.




💡 Por qué esta vulnerabilidad es interesante

Esta vulnerabilidad afecta a Easy File Sharing Web Server 7.2, una aplicación ligera de servidor web para Windows que fue ampliamente utilizada para compartir archivos de forma sencilla. El software fue escrito sin tener en cuenta las mitigaciones de seguridad modernas. Lo que hace que este caso sea particularmente interesante desde una perspectiva didáctica es la combinación de factores involucrados:

  • El endpoint vulnerable es una solicitud POST, lo que facilita su reproducción con herramientas HTTP estándar.
  • El endpoint /sendemail.ghp es parte de la funcionalidad de notificación por correo electrónico de la aplicación y es accesible para cualquier atacante remoto sin credenciales. Esto representa un escenario de ataque más impactante que las vulnerabilidades que requieren acceso previo.
  • El desbordamiento está basado en SEH, lo que significa que el fallo no sobrescribe la dirección de retorno directamente. En su lugar, corrompe la cadena del Manejador de Excepciones Estructurado en la pila, requiriendo una técnica de explotación diferente.
  • La evasión de DEP es opcional, lo que significa que el exploit funciona con un enfoque directo de SEH + salto corto + shellcode en sistemas donde DEP está deshabilitado. Pero, si DEP está habilitado, el exploit puede extenderse con una cadena ROP utilizando gadgets de módulos cargados para llamar a VirtualProtect y marcar la región del shellcode como ejecutable antes de transferir el control.

Esta combinación hace que CVE-2025-34096 sea un excelente caso para enseñar técnicas de desarrollo de exploits en un escenario de ataque realista sin autenticación.




🔍 Contexto y software afectado

Easy File Sharing Web Server 7.2 es una aplicación ligera de Windows construida para compartir archivos a través de HTTP. Más allá de la navegación básica de archivos y cuentas de usuario, incluye una función de recuperación de contraseña, un formulario que permite a los usuarios ingresar su dirección de correo electrónico para recibir sus credenciales olvidadas.

Ese formulario envía una solicitud POST a /sendemail.ghp. El manejador que procesa el campo Email copia el valor directamente en un búfer de pila de tamaño fijo sin verificación de longitud. El endpoint no requiere autenticación, por lo que no hay nada que se interponga entre un atacante remoto y la ruta de código vulnerable.

Detalles técnicos clave:

  • Tipo de vulnerabilidad: Desbordamiento de búfer basado en pila (sobrescritura de SEH)
  • Versión afectada: Easy File Sharing Web Server 7.2
  • Endpoint afectado: POST /sendemail.ghp
  • Parámetro vulnerable: Email
  • Autenticación requerida: No
  • Impacto: Ejecución remota de código sin autenticación



⚠️ Acerca de la vulnerabilidad

Easy File Sharing Web Server procesa solicitudes HTTP POST dirigidas a /sendemail.ghp como parte de su funcionalidad de notificación por correo electrónico. El parámetro Email aceptado por este endpoint se copia en un búfer de pila local sin ninguna verificación de longitud.

Una versión simplificada de la lógica vulnerable se ve así:

root@kitploit:~
char email_buffer[256];

strcpy(email_buffer, user_input);

Dado que el búfer de destino tiene un tamaño fijo y la longitud de entrada no se valida, enviar una cadena suficientemente larga en el campo Email provoca que la copia escriba más allá del final del búfer.

A medida que se escriben más datos, el diseño de la pila se corrompe. A diferencia de una simple sobrescritura de dirección de retorno, el desbordamiento alcanza la cadena del Manejador de Excepciones Estructurado (SEH) almacenada en la pila. Cuando se desencadena una excepción como resultado de la pila corrupta, el sistema operativo recorre la cadena SEH y transfiere el control a la dirección del manejador controlada por el atacante.

Por lo tanto, el flujo de explotación sigue la técnica de sobrescritura SEH:

  1. Una entrada larga sobrescribe la pila, incluidos los punteros nSEH y del manejador SEH.
  2. Se desencadena una excepción debido a la corrupción de memoria.
  3. El sistema operativo invoca la dirección del manejador sobrescrita.
  4. Se utiliza un gadget POP POP RETN para transferir la ejecución al área nSEH.
  5. Un salto corto hacia adelante salta sobre el registro SEH y redirige la ejecución al área del shellcode.
  6. El shellcode se ejecuta.

Esto hace que la vulnerabilidad sea más compleja de explotar que una sobrescritura básica de EIP, pero también más representativa de escenarios del mundo real.




Descargar herramienta
💥 Provocando el fallo

El fallo se puede reproducir enviando una cadena larga en el parámetro Email de una solicitud POST a /sendemail.ghp. No se requiere autenticación. Ejemplo usando Python:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 80

request = (
	'POST /sendemail.ghp HTTP/1.1\r\n'
	'Email=' + 'A' * 5000 + '&getPassword=Get+Password'
).encode('utf-8')

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send(request)
s.close()

Cuando se ejecuta bajo un depurador, el fallo muestra una cadena SEH corrupta y una violación de acceso, confirmando que los datos controlados por el usuario han sobrescrito el puntero del manejador de excepciones.




💣 Explotación

El objetivo de este repositorio no es solo demostrar el fallo, sino también guiar a través del proceso completo de explotación paso a paso, siguiendo la metodología utilizada al desarrollar exploits reales basados en SEH.

Para mantener el README principal limpio, las notas detalladas de explotación, scripts y pasos del depurador se colocan dentro de la carpeta Vulnerability 📂 de este repositorio.

Allí encontrará el flujo de trabajo completo utilizado para explotar este CVE, incluyendo:

  • Fuzzing del parámetro Email para identificar el fallo.
  • Descubrimiento de offset para localizar la posición exacta de nSEH y SEH en la pila.
  • Análisis de caracteres no válidos para identificar bytes que corrompen el payload.
  • Sobrescritura de la cadena SEH utilizando un gadget POP POP RETN de un módulo cargado.
  • Colocación y ejecución del shellcode.
  • Opcional: Construcción de cadena ROP para evadir DEP llamando a VirtualProtect a través de gadgets de módulos cargados.