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-2003-0264 — Desbordamiento de búfer clásico basado en pila en SLMail 5.1 que muestra cómo los servidores de correo antiguos podían ser comprometidos mediante comandos SMTP y POP3 de tamaño excesivo. | Kitploit
Herramientas/GitHubGitHub/themalwareguardian/cve-2003-0264
Análisis de VulnerabilidadesExplotaciónIngeniería InversaShellcodeDepuradoresFuzzingPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de Payloads

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
Explotación de Binarios
GitHubthemalwareguardian/cve-2003-0264

CVE-2003-0264

Desbordamiento de búfer clásico basado en pila en SLMail 5.1 que muestra cómo los servidores de correo antiguos podían ser comprometidos mediante comandos SMTP y POP3 de tamaño excesivo.

Ver Repositorio
1hace 5 mesesAún no revisado

🐞 CVE-2003-0264: SLMail 5.5 - Desbordamiento de búfer basado en pila

Desbordamiento de búfer basado en pila clásico en SLMail 5.5 que muestra cómo los primeros servidores de correo podían ser comprometidos mediante comandos SMTP y POP3 sobredimensionados.




📑 Tabla de contenidos

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



🎓 Por qué existe este repositorio

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

CVE-2003-0264 es uno de los primeros casos que presento al enseñar desbordamientos de búfer basados en pila sobre un protocolo de red. Es limpio, bien documentado y la ruta de explotación es directa, sin SEH, sin egghunter, sin restricciones de espacio. El estudiante envía un payload, sobrescribe EIP, cae en un gadget JMP ESP y obtiene una shell. Esa claridad es exactamente lo que lo hace útil como punto de partida.




💡 Por qué esta vulnerabilidad es interesante

SLMail 5.5 es un servidor de correo heredado de Windows. La vulnerabilidad está en el servicio POP3, específicamente en el manejador del comando PASS, que copia la entrada del usuario directamente en un búfer de pila de tamaño fijo sin ninguna validación de longitud. Lo que hace que este caso sea particularmente útil para la enseñanza es lo pocos elementos móviles que tiene:

  • No se requiere autenticación para desencadenar el fallo. El desbordamiento se dispara antes de que tenga lugar cualquier verificación de credenciales. Se envía un comando USER primero como parte del protocolo POP3, pero el fallo real ocurre en el manejador de PASS independientemente de si las credenciales son válidas.
  • Sobrescritura directa de EIP. No hay cadena SEH involucrada, ni corrupción de heap, ni explotación en múltiples etapas. La dirección de retorno guardada se sobrescribe directamente y la ejecución se redirige a la pila controlada por el atacante.
  • Amplio espacio para shellcode. El búfer es lo suficientemente grande como para alojar un payload estándar de shell inversa después de la sobrescritura de EIP sin restricciones de tamaño.
  • Un gadget fiable en un módulo sin ASLR. SLMFC.dll, una biblioteca incluida con SLMail, fue compilada sin ASLR, SafeSEH ni CFG. Sus direcciones son fijas entre reinicios, lo que hace sencillo reutilizar gadgets.

Esta combinación (orientado a red, sin autenticación, sobrescritura directa de EIP, sin mitigaciones modernas) hace de CVE-2003-0264 uno de los ejemplos más limpios del mundo real de un desbordamiento de pila vainilla que aún se ejecuta en versiones modernas de Windows.




🔍 Contexto y software afectado

SLMail es un servidor de correo de Windows que proporciona servicios SMTP, POP3 y de administración. El servicio POP3 escucha en el puerto TCP 110 y maneja comandos estándar de recuperación de correo. La vulnerabilidad está en el manejador del comando PASS, que procesa el argumento de contraseña enviado por un cliente conectado.

Descargar herramienta

Detalles técnicos clave:

  • Tipo de vulnerabilidad: Desbordamiento de búfer basado en pila
  • Versión afectada: SLMail 5.5 y anteriores
  • Punto final afectado: Comando PASS de POP3
  • Componente vulnerable: Manejador del comando PASS
  • Autenticación requerida: No
  • Impacto: Ejecución remota de código



⚠️ Acerca de la vulnerabilidad

El servicio POP3 de SLMail procesa el comando PASS copiando el argumento de contraseña proporcionado en un búfer de pila de tamaño fijo usando una función insegura sin verificación de longitud. Una versión simplificada de la lógica vulnerable se ve así:

root@kitploit:~
char password_buffer[256];

strcpy(password_buffer, pass_argument);

Enviar una cadena suficientemente larga como argumento PASS provoca que la copia escriba más allá del final del búfer, corrompiendo la pila hasta que se sobrescribe 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.




💥 Desencadenando el fallo

El fallo se puede reproducir enviando un argumento PASS sobredimensionado a través de POP3. No se requieren credenciales válidas. Ejemplo usando Python:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 110

payload = b"A" * 3000

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.recv(1024)

s.send(b"USER username\r\n")
s.recv(1024)

s.send(b"PASS " + payload + b"\r\n")
s.close()

Cuando se ejecuta bajo un depurador, el fallo 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 fallo, sino recorrer el proceso completo de explotación paso a paso, desde el fuzzing hasta una shell inversa funcional.

Para mantener limpio el README principal, las notas detalladas de explotación, los scripts y los 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 comando PASS para identificar el fallo.
  • Descubrimiento del offset para localizar la posición exacta de EIP en la pila.
  • Análisis de caracteres malos para identificar bytes que corrompen el payload.
  • Localización de un gadget JMP ESP en SLMFC.dll, un módulo compilado sin ASLR ni SafeSEH.
  • Colocación y ejecución del shellcode.