ABOUT
エクスプロイトとは
マルウェアの一種。エクスプロイト(Exploit)は悪意あるプログラムで、その中に含まれるデータや実行可能コードが、ローカルコンピューターやリモートコンピューターで動作するソフトウェアの脆弱性を悪用します。
エクスプロイトを用いた攻撃がどのように行われるかを理解して、セキュリティコントロールの実装に繋げましょう。
また、セキュリティアセスメント時に、脆弱性スキャンを行うだけではなく自らペネトレーションテストの一環として適切な承認を得たうえで疑似攻撃を行うことも考慮しておきましょう。実際に攻撃が成功したら、それは大きなリスクですし、その内容をプレゼンすることで、組織内のセキュリティ危機意識が改善されます。
Metasploit Framework(単にMetasploitと略記されることもある)とは
エクスプロイトコードの作成や実行を行うためのフレームワークです。
セキュリティ業界ではよく知られたツールであり、ペネトレーションテスト目的で使用可能な1DVDタイプのLinuxであるBackTrackに収録されています。
Kali linuxの仮想イメージにMetasploit Frameworkが含まれているので、私はこの仮想OSを利用しています。
DETAIL
Metasploitを実行する流れは大きく3つ
-
モジュールオプション
-
ターゲット
-
ペイロードオプション
(1) モジュールオプション
通常、脆弱性スキャンを実行して対象の環境を理解します。
Shellshockの脆弱性が見つかった場合、Metasploitのコンソール上で、search shellshockを実行して、shellshockに関するモジュールを検索します。
使えるものが見つかったら、useコマンドでそのモジュールを使用することを宣言します。
Exploitについては、以下のサイトも参考にします。
-
Exploit-Database http://www.exploit-db.com
-
Packet Storm Security http://packetstormsecurity.org
-
Security Focus http://www.securityfocus.com
(2) ターゲット
脆弱性スキャンのレポートから対象を特定したものの情報を利用するモジュールに合わせてセットします。
(3) ペイロードオプション
利用するモジュールに合わせてペイロードをセットします。
ペイロードは攻撃した後の挙動を宣言するものです。主に使われるペイロードは以下の通りです。
-
windows/shell_bind_tcp 攻撃後、攻撃側から被攻撃側に接続を可能にするペイロード
-
windows/shell_reverse_tcp 攻撃後、被攻撃側から攻撃側に接続を可能にするペイロード
-
windows/exec 指定したコマンドを被攻撃側で実行できるペイロード
-
windows/upexec/bind_tcp 攻撃を行った後、攻撃側から被攻撃側に特定のファイルを転送して実行できるペイロード
-
windows/vncinject/bind_tcp 攻撃を行った後、被攻撃側へのVNC接続を可能にするペイロード
(4) Kali Linuxのアップデート
apt-get update && apt-get upgrade