ペネトレーションテスト&バグバウンティ
ペネトレーションテストで利用されるNo.1のツールが「Metasploit」だと私は考えています。
しかし、Metasploitを使ってみたいと思い調べても、非常に難しいと言うか、チンプンカンプンでよくわかりません。
そこで、「おさるさんでもわかるMetasploit3」ぐらいの気持ち(?)で解説していこうと思います。
Metasploitとは
Metasploit(メタスプロイト)とは、コンピューターセキュリティの専門家やエンジニアが使う、セキュリティテストや侵入テストに役立つツールの一つです。これは、コンピューターシステムやネットワークがどれくらい安全であるかを確認し、セキュリティの弱点を見つけ出すために使います。
Metasploitableはその実践環境として設計された仮想マシンです。MetasploitableはユーザーがMetasploitを安全に学び、実践するために提供されています。(※今回は、このMetasploitableをインストールします。)
このMetasploitはセキュリティ専門家が合法的にセキュリティを評価するために使用されるツールであり、悪意を持って使うことは法律に違反します。絶対に他人のコンピューターにアクセスしてはいけません。
ペネトレーションテストとは
ペネトレーションテストは、コンピューターシステムやネットワークがどれだけ安全かを確かめるためのテストの一つです。これは、悪意を持ったハッカーが実際に使う手法を模倣して、システムの脆弱性やセキュリティの問題を見つけ出し、修正することを目的としています。
セキュリティ専門家は、悪意を持っていないかぎり、合法的な範囲でシステムにアクセスし、様々な手法で侵入を試みます。これによって、システム内の問題点が見つかり、それを修正してセキュリティを向上させることができます。
要するに、ペネトレーションテストはハッカーのような攻撃者がどれだけ侵入しやすいかを確かめ、それを未然に防ぐための対策を講じる手段です。
Metasploitでつかわれる用語
Metasploitを学ぶ上で非常に良く使われる用語です。
これが分からないと前には進めません。
1.エクスプロイト (Exploit)
エクスプロイトは、コンピューターシステムやソフトウェアに存在するセキュリティの脆弱性を悪用するプログラムや手法を指します。これは、セキュリティの穴を突くことで、システムに侵入するための手段です。
2.モジュール (Module)
Metasploitのモジュールは、特定の機能や攻撃手法を実行するための部品です。各モジュールは、脆弱性の種類や攻撃のステップなどに関連しています。
3.ペイロード (Payload)
ペイロードは、エクスプロイトが成功した後に、侵入したシステムに送り込まれる悪意のあるプログラムやコードです。これによって、ハッカーはシステム内で制御を取ることができます。
4.シェル (Shell)
シェルは、ハッカーが侵入したシステム内で操作を行うための環境を指します。成功したエクスプロイトとペイロードの組み合わせによって、ハッカーはリモートでシステムを操作できるようになります。
Metasploitable3をインストールする環境
今回のテスト環境は、自分の「Windows 10 Homeパソコン」で
Oracle VM VirtualBox7.0を利用して
Kali linux 2023.4
がインストールされている環境です。
そこに、Metasploitable3をインストールします。
※「Metasploit3でハッキングの初歩から楽しく学ぶ」は疑似的にハッキングを行うため、かならず自分のパソコンでン行い、「他人に迷惑をかけない」が前提条件になります。
※もし、上記の環境を作成されていない方は「仮想環境(VirtualBox 7.0)にKali Linux 2023.1をインストール(手順)」を参考してくださいね。
Metasploitable3のインストール
1.Metasploitable3のインストールファイルをダウンロードします。
以下の「SOURCEFORGE」サイトのアドレスを開きます。
2.ページの下部にある
をクリックします。
3.Metasploitable3-ub1404.ovaのリンクをクリックしてファイルをダウンロードします。
※ダウンロードに少し時間がかかります。
4.Metasploitable3-ub1404.ovaをVirtualBoxに追加します。
VirtualBoxを開きます。
5.上部メニューの「ファイル」から「仮想アプライアンスのインポート」ボタンを押下します。
6.インポートしたい仮想アプライアンス画面で、ファイルのフィールドのディレクトリボタンを押下して、先ほどダウンロードした「Metasploitable3-ub1404.ova」ファイルを指定します。
7.「次へ」ボタンを押下します。
8.「仮想アプライアンスの設定」画面で、先ほど指定した「Metasploitable3-ub1404.ova」のインストールの場所を設定します。
C:VM_Guest\BOX (多分デフォルトで設定されていると思います。)
を設定して「完了」ボタンを押下します。
9.インストールがはじまります。
10.Metasploitable3のインストールが完了しました。
Metasploitable3とKali Linuxが通信できるか確認します。
1.VirtualBoxのMetasploitable3とKali Linuxのネットワークの確認をします。
※Kali LinuxからMetasploitable3を攻撃するためには、ネットワークが繋がっている必要があります。
Metasploitable3とKali Linuxの通信を確認します。
2.VirtualBoxを起動します。
3.Metasploitable3をクリックして、ネットワークをクリックします。
4.ネットワークの画面が表示されます。
割り当てが「NATネットワーク」になっているか確認してください。
なっていなければ、「NATネットワーク」に変更して「OK」ボタンを押下してください。
※「NATネットワーク」とは、複数の仮想マシンが1つのIPアドレスを共有し、外部と通信するしくみです。セキュリティを確保しつつ、仮想環境で効率的なネットワーク接続が可能になります。
5.Kali Linuxをクリックして、ネットワークをクリックします。
6.ネットワークの画面が表示されます。
割り当てが「NATネットワーク」になっているか確認してください。
なっていなければ、「NATネットワーク」に変更して「OK」ボタンを押下してください。
7.Metasploitable3を起動します。
Metasploitable3をクリックして、起動ボタンを押下します。
8.Metasploitable3のログイン画面が表示されます。
login:vagrant
password:vagrant
※ちなみに、vagrantの意味は「浮浪者」です。(^^;;
9.Metasploitable3が起動しました。
※Metasploitable3を操作すると、マウスカーソルが消えます。
とりあえずカーソルを表示させるには、「Ctrl」+「ALT」+「DELETE」を押下して、以下の画面で「キャンセル」ボタンを押下するとカーソルが表示されます。
10.Metasploitable3のアドレスを確認します。
コマンドは「ifconfig」です。
実行結果は
アドレスは「eth0」の 10.0.2.4になります。
忘れないように控えておいてください。
11.Kali Linuxを起動します。
kali-linux…をクリックして、起動ボタンを押下します。
12.Kali Linuxのログイン画面が表示されます。
login:kali
password:kali
13.Kali Linuxが起動しました。
14.Kali Linuxのアドレスを確認します。
まず、上部メニューの「黒いターミナルウインドウ」ボタンを押下します。
すると、ターミナルが表示されます。
15.Kali Linuxのアドレスを確認します。
先ほどと同様のコマンドは「ifconfig」です。
実行結果は
アドレスは「eth0」の 10.0.2.15になります。
忘れないように控えておいてください。
16.Metasploitable3でKali Linuxと通信ができるか確認します。
Metasploitable3のターミナルで
コマンドは「ping (Kali Linuxのアドレス)」です。
この場合は
ping 10.0.2.15 になります。
実行結果は
このように表示されれば通信はOKです。
※pingコマンドは、データを垂れ流す為、中止する時は「Ctrl」+「z」で止まります。
17.Kali LinuxでMetasploitable3と通信ができるか確認します。
Kali Linuxのターミナルで
コマンドは「ping (Metasploitable3のアドレス)」です。
この場合は
ping 10.0.2.4 になります。
実行結果は
このように表示されれば通信はOKです。
これで、Metasploitable3の環境が整いました。
Metasploit3でハッキングの初歩から楽しく学ぶ(1) 概要とインストールのまとめ
Metasploit3でハッキングの初歩から楽しく学ぶシリーズの第1回では、Metasploitの概要と基本的なインストール手順に焦点を当てました。
Metasploit3はセキュリティフレームワークであり、合法的なセキュリティテストや侵入テストに利用されることを理解されたと思います。
つぎからは、少しずつですがKali Linuxを利用してMetasploit3の説明をしていきたいと思います。