この実験(Lab)では、Kali Linux に搭載されている重要なセキュリティツールを操作し、ペネトレーションテストやサイバーセキュリティタスクに活用する方法を学びます。この実践的なセッションでは、dpkg -l を使用してプリインストールされたツールを表示し、msfconsole を使用して Metasploit framework を起動し、nmap でネットワークスキャンを実行し、nikto でウェブサーバーをスキャンし、man ページを介してツールのドキュメントにアクセスし、コマンド出力をファイルに保存する方法を順を追って説明します。初心者向けに設計されており、この実験(Lab)では、LabEx VM 上の制御されたコンテナ環境内での Kali Linux のステップバイステップの紹介を提供します。ターミナルを開くと、Kali Linux コンテナのシェルに自動的に接続され、すぐに練習を開始できます。
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
kali(("Kali")) -.-> kali/KaliGroup(["Kali"])
kali/KaliGroup -.-> kali/term_ops("Kali Terminal")
kali/KaliGroup -.-> kali/file_ctrl("File Management")
kali/KaliGroup -.-> kali/pkg_ops("Package Management")
kali/KaliGroup -.-> kali/nmap_ops("Nmap Tool")
kali/KaliGroup -.-> kali/metasploit_ops("Metasploit Framework")
kali/KaliGroup -.-> kali/vuln_scan("Vulnerability Scanning")
kali/KaliGroup -.-> kali/nikto_ops("Nikto Scanner")
subgraph Lab Skills
kali/term_ops -.-> lab-552192{{"Kali Linux のセキュリティツールを探索する"}}
kali/file_ctrl -.-> lab-552192{{"Kali Linux のセキュリティツールを探索する"}}
kali/pkg_ops -.-> lab-552192{{"Kali Linux のセキュリティツールを探索する"}}
kali/nmap_ops -.-> lab-552192{{"Kali Linux のセキュリティツールを探索する"}}
kali/metasploit_ops -.-> lab-552192{{"Kali Linux のセキュリティツールを探索する"}}
kali/vuln_scan -.-> lab-552192{{"Kali Linux のセキュリティツールを探索する"}}
kali/nikto_ops -.-> lab-552192{{"Kali Linux のセキュリティツールを探索する"}}
end
dpkg -l によるプリインストールツールの確認
この最初のステップでは、dpkg -l コマンドを使用して、Kali Linux システムにプリインストールされているツールとパッケージを確認する方法を学びます。これは、ペネトレーションテストやシステム管理で使用できるソフトウェアを理解するための、基本的でありながら不可欠なスキルです。
LabEx VM 環境でターミナルを開くと、Kali Linux コンテナのシェルに自動的に接続されます。コンテナを手動で起動したり、シェルに入力したりする必要はありません。環境はすでにセットアップされています。
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============================-====================-============-========================================================
ii adduser 3.118 all add and remove users and groups
ii apt 2.2.4 amd64 commandline package manager
ii base-files 11.1+deb11u7 amd64 Debian base system miscellaneous files
...
Kali Linux で利用可能なツールを確認したので、最も強力なペネトレーションテストフレームワークの 1 つである Metasploit を msfconsole コマンドを使用して起動してみましょう。このステップは、システムのツールに関する理解を深め、セキュリティテストのための重要なプラットフォームを紹介します。
Starting Nmap 7.91 ( https://nmap.org ) at ...
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
80/tcp open http
...
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
この出力では、Host is up はターゲットに到達可能であることを確認します。テーブルには、開いているポート (HTTP の 80/tcp など)、その状態 (open はアクセス可能を意味します)、および関連するサービスがリストされています。この情報は、システム上で実行されているサービスを理解するために不可欠です。localhost をスキャンすることで、nmap を安全に使用する練習をし、今後のステップでより高度なネットワーク偵察タスクに備えることができます。
Nikto を使用した Web 脆弱性のインストールとスキャン
nmap を使用したネットワークスキャン(network scanning)のスキルを基に、このステップでは、Web サーバーをスキャンして脆弱性(vulnerability)と設定ミス(misconfiguration)を特定するツールである nikto を紹介します。これは、Web セキュリティテスト(web security testing)の重要な部分です。
nikto は、古いソフトウェア、安全でないファイル、その他の潜在的なセキュリティ上の欠陥など、既知の問題について Web サーバーをチェックするオープンソースツールです。セキュリティ専門家によって、Web アプリケーションのセキュリティを評価するために広く使用されています。
まず、nikto が Kali Linux コンテナにインストールされていることを確認します。ターミナルに次のコマンドを入力し、Enter キーを押してインストールします。
apt install -y nikto
インストールが完了するまで待ちます。数秒しかかからないはずです。インストールが完了したら、nikto の機能をデモンストレーションするために、安全なターゲットとして localhost をスキャンします。localhost で Web サーバーが実行されていない場合でも、ツールは接続を試みる方法を示します。これは学習に役立ちます。次のコマンドを入力して Enter キーを押します。
nikto -h localhost
-h オプションは、スキャンするホストを指定します。この場合、localhost はデフォルトの Web サーバーポート (通常は 80) をターゲットにしています。
この出力は、nikto が localhost 上の Web サーバーへの接続を試みていることを示しています。サーバーが実行されていない場合、上記のように接続できないことが報告されます。サーバーがアクティブな場合、潜在的な脆弱性または設定ミスがリストされます。このステップは、Web アプリケーションのセキュリティ上の弱点を特定するための重要なスキルである、Web 脆弱性スキャンに nikto を使用する方法を理解するのに役立ちます。
man ページを使用したツールのドキュメントへのアクセス
nmap や nikto などのツールを使用したので、さらに学習するためにドキュメントにアクセスする方法を知っておくことが重要です。このステップでは、man ページを使用して、Kali Linux のコマンドとツールに関する詳細な情報を調べる方法を学びます。
man ページ (manual pages の略) は、ほとんどの Linux ツールとコマンドの包括的なガイドです。詳細な説明、オプション、例、および使用方法の手順を提供し、ツールを効果的に使用する方法を理解する上で非常に貴重です。
man がまだインストールされていない場合は、インストールします。
apt install -y man
例として、nmap の man ページにアクセスしてみましょう。ターミナルに次のコマンドを入力し、Enter キーを押します。
NMAP(1) Nmap Reference Guide NMAP(1)
NAME
nmap - Network exploration tool and security / port scanner
SYNOPSIS
nmap [Scan Type...] [Options] {target specification}
DESCRIPTION
Nmap ("Network Mapper") is an open source tool for network exploration and
security auditing. It was designed to rapidly scan large networks, although
it works fine against single hosts. Nmap uses raw IP packets in novel ways
to determine what hosts are available on the network, what services (application name and version) those hosts are offering, what operating systems (and
OS versions) they are running, what type of packet filters/firewalls are in
use, and dozens of other characteristics.
...
出力が保存されたことを確認するには、次のコマンドを入力して Enter キーを押し、ファイルの内容を表示します。
cat /root/nmap_scan.txt
期待される出力 (例、実際の出力は異なる場合があります):
Starting Nmap 7.91 ( https://nmap.org ) at ...
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
80/tcp open http
...
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds