The Information Systems and Computer Applications examination covers material that is usually taught in an introductory college-level business information systems course.

¿Tu EXE? ¡¡ MI EXE !! (Mitm de ejecutables) by Yago Jesus

Los ataques ‘Man-in-The-Middle‘ son de las cosas mas divertidas que nos ha regalado TCP/IP, hay muchos usos creativos de estas técnicas y hoy, vamos a darle otra pequeña vuelta de tuerca.
 
Lo que vamos a hacer es una aproximación ‘a la Evilgrade‘ de sustitución de binarios al vuelo.
 
La idea es muy sencilla: Montamos un proxy y por cada .exe que se nos pida, vamos a servir un exe malicioso. Luego, usando un ataque clásico MitM haremos que todo el tráfico web de la víctima pase por ese proxy.
 
Hay escenarios donde solo se tiene acceso a la red, pero el objetivo a atacar resulta inexpugnable porque emplea cortafuegos o simplemente no es atacable vía exploits. En estos escenarios, un ataque como el que vamos a explicar aquí puede ser efectivo
 
En origen pensé en usar el protocolo ICAP y Squid para implementar este ataque, el problema es que hay pocas implementaciones de ICAP Servers y las que hay, o están desactualizadas, o directamente son complejas de adaptar.
 
En estas estaba cuando vi un sensacional artículo sobre como alterar al vuelo paquetes para pip (el instalador automático de paquetes para Python) empleando mitmproxy.
 
La aproximación, por sencilla y limpia de implementar, me pareció genial así que me hice mi propio script para mitmproxy orientado a sustituir binarios .exe.
 
Lo que hacemos es lo siguiente:
 
Cada vez que alguien pide a través de mitmproxy una URL que apunte hacia un .exe, alteramos la respuesta y le enviamos un .exe malicioso.
 
Apuntamos el par IP–>URL en un array, y la próxima vez que se nos pida, esta vez si, serviremos el .exe correcto. Esto lo hacemos para evitar levantar sospechas, si alguien se descarga un .exe y ‘falla’ pero a la segunda intentona si funciona, es probable que lo achaque a ‘fallos en la red’.
 
El código del script es este:

Para usarlo, tan solo se debe definir el fichero que vamos a servir desde el script, editando la variable ‘trojan’ y apuntando al fichero que queremos meter.
 
trojan = ‘malware.exe’
 
Aquí ya al gusto de cada uno, vale un meterpreter o vale algo más elaborado.
 
Cabe señalar que a la víctima le llegará el nombre del exe que supuestamente se está bajando, no el nombre de TU exe
 
 
Y finalmente ejecutamos mitmproxy así:
 
 mitmproxy -s binchange.py
 
Luego de eso, solo falta ‘arponear’ la red y configurar el firewall para mover el tráfico, aquí también influyen tus fobias y filias, los hay amantes de ettercap o como yo, los hay mas clásicos que les gusta arpspoof del mítico Dug Song.
 
Una vez vaya habiendo actividad, se genera un fichero de log llamado logpwned que tiene este aspecto:
 
[Primera descarga] 
 
Sun Mar  3 17:54:33 2013 Tenemos un cliente
IP de la victima 127.0.0.1
URL solicitada http://sbdtools.googlecode.com/files/CertMonSetup.exe
 
 
 
 
 
 
 
 
[Segundo intento]
 
Sun Mar  3 17:54:43 2013 Tenemos un cliente
la URL solicitada http://sbdtools.googlecode.com/files/CertMonSetup.exe ya ha sido envenenada
 
Cosas para el TODO:
 
-Analizar previamente el tamaño del fichero solicitado, no es lo mismo winamp.exe (2 M) que OfficeSetup.exe (1 Giga)
 
-Tomando como inspiración el script para pip, añadir una rutina que procese ficheros zip, los baje, los abra, intercambie exes y vuelva a generar el zip para servirlo
 
Me pregunto que hubiera pasado si hubiese dado de alta mi proxy en un sitio como este

Comments are closed.