ターゲットホストのオープンポートをスキャンする
このステップでは、ツールを使ってターゲットホストのオープンポートをスキャンする方法を紹介します。
ペネトレーションテストのプロセスにおいて、ターゲットホストのオープンポートを把握することは必要不可欠です。Kali Linux には、2 つのデフォルトのポートスキャンツールが用意されています。Nmap と Zenmap です。これら 2 つのツールの使い方を主に紹介します。
まず、実験環境を起動しましょう。ホストマシンは Ubuntu(現在接続しているデスクトップ)で、Docker と QEMU の仮想環境がインストールされています。それぞれ、Kali Linux コンテナと Metasploitable2 ターゲットマシンのプラットフォームサポートを提供します。
LabEx ホストマシンで、デスクトップ上の xfce ターミナルをダブルクリックして開き、以下のコマンドをターミナルに入力して Metasploitable2 を起動します。
sudo virsh start Metasploitable2
ターゲットマシンが起動するのを待ちます。1 - 3 分かかる場合があります。
ターゲットマシンが動作していることを確認するために ping を実行します(ping を終了するには Ctrl - C を押します)。
ping 192.168.122.102
次に、Kali コンテナを起動して bash インターフェイスに入り、ping 操作を実行してネットワーク接続を確認します。
docker run -ti --network host b5b709a49cd5 bash
ここで、ping 操作を実行してネットワーク接続を確認します(ping を終了するには Ctrl - C を押します)。
ping 192.168.122.102
これで両方の実験環境が起動したので、ペネトレーションテストを開始することができます。
注意: 誤って現在の bash を終了した場合、Kali コンテナは自動的に停止します。ホストマシンで再度 docker run -ti --network host b5b709a49cd5 bash
コマンドを実行することで、新しい Kali コンテナを起動して bash に入り、実験操作を続けることができます。
TCP ポートスキャンツール:Nmap
Nmap はネットワーク探索およびセキュリティスキャンプログラムです。システム管理者や個人はこのソフトウェアを使って大規模なネットワークをスキャンし、どのホストが稼働していて、どのようなサービスを提供しているかの情報を取得することができます。
Nmap は多くのスキャン手法をサポートしています。例えば、UDP、TCP Connect()、TCP SYN(ハーフオープンスキャン)、FTP プロキシ(バウンス攻撃)、アイドルスキャン、ICMP、FIN、ACK スキャン、クリスマスツリースキャン、SYN スキャン、ヌルスキャンなどです。
Nmap には 4 つの基本機能があります。
- ホスト発見
- ポートスキャン
- バージョン検出
- オペレーティングシステム検出
nmap
ツールを使って、以下のコマンドを入力してポートスキャンを実行し、ターゲットマシンのオープンポートに関する情報を取得します。
nmap 192.168.122.102
Zenmap: Nmap のグラフィカルユーザーインターフェイス
Zenmap は Nmap プロジェクトによって開発された、Nmap をベースとした公式のグラフィカルユーザーインターフェイスです。Zenmap は Python で書かれたオープンソースで無料のグラフィカルインターフェイスで、さまざまなオペレーティングシステムプラットフォーム(Windows/Linux/Unix/Mac OS など)で動作します。Zenmap の目的は、Nmap により簡単な操作方法を提供することです。一般的な操作はプロファイルとして保存することができ、ユーザーはスキャン時にプロファイルを選択することができ、異なるスキャン結果を比較するのが便利です。また、ネットワークトポロジーのグラフィカル表示も提供します。
注意: LabEx 環境では Kali コンテナを使用しているため、現時点ではグラフィカルインターフェイスを使用することはできません。