ターゲットホストのオープンポートスキャン
このステップでは、ツールを使用してターゲットホストのオープンポートをスキャンする方法を紹介します。
ペネトレーションテストのプロセスでは、ターゲットホストのオープンポートを把握することが不可欠です。Kali Linux には、標準的なポートスキャニングツールとして Nmap と Zenmap が用意されています。ここでは、主にこれら2つのツールの使用方法を紹介します。
まず、実験環境を起動しましょう。ホストマシンは Ubuntu(現在接続しているデスクトップ)であり、Docker と QEMU 仮想環境がインストールされています。これらはそれぞれ Kali Linux コンテナと Metasploitable2 ターゲットマシンのプラットフォームを提供します。
LabEx ホストマシン上で、デスクトップの xfce ターミナルをダブルクリックし、以下のコマンドを入力して Metasploitable2 を起動します。
sudo virsh start Metasploitable2
ターゲットマシンの起動には1〜3分かかる場合があります。
ターゲットマシンに ping を送信して、稼働していることを確認します(Ctrl-C で ping を終了します)。
ping 192.168.122.102
次に、Kali コンテナを起動して bash インターフェースに入り、ping 操作を実行してネットワーク接続を確認します。
docker run -ti --network host b5b709a49cd5 bash
ネットワーク接続を確認するために ping 操作を実行します(Ctrl-C で ping を終了します)。
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 プロキシ(バウンス攻撃)、Idle スキャン、ICMP、FIN、ACK スキャン、Xmas Tree、SYN スキャン、Null スキャンなど、多くのスキャン技術をサポートしています。
Nmap には4つの基本機能があります。
- ホストディスカバリ(ホストの検出)
- ポートスキャン
- バージョン検出
- オペレーティングシステム(OS)検出
nmap ツールを使用して、以下のコマンドを入力し、ポートスキャンを実行してターゲットマシンのオープンポートに関する情報を取得します。
nmap 192.168.122.102
Zenmap: Nmap のグラフィカルユーザーインターフェース
Zenmap は、Nmap プロジェクトによって開発された Nmap 公式のグラフィカルユーザーインターフェースです。Zenmap は Python で書かれたオープンソースかつ無料の GUI であり、さまざまなオペレーティングシステム(Windows/Linux/Unix/Mac OS など)で動作します。Zenmap は、Nmap の操作をより簡略化することを目的としています。一般的な操作はプロファイルとして保存でき、スキャン時にプロファイルを選択することで、異なるスキャン結果を比較するのに便利です。また、ネットワークトポロジーのグラフィカル表示も提供します。
注意: LabEx 環境では Kali コンテナを使用しているため、現時点ではグラフィカルインターフェースは使用できません。