Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
apache-web-log-analysis-lab — Apache Webアクセスログを分析して、ディレクトリブルートフォースやウェブスキャン活動を検出することに焦点を当てたブルーチームラボ。 | Kitploit
ツール/GitHubGitHub/pedrofbrm/apache-web-log-analysis-lab
ウェブセキュリティ学習と教育ログ分析ラボと実践
GitHubpedrofbrm/apache-web-log-analysis-lab

apache-web-log-analysis-lab

Apache Webアクセスログを分析して、ディレクトリブルートフォースやウェブスキャン活動を検出することに焦点を当てたブルーチームラボ。

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
3ヶ月前未レビュー

Apache Webログ分析ラボ

Apache HTTPサーバーログを分析し、Webスキャン活動、ディレクトリ列挙、パストラバーサル試行を検出することに焦点を当てたBlue Teamラボ。


目的

隔離されたラボ環境でApache Webサーバーをインストールして公開し、業界標準ツールを使用して自動Webスキャンをシミュレートし、Blue Teamの視点から生成されたログを分析し、攻撃パターン、ツールシグネチャ、悪意のある偵察活動の兆候を特定します。


環境

コンポーネント詳細
攻撃者VMKali Linux
ターゲットVMDebian 13
ネットワークNAT Network (VirtualBox)
攻撃者IP10.0.2.5
ターゲットIP10.0.2.15
WebサーバーApache 2.4.67
ログソース/var/log/apache2/access.log, /var/log/apache2/error.log
HTTPポート80

実行手順

1. Apacheサービスの検証

ターゲットマシン上でApache HTTPサーバーがアクティブで実行中であることを確認しました。```bash sudo systemctl status apache2 --no-pager

root@kitploit:~
結果: `active (running)` since Wed 2026-05-06 21:09:17. Apache 2.4.67 (Debian), Main PID 3164, 55 tasks active.

---

### 2. ターゲットIPの特定

DebianターゲットマシンのIPアドレスを特定しました。```bash
ip a

ターゲットIP: 10.0.2.15/24 — interface enp0s3


3. 接続テスト

Kali攻撃機とDebianターゲット間のネットワーク接続を確認しました。```bash ping -c 4 10.0.2.15

root@kitploit:~
**Result:** 4 packets transmitted, 4 received, 0% packet loss. RTT min/avg/max: 0.495/1.288/2.139ms.

---

### 4. Apache ブラウザテスト

KaliブラウザからApacheサーバにアクセスし、HTTPサービスの可用性を確認しました。```
http://10.0.2.15

結果: Apache2 Debian デフォルトページが正常に読み込まれました — Webサーバーが到達可能でHTTPリクエストに応答していることを確認しました。


5. Webコンテンツのセットアップ

ターゲットサーバー上にテスト用のディレクトリとページを作成し、現実的なWebアプリケーション構造をシミュレートしました。```bash sudo mkdir -p /var/www/html/admin sudo mkdir -p /var/www/html/backup sudo mkdir -p /var/www/html/login echo "

Admin Panel

" | sudo tee /var/www/html/admin/index.html echo "

Login Page

" | sudo tee /var/www/html/login/index.html

root@kitploit:~
ディレクトリ作成: `/admin`、`/backup`、`/login`

---

### 6. Nikto スキャン

指定されたWebサーバーに対してNiktoを実行し、自動化された脆弱性スキャンをシミュレートしました。```bash
nikto -h http://10.0.2.15

Nikto v2.5.0 — 開始時刻: 2026-05-06 20:16:56 — 終了時刻: 20:17:13 (17秒)

Niktoによる発見結果:

  • サーバー: Apache/2.4.67 (Debian)
  • 不足ヘッダー: X-Frame-Options — クリックジャッキング保護なし
  • 不足ヘッダー: X-Content-Type-Options — MIMEスニッフィング保護なし
  • ETag漏洩: サーバーがETagsを介してinode番号を漏洩する可能性あり (CVE-2003-1418)
  • 許可メソッド: GET, POST, OPTIONS, HEAD
  • 見つかった興味深いディレクトリ: /admin/, /backup/, /login/
  • 確認: /admin/index.html — 管理ログインページにアクセス可能
  • 総リクエスト数: 17秒間で8102件

7. Dirb スキャン

Dirbを実行して、対象Webサーバーに対してディレクトリブルートフォースを実施しました。```bash dirb http://10.0.2.15

root@kitploit:~
**DIRB v2.22 — 開始: Wed May 6 20:19:50 2026 — 終了: 20:19:59 2026(9秒)**

使用したワードリスト: `/usr/share/dirb/wordlists/common.txt` — 4612 単語テスト済み

見つかったディレクトリとファイル:

| URL                               | コード | サイズ |
| --------------------------------- | ---- | ----- |
| http://10.0.2.15/index.html       | 200  | 10703 |
| http://10.0.2.15/server-status    | 403  | 314   |
| http://10.0.2.15/admin/           | 200  | —     |
| http://10.0.2.15/admin/index.html | 200  | 21    |
| http://10.0.2.15/backup/          | 200  | —     |
| http://10.0.2.15/login/           | 200  | —     |
| http://10.0.2.15/login/index.html | 200  | 20    |

**警告:** `/backup/` のディレクトリリストが有効です — インデックスファイルが存在しないため、ディレクトリ内容は直接参照可能です。

**合計ダウンロード:** 13836 バイト — **検出:** 4 リソース

---

### 8. アクセスログ解析

攻撃パターンを特定するために、生のアクセスログエントリを調査しました。```bash
sudo cat /var/log/apache2/access.log

Niktoスキャンフェーズからのサンプルエントリ(21:18:32):``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.tar.bz2 HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10_0_2_15.gz HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.sql HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.zip HTTP/1.1" 404 527

root@kitploit:~
Dirbスキャンフェーズのサンプルエントリ (21:21:34):```
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xsql HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xxx HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zimbra HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zoom HTTP/1.1" 404 472

観測されたパターン: 同じ秒間に何百もの連続したリクエストが存在しないパスを標的としており、自動スキャン動作と一致しています。


9. 送信元IPによるスキャンパターン

攻撃元のIPからのすべてのアクセスログエントリをフィルタリングしました。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | head -30

root@kitploit:~
観察された追加のパターン:

- NiktoはサーバーIPをファイル名として使用してバックアップファイルにアクセスしようとしました(例:`10.0.2.15.tar.bz2`、`10.0.2.15.sql`、`10.0.2.15.zip`)
- Dirbは発見された各ディレクトリを対象に、アルファベット順のワードリストを繰り返し処理しました
- 両方のツールはマシンスピードでリクエストを生成しました — 同一の送信元ポート範囲から毎秒複数のエントリ

---

### 10. HTTPステータスコード分布

攻撃対象範囲を定量化するために、HTTP応答コードごとにリクエストを集計しました。```bash
sudo grep " 200 " /var/log/apache2/access.log | wc -l
sudo grep " 403 " /var/log/apache2/access.log | wc -l
sudo grep " 404 " /var/log/apache2/access.log | wc -l
HTTPコード意味数
200OK — リソースが見つかり提供されました177
403禁止 — リソースは存在するがアクセス拒否26
404未検出 — リソースが存在しません21740

合計404エラー: 21,740 — 大多数のリクエストは存在しないパスを対象としており、これは自動化されたディレクトリブルートフォースの特徴です。


11. 攻撃者IPごとの総リクエスト数

攻撃者からのすべてのアクセスログエントリをカウントしました。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | wc -l

root@kitploit:~
**10.0.2.5 からの総リクエスト数: 21,962**

---

### 12. ツール署名の識別

アクセスログ内のスキャナ固有の署名を検索しました。

#### Nikto の署名```bash
sudo grep "nikto" /var/log/apache2/access.log | head -5

結果:``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "PUT /nikto-test-pk9VPSjF.html HTTP/1.1" 405 590 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"

root@kitploit:~
NiktoはPUTリクエストを用いて、テストファイル(`nikto-test-pk9VPSjF.html`)を作成し、サーバーへの書き込み権限を確認しました。

#### Dirb シグネチャ```bash
sudo grep "DirBuster\|dirb" /var/log/apache2/access.log | head -5

結果:``` 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:32 -0300] "GET /login/dirb HTTP/1.1" 404 472

root@kitploit:~
Dirb自体の名前が使用するワードリストに含まれており、ログに明確な痕跡を残します。

---

### 13. エラーログ分析

スキャンによって引き起こされたサーバー側のセキュリティイベントについて、Apacheエラーログを調査しました。```bash
sudo cat /var/log/apache2/error.log

重大なイベントが見つかりました:

パストラバーサルの試行(ディレクトリトラバーサル)

Nikto は、ディレクトリ境界を横断して機密システムファイルにアクセスしようとしました。``` [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../../../etc/shadow) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini) [client 10.0.2.5] AH10244: invalid URI path (/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../boot.ini) [client 10.0.2.5] AH10244: invalid URI path (/../../../../winnt/repair/sam._)

root@kitploit:~
Targets included: `/etc/passwd`, `/etc/shadow`, `boot.ini`, `win.ini`, Windows SAM database — all classic path traversal targets.

#### 無効なHTTPメソッド

Niktoは、非標準のHTTPメソッドをテストして設定ミスを特定しました:```
[client 10.0.2.5] AH00135: Invalid method in request DIWHWPJH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request DEBUG / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request TRACK / HTTP/1.0
[client 10.0.2.5] AH00135: Invalid method in request SEARCH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request INDEX / HTTP/1.1

保護されたファイルへのアクセス試行

両方のツールがApacheで保護された設定ファイルへのアクセスを試みました:``` [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htaccess [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/server-status [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/admin/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/login/.htpasswd

root@kitploit:~
#### VMware固有のパストラバーサル

NiktoはVMwareインフラストラクチャの露出も検査しました:```
[client 10.0.2.5] AH10244: invalid URI path (/sdk/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/etc/vmware/hostd/vmInventory.xml)

分析

アクセスログとエラーログから、単一のIPアドレス(10.0.2.5)からApache Webサーバ(ポート80)を標的とした2段階の自動攻撃パターンが明らかになった。

フェーズ1 — 脆弱性スキャン (Nikto, 21:14~21:18)

Niktoは17秒間に8,102リクエストを実行し、既知のWeb脆弱性、欠落しているセキュリティヘッダー、危険なHTTPメソッド、パストラバーサルベクターをテストした。エラーログには/etc/passwd、/etc/shadow、boot.ini、Windows SAMファイルへの複数のアクセス試行が記録されており、いずれもApacheのURIバリデーションによってブロックされた。Niktoはまた、PUTリクエストでテストファイルを作成しようと試みており、書き込み権限をテストしていたことが確認された。

フェーズ2 — ディレクトリ列挙 (Dirb, 21:19~21:21)

Dirbは共通のワードリストから4,612の単語をルートおよび発見された各サブディレクトリに対してテストした。これにより、観測された21,740件の404エラーの大部分が生成された。Dirbは/admin/、/backup/、/login/を有効なディレクトリとして正常に特定した。/backup/ディレクトリではディレクトリリスティングが有効になっていることが判明した。これは重大な設定ミスであり、攻撃者がその内容を直接閲覧できる状態であった。

総合評価

単一の送信元IPから約7分間に21,962件のHTTPリクエストが集中し、パストラバーサル試行、無効なHTTPメソッド、アクセスログとエラーログの両方におけるツール固有のシグネチャが組み合わさっていることから、これは自動化されたWeb偵察活動の明確な証拠となる。

悪用の成功は確認されなかった。すべてのパストラバーサル試行はApacheのURIバリデーションエンジンによって拒否された。保護されたファイル(.htpasswd、.htaccess、server-status)へのアクセスはサーバー設定によって拒否された。


主要指標


防御推奨事項

調査結果に基づき、以下の制御策を推奨する。

  • Apache設定にセキュリティヘッダーを追加: X-Frame-Options、X-Content-Type-Options、Content-Security-Policy
  • ETagヘッダーを無効にしてiノード情報の漏洩を防ぐ
  • 許可するHTTPメソッドをGET、POST、HEADのみに制限する
  • 特に/backup/を含むすべてのディレクトリでディレクトリリスティングを無効にする
  • /server-statusへのアクセスをlocalhostのみに制限する
  • レート制限を実装し、秒間のリクエスト数が過剰なIPをブロックする
  • WAF(Webアプリケーションファイアウォール)を展開してパストラバーサルパターンを検出・ブロックする
  • error.log内のAH10244(無効なURIパス)イベントを継続的に監視する
  • 機密ディレクトリ(/admin/、/backup/)への公開アクセスを削除または制限する
  • HTTPレスポンスヘッダーからApacheバージョンを隠す(ServerTokens Prod、ServerSignature Off)

結論

このラボでは、自動化されたWebスキャンツールがApacheのアクセスログとエラーログの両方に明確で識別可能なパターンを残すことを実証した。404エラーの量、error.log内のパストラバーサル試行の存在、無効なHTTPメソッドリクエスト、リクエストパスとユーザーエージェント文字列内のツール固有の署名を関連付けることで、攻撃者の行動を事前に知らなくても、完全な攻撃タイムラインを再構築し、使用されたツールを特定することができた。

この演習は、Web向けインフラストラクチャの基本的なBlue Teamの実践として、Webサーバーログ監視、セキュリティヘッダー設定、ディレクトリアクセス制御の重要性を再確認させるものである。


使用ツール

  • Kali Linux
  • Debian 13
  • Apache 2.4.67
  • Nikto v2.5.0
  • Dirb v2.22
  • grep, wc, cat


Apache Webログ分析ラボ

ラボラトリオ Blue Team - Apacheサーバーのログを分析し、Webスキャン、ディレクトリ列挙、パストラバーサル試行を検出することに焦点を当てています。


目的

隔離されたラボ環境でApache Webサーバーをインストールして公開し、セキュリティテストで広く使用されているツールを使用して自動スキャンをシミュレートし、生成されたログをBlue Teamの視点から分析し、攻撃パターン、ツールの署名、悪意のある偵察活動の兆候を特定します。


環境


実行手順

1. Apacheサービスの確認

対象マシンでApacheサーバーがアクティブで実行中であることが確認されました。```bash sudo systemctl status apache2 --no-pager

root@kitploit:~
結果: `active (running)` 2026-05-06 Wed 21:09:17 から。Apache 2.4.67 (Debian)、メインPID 3164、アクティブなタスク55。

---

### 2. ターゲットIPアドレスの特定

ターゲットのDebianマシンのIPアドレスが特定されました。```bash
ip a

ターゲットIP: 10.0.2.15/24 — インターフェース enp0s3


3. 接続テスト

KaliとDebian間のネットワーク接続を確認しました。```bash ping -c 4 10.0.2.15

root@kitploit:~
**結果:** 4 パケット送信、4 受信、0% 損失。RTT min/avg/max: 0.495/1.288/2.139ms。

---

### 4. ブラウザでのApacheテスト

KaliのブラウザからApacheサーバーにアクセスし、HTTPサービスの可用性を確認しました。```
http://10.0.2.15

結果: Apache2 Debianのデフォルトページが正常に読み込まれました — Webサーバーがアクセス可能で、HTTPリクエストに応答していることが確認されました。


5. テストコンテンツの作成

実際のWebアプリケーション構造をシミュレートするため、ターゲットサーバー上にテスト用のディレクトリとページを作成しました。```bash sudo mkdir -p /var/www/html/admin sudo mkdir -p /var/www/html/backup sudo mkdir -p /var/www/html/login echo "

Admin Panel

" | sudo tee /var/www/html/admin/index.html echo "

Login Page

" | sudo tee /var/www/html/login/index.html

root@kitploit:~
Diretórios criados: `/admin`, `/backup`, `/login`

---

### 6. Niktoによるスキャン

対象のWebサーバーに対してNiktoを実行し、自動化された脆弱性スキャンをシミュレートしました。```bash
nikto -h http://10.0.2.15

Nikto v2.5.0 — 開始: 2026-05-06 20:16:56 — 終了: 20:17:13 (17秒)

Nikto によって報告された発見事項:

  • サーバ: Apache/2.4.67 (Debian)
  • 欠落ヘッダ: X-Frame-Options — クリックジャッキング対策が欠落
  • 欠落ヘッダ: X-Content-Type-Options — MIMEスニッフィング対策が欠落
  • ETag漏洩: サーバーがETags経由でinode番号を漏洩する可能性あり (CVE-2003-1418)
  • 許可メソッド: GET, POST, OPTIONS, HEAD
  • 発見された興味深いディレクトリ: /admin/, /backup/, /login/
  • 確認済み: /admin/index.html — 管理者ページが公開アクセス可能
  • リクエスト総数: 17秒間に8102件

7. Dirbによるスキャン

Dirbを実行して、対象Webサーバーに対してディレクトリブルートフォースを実施しました。```bash dirb http://10.0.2.15

root@kitploit:~
**DIRB v2.22 — 開始: 2026年5月6日 20:19:50 — 終了: 20:19:59 2026 (9秒)**

使用したワードリスト: `/usr/share/dirb/wordlists/common.txt` — 4612語テスト済み

見つかったディレクトリとファイル:

| URL                               | コード | サイズ |
| --------------------------------- | ------ | ------- |
| http://10.0.2.15/index.html       | 200    | 10703   |
| http://10.0.2.15/server-status    | 403    | 314     |
| http://10.0.2.15/admin/           | 200    | —       |
| http://10.0.2.15/admin/index.html | 200    | 21      |
| http://10.0.2.15/backup/          | 200    | —       |
| http://10.0.2.15/login/           | 200    | —       |
| http://10.0.2.15/login/index.html | 200    | 20      |

**注意:** ディレクトリ `/backup/` はリスト表示が有効になっています — インデックスファイルがないため、ディレクトリの内容を直接ブラウズできます。

**合計ダウンロード:** 13836バイト — **見つかったリソース:** 4

---

### 8. アクセスログの分析

攻撃パターンを特定するために、アクセスログの生エントリを調査しました。```bash
sudo cat /var/log/apache2/access.log

Niktoのスキャンフェーズのエントリ (21:18:32):``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.tar.bz2 HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10_0_2_15.gz HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.sql HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.zip HTTP/1.1" 404 527

root@kitploit:~
Dirb スキャンフェーズのエントリ (21:21:34):```
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xsql HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xxx HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zimbra HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zoom HTTP/1.1" 404 472

観察されたパターン: 同一秒内に数百の連続したリクエストがあり、すべて存在しないパスを対象としている — 自動スキャンと一致する挙動。


9. 送信元IPによるスキャンパターン

攻撃者のIPから発生したアクセスログの全エントリをフィルタリング。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | head -30

root@kitploit:~
追加で観察されたパターン:

- NiktoはサーバーのIPをファイル名として使用してバックアップファイルにアクセスしようとしました(例: `10.0.2.15.tar.bz2`, `10.0.2.15.sql`, `10.0.2.15.zip`)
- Dirbは発見した各ディレクトリを対象に、wordlistをアルファベット順に反復処理しました
- 両方のツールはマシンスピードでリクエストを生成しました—同じ送信元ポート範囲で毎秒複数のエントリ

---

### 10. HTTPステータスコードの分布

攻撃対象領域を定量化するために、HTTP応答コードごとのリクエストを集計しました。```bash
sudo grep " 200 " /var/log/apache2/access.log | wc -l
sudo grep " 403 " /var/log/apache2/access.log | wc -l
sudo grep " 404 " /var/log/apache2/access.log | wc -l
HTTPコード意味数量
200OK — リソースが見つかり、配信された177
403禁止 — リソースは存在するがアクセス拒否26
404未検出 — リソースは存在しない21.740

404エラーの総数: 21.740 — リクエストの大半が存在しないパスに向けられており、これは自動化されたディレクトリブルートフォースの特徴です。


11. 攻撃者IPごとの総リクエスト数

攻撃者由来のアクセスログエントリをすべてカウントしました。```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | wc -l

root@kitploit:~
**10.0.2.5 からの総リクエスト数: 21.962**

---

### 12. ツールの署名識別

アクセスログ内でスキャナの特定の署名を検索しました。

#### Nikto の署名```bash
sudo grep "nikto" /var/log/apache2/access.log | head -5

結果:``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "PUT /nikto-test-pk9VPSjF.html HTTP/1.1" 405 590 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"

root@kitploit:~
Niktoは、サーバーへの書き込み権限を確認するために、PUTリクエストを介してテストファイル(`nikto-test-pk9VPSjF.html`)を作成しました。

#### Dirbの署名```bash
sudo grep "DirBuster\|dirb" /var/log/apache2/access.log | head -5

結果:``` 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:32 -0300] "GET /login/dirb HTTP/1.1" 404 472

root@kitploit:~
Dirb自身の名前が使用するwordlistに現れ、ログに明確な痕跡を残します。

---

### 13. エラーログの分析

Apacheのエラーログを検査し、スキャンによって生成されたセキュリティイベントを特定します。```bash
sudo cat /var/log/apache2/error.log

重要なイベントが見つかりました:

Tentativas de Path Traversal (Directory Traversal)

Niktoは、ディレクトリ境界を越えてシステムの機密ファイルへのアクセスを試みました:``` [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../../../etc/shadow) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini) [client 10.0.2.5] AH10244: invalid URI path (/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../boot.ini) [client 10.0.2.5] AH10244: invalid URI path (/../../../../winnt/repair/sam._)

root@kitploit:~
対象には、`/etc/passwd`、`/etc/shadow`、`boot.ini`、`win.ini`、WindowsのSAMデータベースなど、パストラバーサルの典型的なターゲットが含まれていました。

#### 無効なHTTPメソッド

Niktoは、不適切な設定を特定するために、非標準のHTTPメソッドをテストしました。```
[client 10.0.2.5] AH00135: Invalid method in request DIWHWPJH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request DEBUG / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request TRACK / HTTP/1.0
[client 10.0.2.5] AH00135: Invalid method in request SEARCH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request INDEX / HTTP/1.1

保護されたファイルへのアクセス試行

両方のツールは、Apacheによって保護された設定ファイルへのアクセスを試みました:``` [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htaccess [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/server-status [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/admin/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/login/.htpasswd

root@kitploit:~
#### VMware固有のPath Traversal

Niktoはまた、VMwareインフラストラクチャの露出をテストしました:```
[client 10.0.2.5] AH10244: invalid URI path (/sdk/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/etc/vmware/hostd/vmInventory.xml)

分析

アクセスログとエラーログから、単一のIPアドレス(10.0.2.5)からApacheサーバのポート80を標的とした、2段階の自動化された攻撃パターンが明らかになりました。

フェーズ1 — 脆弱性スキャン(Nikto、21:14〜21:18)

Niktoは17秒間に8,102件のリクエストを実行し、既知のWeb脆弱性、不足しているセキュリティヘッダー、危険なHTTPメソッド、パストラバーサルのベクターをテストしました。エラーログには/etc/passwd、/etc/shadow、boot.ini、WindowsのSAMデータベースへのアクセス試行が複数記録されましたが、すべてApacheのURI検証によってブロックされました。Niktoはまた、サーバー上にテストファイルを作成するためのPUTリクエストを試行し、書き込み権限の確認を行っていたことを確認しました。

フェーズ2 — ディレクトリ列挙(Dirb、21:19〜21:21)

Dirbは、一般的なワードリストから4,612語をルートディレクトリと発見された各サブディレクトリに対してテストしました。これにより、観測された21,740件の404エラーの大部分が発生しました。Dirbは/admin/、/backup/、/login/を有効なディレクトリとして正常に識別しました。/backup/ディレクトリはディレクトリリスティングが有効な状態で見つかりました。これは重大な設定ミスであり、攻撃者が直接その内容を閲覧できることを意味します。

総合評価

約7分間に単一の送信元IPから21,962件のHTTPリクエストが集中し、パストラバーサルの試行、無効なHTTPメソッドのリクエスト、アクセスログとエラーログの両方におけるツール固有のシグネチャが組み合わさったことは、自動化されたWeb偵察活動の明確な証拠となります。

悪用の成功は観測されませんでした。すべてのパストラバーサルの試行はApacheのURI検証メカニズムによって拒否されました。保護されたファイル(.htpasswd、.htaccess、server-status)へのアクセスはサーバー設定によって拒否されました。


主要な指標


防御的な推奨事項

調査結果に基づき、以下の対策が推奨されます。

  • Apache設定にセキュリティヘッダーを追加: X-Frame-Options、X-Content-Type-Options、Content-Security-Policy
  • inode情報漏洩を防ぐためETagヘッダーを無効化
  • 許可するHTTPメソッドをGET、POST、HEADのみに制限
  • すべてのディレクトリ、特に/backup/でディレクトリリスティングを無効化
  • /server-statusへのアクセスをlocalhostのみに制限
  • レート制限を実装し、毎秒過剰なリクエストを生成するIPをブロック
  • WAF(Web Application Firewall)を導入し、パストラバーサルのパターンを検出・ブロック
  • error.logを継続的に監視し、AH10244(無効なURIパス)イベントを確認
  • 機密ディレクトリ(/admin/、/backup/)への公開アクセスを削除または制限
  • HTTP応答ヘッダーでApacheのバージョンを隠蔽(ServerTokens Prod、ServerSignature Off)

結論

このラボでは、自動化されたWebスキャンツールがApacheのアクセスログとエラーログにどのように明確で識別可能なパターンを残すかを示しました。404エラーの量、error.logにおけるパストラバーサルの試行の存在、無効なHTTPメソッドのリクエスト、リクエストパスとユーザーエージェント文字列におけるツール固有のシグネチャを相関させることで、攻撃の完全なタイムラインを再構築し、使用されたツールを特定することができました。これは攻撃者の行動に関する事前知識なしで実現されました。

この演習は、Webに公開されたインフラストラクチャに対するブルーチームの基本的な実践として、Webサーバーログの監視、セキュリティヘッダーの設定、ディレクトリアクセス制御の重要性を強調しています。


使用ツール

  • Kali Linux
  • Debian 13
  • Apache 2.4.67
  • Nikto v2.5.0
  • Dirb v2.22
  • grep、wc、cat
ツールをダウンロード
指標値
攻撃者IP10.0.2.5
対象IP10.0.2.15
対象ポート80 (HTTP)
WebサーバApache 2.4.67 (Debian)
特定されたツールNikto v2.5.0, Dirb v2.22
攻撃者からの総リクエスト数21,962
HTTP 200 レスポンス177
HTTP 403 レスポンス26
HTTP 404 レスポンス21,740
発見されたディレクトリ/admin/, /backup/, /login/
パストラバーサル試行複数(すべてブロック)
テストされた無効なHTTPメソッドTRACK, DEBUG, SEARCH, INDEX
標的とされた機密ファイル/etc/passwd, /etc/shadow, .htpasswd, .htaccess
悪用の成功なし
時間枠21:14~21:21 (2026-05-06)
コンポーネント詳細
攻撃VMKali Linux
対象VMDebian 13
ネットワークNAT Network (VirtualBox)
攻撃者IP10.0.2.5
対象IP10.0.2.15
WebサーバApache 2.4.67
ログソース/var/log/apache2/access.log, /var/log/apache2/error.log
HTTPポート80
指標値
攻撃元IP10.0.2.5
標的IP10.0.2.15
標的ポート80 (HTTP)
WebサーバApache 2.4.67 (Debian)
特定されたツールNikto v2.5.0、Dirb v2.22
攻撃元の総リクエスト数21.962
HTTP 200 応答177
HTTP 403 応答26
HTTP 404 応答21.740
発見されたディレクトリ/admin/、/backup/、/login/
パストラバーサルの試行複数(すべてブロック)
テストされた無効なHTTPメソッドTRACK、DEBUG、SEARCH、INDEX
標的となった機密ファイル/etc/passwd、/etc/shadow、.htpasswd、.htaccess
悪用の成功なし
時間枠21:14〜21:21 (2026-05-06)