使用するモジュール名が分かったところで、まずそのモジュールを使用することを[use]コマンドで宣言する。exploit/windows/http/efs_fmws_userid_bof上記コマンドを実行すると下図のようにプロンプトが変化する。これで、[exploit/windows/http/efs_fmws_userid_bof]モジュールを選択した状態になった。次に、攻撃モジュールを実行するために必要な項目を設定する。設定項目は大きく分けて三つとなる。モジュールオプションターゲットペイロードオプション(1)は、モジュールを実行する上での設定項目で、例えばどのアドレスやポートに対して攻撃を行うかなどを設定する。(2)は、攻撃を行うターゲットを選択する。Targetting]という選択肢もある。これは、こちら側で明示的にターゲットの種類を指定しなくても、通信による挙動をチェックすることで自動的に判別を行い、それに適したターゲットを選定してくれるものだ。場合によってはその選定がうまく働かず、攻撃に失敗することもあるが、明示的に指定し直すことで攻撃に成功する場合もある。(3)は、攻撃が成功したときに実行する、いわゆる任意のコードの部分である。こちらについては別途詳細を解説する予定だ。今回は攻撃を行う上で必要最低限の設定を行っていく。モジュール選択時の初期状態で設定項目があるかどうかを[show]コマンドを用いて下記のように確認してみよう。options]に並ぶ項目がいくつかあることが分かる。最低限設定する必要があるものは[Required]が[yes]になっている項目である。options]の設定は完了となる。ここに何を設定するかだが、[Description]にも書いてある通り、ターゲット、つまり被攻撃環境のアドレスを設定する。今回のように攻撃環境と被攻撃環境が同じ場合は、[set]コマンドを用いて下記のように設定するといいだろう(VM環境や別のコンピューターで被攻撃環境を稼働させている場合はそのアドレスを設定してほしい)。自身のコンピュータに与えられたローカルIPアドレスなお、自身のローカルIPアドレスは[ipconfig]コマンドで確認してほしい。筆者の環境では172.20.10.14であったため、以下で使用する画像ではそのIPアドレスを使用する。optionsを実行してみよう。自身が設定した値が反映されていることが確認できるはずである(画面14)。次にターゲットの設定だ。targetsで確認できる(画面15)。Universalを選択可能であることが分かる。Targetingでも成功するが、今回はこのオプションを試してもらうため、明示的に指定することとした。Universal」にした場合は失敗する)。1最後に、ペイロードの選択とそのオプションの確認を行う。ペイロードは、いわゆる「任意のコード」の部分であり、脆弱性を利用した攻撃が成功した場合、ターゲットに実行させたいコードのことである。こちらはさまざまな種類があるが、今回はまずは攻撃を行い、侵入に成功させることに重きを置き、ペイロードの詳細に関しては次回以降に紹介していきたいと考えている。今回皆さんに設定していただくペイロードは「windows/shell_bind_tcp」である。このペイロードは、攻撃に成功すると、ターゲット上に接続することで制御を奪うことのできるポートを新たにオープンさせるというものだ。図で表すと以下の通りの動作となる。被攻撃側(1)攻撃コードを送信(2)攻撃に成功し、被攻撃側ポートをオープンさせる。(3)攻撃側から被攻撃側上でオープンしたポートに接続し、制御を奪う。それでは、以下のようにペイロードを設定してほしい。windows/shell_bind_tcp設定ができたら設定値を確認しよう。options]が追加されているはずである。このペイロードの内容を「接続することで制御を奪うことのできるポートを新たにオープン」するものだと述べたが、そのポート番号がこの設定項目の[LPORT]に当たる。(LPORT)をオープンし、そこに接続を行い制御を奪う(PAYLOAD)ということになる。それでは「EFS」が問題なく稼働していることを確認し、コンソールに以下のように入力し、エンターキーを押してほしい。exploit上記画面のようにWindowsのプロンプトが表示されれば攻撃は成功である。これで、このMetasploitのコンソールからWindowsを操作できるようになった。ここで実行されるコマンドは、被攻撃環境のWindows上で実行されることになる。実際にMetasploit側から操作できることを確認するため、以下の手順に従ってコマンドを実行してほしい。dark_knightここまで実行したら、Windowsエクスプローラーで[C:\metasploit\dark_knight]を表示してほしい。中身が空のフォルダーになっているだろう(画面18)ここで再度Metasploitのコンソールに戻り、以下のコマンドを実行してみよう。dark_knight.txtどうだろうか。Windowsエクスプローラー上に[dark_knight.txt]が作成されただろう。そのテキストの中身を見ると、上記コマンドで指定した「rising!!!」と書かれているはずである(画面19)これで、システム内である程度自由にコマンドを実行できることから、被攻撃環境の制御を奪取したと言える。今回はあくまでテストのため、攻撃環境も被攻撃環境も同じコンピューター内に存在しているが、ネットワーク上の別のコンピューターやVMで行っても同じ結果が得られる。環境を用意できる方はぜひそちらも試してほしい。EFSに対し、RHOST以外は同じ設定で攻撃を行った結果の画面を掲載しておく。左のコマンドプロンプトは攻撃前、右は攻撃後である。攻撃によって4444/tcpが新たにLISTENしていることが分かるだろう。セキュリティアドバイザリで目にする「権限を奪取する」という行為が、実際にやってみると意外にあっさりできる印象を持った方も多いのではないだろうか。次回は、さまざまなペイロードを試してみたいと考えている。わず多くの検査実績を持つ。自宅では、趣味としてのハニーポットの運用、IDSによる監視などを行っている。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。