はじめに
この実験では、セキュリティ監査とペネトレーションテスト用に設計された人気の Linux ディストリビューションである Kali Linux を使用してペネトレーションテストを実行する方法を学びます。様々なセキュリティ脆弱性が意図的に設定された Metasploitable2 仮想マシンが提供されます。この実験の目的は、Kali Linux 環境に慣れ、ペネトレーションテストの概念を理解し、Metasploitable2 ターゲットの脆弱性を悪用する練習をすることです。
Kali Linux と Metasploitable2 環境をセットアップする
このステップでは、実験環境で提供される Kali Linux と Metasploitable2 の仮想マシンをセットアップする方法を学びます。
- まず、Kali Linux イメージの ID を取得する必要があります。以下のコマンドを実行することで表示できます。
docker images
以下のコマンドを実行して Kali Linux コンテナを起動します。image-id は実際の Kali Linux イメージの ID に置き換えてください。
docker run -ti --network host image-id bash
- 以下のコマンドを実行して、Metasploitable2 ターゲットが
/etc/hostsファイルに記載されていることを確認します。
cat /etc/hosts
192.168.122.102 target の行が存在しない場合は、以下のコマンドを使用して追加します。
echo "192.168.122.102 target" >> /etc/hosts
- 新しいターミナルを開き、ホストマシン上で以下のコマンドを実行して Metasploitable2 仮想マシンを起動します。
sudo virsh start Metasploitable2
ターゲットマシンが起動するのを待ちます。起動には 1 - 3 分かかる場合があります。
- (Kali Linux 仮想マシン内で)ターゲットに ping を送信することで、Kali Linux と Metasploitable2 間のネットワーク接続をテストします。
ping 192.168.122.102
または:
ping target
ping の応答が表示されれば、ネットワーク接続が成功していることを示します。応答が返ってくるまでに時間がかかる場合があり、Ctrl+C を押すと終了できます。
TCP ポートスキャンを実行する
Kali Linux には、Nmap(ネットワークマッパー)、John the Ripper(パスワードクラッカー)、Metasploit Framework(リモートエクスプロイトフレームワーク)など、多数のセキュリティツールが事前にインストールされています。
このタスクでは、Nmap を使用して TCP ポートスキャンを実行します。以下は、Nmap を使用した簡単な TCP ポートスキャンを示すコードスニペットの例です。前のステップでセットアップした Kali Linux 仮想マシンで以下のコマンドを実行してください。
nmap -sT -p1-1000 192.168.122.102
このコマンドは、ターゲットホストの 1 から 1000 番までのポートに対して TCP コネクトスキャンを実行します。
基本的な脆弱性スキャンを実行する
このステップでは、Nmap を使用して Metasploitable2 ターゲットに対して基本的な脆弱性スキャンを実行する方法を学びます。
- Kali Linux コンテナ内で、以下のコマンドを実行して Metasploitable2 ターゲットの開いているポートをスキャンします。
nmap -sV -p- 192.168.122.102
このコマンドは、ターゲットホストのすべてのポートに対して TCP コネクトスキャンを実行し、開いているポートのサービス/バージョン情報を特定しようとします。
- 出力を確認します。出力には、Metasploitable2 ターゲットで実行されている開いているポートと関連するサービスのリストが表示されます。
以下は、あなたが見るかもしれない出力の例です。
Starting Nmap 7.80 ( https://nmap.org ) at 2023-06-01 12:34:56 EDT
Nmap scan report for target (192.168.122.102)
Host is up (0.00024s latency).
Not shown: 65533 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.24 with Suhosin-Patch)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp open exec?
513/tcp open login?
514/tcp open shell?
1099/tcp open rmiregistry GNU Classpath grmiregistry
1524/tcp open ingreslock?
2121/tcp open ccproxy-ftp Citrix CacheServer
2123/tcp open gtp-user Citrix Gateway
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
Service detection performed. Please report any incorrect results at https://nmap.org/submit/.
Nmap done: 1 IP address (1 host up) scanned in 14.45 seconds
この出力は、Metasploitable2 ターゲットで実行されている様々な開いているポートとサービス、たとえば FTP、SSH、Telnet、HTTP、MySQL、PostgreSQL などを示しています。
まとめ
この実験では、人気のペネトレーションテストとセキュリティ監査用のディストリビューションである Kali Linux と、攻撃技術の練習用に設計された脆弱性のある仮想マシンである Metasploitable2 について学びました。Kali Linux コンテナと Metasploitable2 ターゲットを含む実験環境をセットアップし、Nmap を使用して基本的な脆弱性スキャンを実行し、ターゲットで実行されている開いているポートとサービスを特定しました。この実践的な経験は、ペネトレーションテストの基本を理解するのに役立ち、将来の実験でのより高度な技術に備えることができます。



