初心者向け:Kali LinuxとMetasploitを使った実践ハッキング入門
この記事では、Kali Linux上でMetasploitを使い、基本的な脆弱性スキャンと攻撃を体験する方法を解説します。
- 脆弱性スキャン:
nmap
を使って対象サーバのポートを確認、対象の脆弱性を探します。 - モジュールの選択:対象の脆弱性に合うmetasploitのモジュールを検索&選択します。
- エクスプロイト選択:
msfconsole
で使用するモジュールを選択します。
use 【モジュール】 - ペイロード設定: リモートアクセス用に
meterpreter
を設定。
options(使用するモジュールのパラメータを確認)
set RHOST(対象のIPアドレスなどを設定) - 攻撃実行: セッションを確立して情報収集。
exploit(実行)
Kali linuxには、多くのペネトレーションテストのソフトウェアが沢山含まれています。
その中で有名なのが「metasploit」です。
「metasploit」は、エクスプロイトなどの全般が備わっているソフトウェアです。
公式の「metasploit」は下記のURLです。参考にしてください。
1.起動方法
コンソールから「msfconsole」を入力
起動までに少し時間が掛かります。起動後、バージョンが表示され、「msf5>」になります。
2.やられ役サーバの用意
Metasploitの勉強するには、脆弱性のあるOSが必要です。
配布先より、vmdk形式で提供される「Metasploitable2」のイメージをダウンロードしましょう。
下記URLでダウンロードできます。
仮想環境ソフト「VirtualBox」に「Kali Linux」と「Metasploitable2」をインストールして、ネットワークを「内部ネットワーク」に設定して実験しましょう。
Metasploitable2のユーザ名とパスワードは msfadmin/msfadminです。
「Metasploitable2」にログインしたら、ネットワークの設定をします。
sudo vi /etc/network/interfaces
下記のように、固定IPアドレスとして設定します。ここでは「192.168.46.150/24」にします。
再起動後、ifconfigでIPアドレスを確認します。
「Kali Linux」は下図のとおり、「192.168.46.10/24」とします。
3.手順
ペネトレを実行する際の基本手順としては、下記のとおりになります。
後段では、1.namp:対象の脆弱性を探します。について記載します。
1. nmap:対象の脆弱性を探します。
2. search:対象の脆弱性に合うmetasploitのモジュールを検索します。
3. use 【モジュール】:使用するモジュールを選択します。
4. options:使用するモジュールのパラメータを確認します。
5. set RHOST:対象のIPアドレスなどを設定します。
6. exploit :実行します。
4.nmap:対象の脆弱性を探す
ここでは、【nmap:対象の脆弱性を探す】を紹介します。
本来nmapでは、対象の何番のポート番号が空いているのか検索するものですが、下記のオプションをつければ、脆弱性を探すことができます。脆弱性があれば、結果にCVE番号などが表示されます
msf5> nmap --script vuln 対象のIPアドレス
※kail Linuxなら、「msfconsole」内じゃなくとも、通常のコンソールで使用可能です。
下図では、脆弱性が見つかっていない状態です。
「Metasploitable2」に対して実施すると、かなりの数の脆弱性が発見されます。
5.nmapの基本
下図では「namp」の基本である、ポート番号などの探し方を紹介します。
(sudoを付けた方が便利な時があります。)
nmap -A IPアドレス : OS、バージョン情報を検索
nmap -sT IPアドレス : TCPコネクトスキャン
nmap -sU IPアドレス : UDPスキャン
※UDPのスキャンのため、時間が凄くかかります。
nmap -p ポート番号 IPアドレス:ポート指定
下図のとおり、nmapを実行していると、「You requested a scan type which requires root privileges. QUITTING!」と表示されるときがあります。これは、一部の Nmap コマンドは root 権限を必要とし、「root 権限を必要とするスキャン タイプを要求しました。」というメッセージを返しています。これは、生のパケットの送受信には Unix または Mac システム上の root アクセスが必要なためです。