はじめに
この実験(Lab)では、Kali Linux を使用して、バージョン管理に Git を、構造化されたレポート作成に Dradis を利用し、発見事項を管理し報告する方法を学びます。Git リポジトリの初期化、サンプル結果の Dradis へのインポート、深刻度による発見事項の整理、そしてプロフェッショナルなレポートのエクスポートを行います。これらのステップは、制御された環境で不可欠なサイバーセキュリティスキルを構築するのに役立ちます。すべての操作は、自動的にセットアップされる Kali Linux コンテナ内で行われます。ターミナルを開くと、Kali Linux コンテナのシェルに直接接続され、すぐに練習を開始できます。
環境設定と必要なツールのインストール
この最初のステップでは、Kali Linux コンテナ内で作業環境を設定し、実験に必要なツールをインストールします。LabEx VM 環境でターミナルを開くと、自動的に Kali Linux コンテナのシェルに接続されます。コンテナを手動で起動したり、シェルに入力したりする必要はありません。環境はすでに設定されています。
まず、パッケージリストを更新し、バージョン管理用の git や、後で使用するその他のユーティリティなどの必須ツールをインストールすることから始めましょう。新しい Kali Linux コンテナで作業しているため、必要なすべてのソフトウェアがインストールされていることを確認する必要があります。
ターミナルで次のコマンドを実行して、パッケージリストを更新し、git をインストールします。
apt update
apt install -y git
apt update コマンドは、設定されたリポジトリからパッケージリストを更新し、利用可能なパッケージに関する最新情報を確実に取得します。apt install -y git コマンドは、確認を求めることなく git をインストールします。このプロセスには数秒かかる場合があります。
期待される出力(例、実際の出力は異なる場合があります):
Hit:1 http://mirrors.cloud.aliyuncs.com/kali kali-rolling InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Setting up git (1:2.39.2-1) ...
この出力は、パッケージリストが更新され、git が正常にインストールされたことを示しています。git がインストールされたので、次のステップでリポジトリを初期化する準備ができました。この基本的な設定により、その後のすべての操作を Kali Linux コンテナ内でスムーズに実行できるようになります。
Git リポジトリの初期化
Kali Linux コンテナに git がインストールされたので、プロジェクトファイルを管理するために Git リポジトリを初期化します。Git は、ファイルの変更を時間の経過とともに追跡するバージョン管理システムであり、共同作業を容易にし、作業のさまざまなバージョンを維持するのに役立ちます。
ターミナルを開くと自動的に接続されるため、すでに Kali Linux コンテナのシェルにいます。デフォルトでは、コンテナ内の /root ディレクトリから開始します。整合性を保つために、/root/project にプロジェクト専用のディレクトリを作成し、そこで Git リポジトリを初期化しましょう。
次のコマンドを実行して、ディレクトリを作成し、Git リポジトリを初期化します。
mkdir -p /root/project
cd /root/project
git init
mkdir -p /root/project コマンドは、/root/project ディレクトリがまだ存在しない場合に作成します。cd /root/project コマンドは、このディレクトリに移動します。最後に、git init はこの場所に新しい Git リポジトリを初期化し、バージョン管理情報を保存するための隠し .git フォルダを作成します。
git init の期待される出力(例、実際の出力は異なる場合があります):
Initialized empty Git repository in /root/project/.git/
この出力は、Git リポジトリが /root/project ディレクトリに正常に作成されたことを確認します。Git リポジトリの初期化は、バージョン管理の最初のステップであり、後のステップでファイルを追加する際に、ファイルへの変更を追跡できるようになります。次のステップでは、このリポジトリ設定に基づいて、Dradis への結果のインポートをシミュレートするためのサンプルデータを作成します。
Dradis インポート用のサンプル結果の作成
このステップでは、セキュリティ評価におけるコラボレーションとレポート作成に使用されるツールである Dradis に結果をインポートすることをシミュレートするためのサンプルデータを作成します。Dradis は、さまざまなツールからの調査結果を一元化し、レポート作成のために整理するのに役立ちます。Kali Linux コンテナ内に完全な Dradis インスタンスを設定することは複雑であるため、スキャン結果を表す構造化されたテキストファイルを作成することにより、プロセスをシミュレートします。
すでに Kali Linux コンテナ内の /root/project ディレクトリで作業しています。これらのサンプル調査結果を保存するために results という名前のサブディレクトリを作成し、モックデータを含むテキストファイルを追加しましょう。このステップは、以前に初期化した Git リポジトリに基づいており、これらのファイルをバージョン管理下で追跡できます。
次のコマンドを実行して、results ディレクトリとサンプルファイルを作成します。
mkdir -p /root/project/results
nano /root/project/results/scan_results.txt
mkdir -p /root/project/results コマンドは、プロジェクトフォルダ内に results サブディレクトリを作成します。nano /root/project/results/scan_results.txt コマンドは、nano テキストエディタを開き、そのディレクトリに scan_results.txt という名前のファイルを作成および編集します。
nano エディタで、基本的なスキャン結果をシミュレートするために、次の内容を入力します。
Sample Scan Results
Vulnerability: Open Port 80
Severity: Medium
Description: HTTP service detected on port 80.
nano を保存して終了するには、Ctrl+O を押し、次に Enter を押してファイルを書き込み、最後に Ctrl+X を押してエディタを終了します。
次に、このファイルを Git リポジトリに追加して追跡するには、次を実行します。
cd /root/project
git add results/
git commit -m "Add sample scan results for Dradis import"
git add results/ コマンドは、results ディレクトリとその内容をバージョン管理のためにステージングします。git commit -m "Add sample scan results for Dradis import" コマンドは、説明的なメッセージとともに変更をコミットします。
git commit の期待される出力(例、実際の出力は異なる場合があります):
[master (root-commit) xxxxxx] Add sample scan results for Dradis import
1 file changed, 4 insertions(+)
create mode 100644 results/scan_results.txt
この出力は、サンプル結果ファイルが Git リポジトリに正常にコミットされたことを確認します。このファイルを作成して追跡することにより、通常はセキュリティツールからの結果のアップロードを伴う Dradis へのデータのインポートプロセスをシミュレートしています。次のステップでは、これらの調査結果をカテゴリに整理し、Dradis がレポート作成のためにデータを構造化する方法を模倣します。
深刻度別での脆弱性情報の整理
前のステップでサンプル結果を作成したので、Dradis がレポート作成のためにデータを構造化する方法をシミュレートして、これらの調査結果を深刻度に基づいてカテゴリに整理します。実際の Dradis 設定では、脆弱性などの問題を Web インターフェース内で、重大または中程度などのグループに分類します。ここでは、Kali Linux コンテナ内の /root/project ディレクトリ内にサブディレクトリとファイルを作成することにより、このプロセスを模倣します。
さまざまな深刻度レベルを表すために、findings ディレクトリと、2 つのサブディレクトリ critical と medium を作成しましょう。次に、各カテゴリに特定の調査結果ファイルを追加し、Git を使用して追跡します。
次のコマンドを実行して、ディレクトリ構造を作成します。
mkdir -p /root/project/findings/critical
mkdir -p /root/project/findings/medium
これらのコマンドは、findings ディレクトリと、その内部に critical および medium サブディレクトリを作成します。次に、テキストファイルを作成して、critical カテゴリにサンプル調査結果を追加しましょう。以下を実行します。
nano /root/project/findings/critical/critical_issue.txt
nano エディタで、重大な調査結果を表すために、次の内容を入力します。
Critical Finding
Issue: Unencrypted Database Connection
Severity: Critical
Description: Database connection on port 3306 is not encrypted.
Recommendation: Enable TLS for database connections.
Ctrl+O、Enter、最後に Ctrl+X を押して、nano を保存して終了します。
次に、次を実行して、medium カテゴリにサンプル調査結果を追加します。
nano /root/project/findings/medium/medium_issue.txt
nano エディタで、次の内容を入力します。
Medium Finding
Issue: Open HTTP Port
Severity: Medium
Description: HTTP service detected on port 80.
Recommendation: Redirect HTTP to HTTPS.
前と同様に、nano を保存して終了します。次に、次のコマンドを実行して、これらのファイルを Git リポジトリにコミットします。
cd /root/project
git add findings/
git commit -m "Organize findings into critical and medium categories"
git add findings/ コマンドは新しいファイルをステージングし、git commit コマンドはメッセージとともに変更を保存します。
git commit の期待される出力(例、実際の出力は異なる場合があります):
[master xxxxxx] Organize findings into critical and medium categories
2 files changed, 10 insertions(+)
create mode 100644 findings/critical/critical_issue.txt
create mode 100644 findings/medium/medium_issue.txt
この出力は、カテゴリ別に分類された調査結果を表すファイルがリポジトリにコミットされたことを確認します。深刻度別に調査結果を整理することは、構造化されたレポートを準備する上で重要なステップであり、修復の優先順位付けに役立ちます。次のステップでは、作成した構造に基づいて、これらの調査結果をレポートとしてエクスポートすることをシミュレートします。
Dradis レポートのエクスポートシミュレーション
この最後のステップでは、整理した調査結果をまとめたテキストファイルを作成することにより、Dradis からのレポートのエクスポートをシミュレートします。実際のシナリオでは、Dradis を使用すると、Web インターフェースを介して、調査結果をフォーマットされた PDF レポートとしてエクスポートできます。Kali Linux コンテナ環境の制約により、このようなレポートの内容を表すテキストファイルを /root/project ディレクトリに手動で作成することにより、このプロセスを模倣します。
reports ディレクトリと、調査結果をまとめた dradis_report.txt という名前のテキストファイルを作成しましょう。次のコマンドを実行して、ディレクトリを設定し、ファイルを作成します。
mkdir -p /root/project/reports
nano /root/project/reports/dradis_report.txt
mkdir -p /root/project/reports コマンドは、シミュレートされたレポートを保存するための reports ディレクトリを作成します。nano コマンドは、このディレクトリ内に dradis_report.txt を作成するためのエディタを開きます。
nano エディタで、Dradis からエクスポートされたかのように、調査結果をまとめるために次の内容を入力します。
Dradis Report - Security Assessment
Generated on: [Current Date]
1. Critical Findings
Issue: Unencrypted Database Connection
Severity: Critical
Description: Database connection on port 3306 is not encrypted.
Recommendation: Enable TLS for database connections.
2. Medium Findings
Issue: Open HTTP Port
Severity: Medium
Description: HTTP service detected on port 80.
Recommendation: Redirect HTTP to HTTPS.
Summary: This report consolidates findings from the security assessment for review and action.
Ctrl+O、Enter、最後に Ctrl+X を押して、nano を保存して終了します。次に、次のコマンドを実行して、このレポートファイルを Git リポジトリにコミットします。
cd /root/project
git add reports/
git commit -m "Add simulated Dradis report file"
git add reports/ コマンドはレポートファイルをステージングし、git commit コマンドは変更を保存します。
git commit の期待される出力(例、実際の出力は異なる場合があります):
[master xxxxxx] Add simulated Dradis report file
1 file changed, 14 insertions(+)
create mode 100644 reports/dradis_report.txt
この出力は、シミュレートされたレポートファイルがリポジトリにコミットされたことを確認します。このファイルを作成することは、Dradis から構造化されたレポートをエクスポートするプロセスをシミュレートします。これは、サイバーセキュリティプロジェクトで関係者に調査結果を提示するための重要なスキルです。このステップは、Git リポジトリの初期化から、Kali Linux コンテナ内での最終レポートの作成までのワークフローを完了します。
まとめ
この実験では、バージョン管理に Git を、構造化されたレポート作成に Dradis を使用して、Kali Linux で調査結果を管理および報告する方法を学習しました。まず、環境をセットアップし、Kali Linux コンテナ内で Git などの必要なツールをインストールすることから始めました。次に、Git リポジトリを初期化し、Dradis へのデータのインポートをシミュレートするためにサンプル結果を作成し、深刻度別に調査結果を整理し、最後にレポートのエクスポートをシミュレートしました。これらのステップは、バージョン管理と構造化されたレポート作成の基礎的な理解を提供し、管理された環境で作業するサイバーセキュリティ専門家にとって不可欠なスキルです。


