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-2017-14980 — Desbordamiento de búfer basado en pila en Sync Breeze Enterprise 10.0.28 accesible a través del manejador /login, que demuestra cómo una longitud de entrada no verificada puede corromper la memoria de la pila. | Kitploit
Herramientas/GitHubGitHub/themalwareguardian/cve-2017-14980
Análisis de VulnerabilidadesExplotaciónIngeniería InversaShellcodeExplotación de Aplicaciones WebDepuradoresFuzzingAprendizaje y EducaciónDesarrollo de Payloads
Explotación de Binarios
GitHubthemalwareguardian/cve-2017-14980

CVE-2017-14980

Desbordamiento de búfer basado en pila en Sync Breeze Enterprise 10.0.28 accesible a través del manejador /login, que demuestra cómo una longitud de entrada no verificada puede corromper la memoria de la pila.

Ver Repositorio
13hace 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-2017-14980: Sync Breeze Enterprise 10.0.28 - Desbordamiento de búfer basado en pila

Desbordamiento de búfer basado en pila en Sync Breeze Enterprise 10.0.28 accesible a través del manejador /login, que demuestra cómo una longitud de entrada sin verificar puede corromper la memoria de la pila.




📑 Tabla de contenidos

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



🎓 Por qué existe este repositorio

Este repositorio es parte del material que utilizo cuando enseño explotación de corrupción de memoria (además de mi trabajo habitual, también doy clases en diferentes cursos de ciberseguridad donde ayudo a formar a la próxima generación de ingenieros inversos).

CVE-2017-14980 es un caso que utilizo cuando quiero que los estudiantes experimenten una sobrescritura de EIP clásica por HTTP en lugar de un protocolo TCP crudo. Al principio parece simple: un formulario de inicio de sesión, una contraseña larga, un crash, pero el contexto HTTP introduce una serie de bad characters (caracteres no válidos) que no son evidentes de inmediato y que obligan a los estudiantes a pensar en cómo se procesan los datos antes de llegar al búfer vulnerable. Entender por qué %, &, + y = son bad chars aquí requiere comprender la codificación URL, lo cual es una lección útil por sí misma.




💡 Por qué esta vulnerabilidad es interesante

Sync Breeze Enterprise es una aplicación de sincronización de archivos para Windows que expone una interfaz de administración web. La vulnerabilidad está en el manejador de inicio de sesión, que copia el campo de contraseña en un búfer de pila de tamaño fijo sin validar la longitud. Lo que hace útil este caso para la enseñanza:

  • No requiere autenticación. El desbordamiento se dispara durante el procesamiento del inicio de sesión, antes de que se realice cualquier verificación de credenciales.
  • Sobrescritura directa de EIP. No hay SEH, ni heap, ni explotación en varias etapas. La dirección de retorno guardada se sobrescribe directamente.
  • El contexto HTTP introduce bad characters no evidentes. Más allá de los habituales \x00, \x0a y \x0d, el tipo de contenido application/x-www-form-urlencoded añade \x25 (%), \x26 (&), \x2b (+) y \x3d (=) como caracteres no válidos porque el servidor decodifica el cuerpo codificado en URL antes de copiarlo al búfer. Los estudiantes que omiten el análisis de caracteres no válidos y van directo al shellcode obtendrán un payload que se corrompe silenciosamente antes de llegar a memoria.
  • Un gadget fiable en un módulo incluido con la aplicación. libspp.dll, incluido con Sync Breeze, fue compilado sin ASLR, SafeSEH ni CFG, lo que hace que la dirección del gadget sea fija entre reinicios.



🔍 Contexto y software afectado

Sync Breeze Enterprise es una herramienta de sincronización de archivos para Windows que incluye un servidor web integrado para la administración remota. La interfaz web escucha en el puerto TCP 80 cuando está habilitada y expone un formulario de inicio de sesión en /login. La vulnerabilidad está en el manejador POST que procesa el campo de contraseña.

Detalles técnicos clave:

  • Tipo de vulnerabilidad: Desbordamiento de búfer basado en pila
  • Versión afectada: Sync Breeze Enterprise 10.0.28
  • Endpoint afectado: POST /login, parámetro password
  • Componente vulnerable: Manejador del formulario de inicio de sesión
  • Autenticación requerida: No
  • Impacto: Ejecución remota de código



⚠️ Sobre la vulnerabilidad

Sync Breeze procesa el formulario de inicio de sesión leyendo el cuerpo del POST y extrayendo el campo de contraseña. El valor se copia en un búfer de pila de tamaño fijo sin verificar su longitud. Una versión simplificada de la lógica vulnerable se ve así:

root@kitploit:~
char password_buffer[256];

strcpy(password_buffer, password_field);

El cuerpo del POST se decodifica en URL antes de que se realice la copia, lo que significa que caracteres como %25 se decodifican a % antes de llegar al búfer. Esta es también la razón por la que ciertos caracteres especiales de URL actúan como caracteres no válidos: son interpretados por la capa HTTP antes de que los datos lleguen a la operación de copia vulnerable. Enviar un valor de contraseña suficientemente largo hace que la copia escriba más allá del final del búfer, sobrescribiendo la dirección de retorno guardada. Cuando la función retorna, la CPU carga el valor controlado por el atacante desde la pila en EIP y salta a él.




💥 Provocando el crash

El crash se puede reproducir enviando una contraseña sobredimensionada en una solicitud POST a /login. No se requiere autenticación. Ejemplo usando Python:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 80

payload = b"A" * 600

body = b"username=admin&password=" + payload
request = (
	b"POST /login HTTP/1.1\r\n"
	b"Host: 127.0.0.1\r\n"
	b"Content-Type: application/x-www-form-urlencoded\r\n"
	b"Content-Length: " + str(len(body)).encode() + b"\r\n"
	b"Connection: close\r\n"
	b"\r\n" +
	body
)

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

Cuando se ejecuta bajo un depurador, el crash muestra EIP sobrescrito con datos controlados por el usuario:

root@kitploit:~
EIP = 41414141

confirmando que la dirección de retorno guardada ha sido corrompida por el desbordamiento.




💣 Explotación

El objetivo de este repositorio no es solo demostrar el crash, sino recorrer el proceso completo de explotación paso a paso, desde el fuzzing hasta una reverse shell funcional.

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

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

  • Fuzzing del campo de contraseña para identificar el crash.
  • Descubrimiento del offset para localizar la posición exacta de EIP en la pila.
  • Análisis de caracteres no válidos para el cuerpo POST codificado en URL, incluidos los caracteres no válidos específicos de HTTP.
  • Localización de un gadget JMP ESP en libspp.dll, un módulo compilado sin ASLR ni SafeSEH.
  • Colocación y ejecución del shellcode.