今回は、Webサーバー上に隠されたディレクトリやファイルを見つけ出すための強力なツール「DIRB」について解説します。Kali Linuxに標準搭載されているこのツールは、そのシンプルさと信頼性から長年多くのセキュリティエンジニアに愛用されています。
⚠️ 警告:注意事項
本記事で紹介するツールは、セキュリティ診断や学習を目的としたものです。
許可を得ていないサーバーやネットワークに対して実行することは、不正アクセス禁止法違反や業務妨害などの犯罪行為に該当する可能性があります。
必ず、自分が管理するサーバー、または事前に許可を得た環境(CTF環境など)でのみ使用してください。
DIRBとは?
DIRB(Darkness Intercepting Robber)は、Webコンテンツスキャナと呼ばれるツールの一種です。
Webサイトを閲覧する際、通常はページ上のリンクを辿って移動しますが、リンクが貼られていない「隠しページ」や「管理画面」「バックアップファイル」などは通常のブラウジングでは見つけることができません。
DIRBは、辞書攻撃(ワードリストによる総当たり)を行うことで、これらの隠されたリソースを強制的に発見します。
仕組み
- ターゲットURLに対して、辞書ファイル(ワードリスト)にある単語を順次付与する(例:
/admin,/login,/test)。 - HTTPリクエストを送信する。
- サーバーからのレスポンスコード(200 OK, 403 Forbiddenなど)を確認し、ファイルが存在するか判定する。
DIRBの主な特徴
最近では Gobuster や ffuf といった高速なGo言語製ツールも人気ですが、DIRBには独自の良さがあります。
-
Kali Linux標準搭載
- インストール不要ですぐに使い始められます。
-
再帰的スキャン(Recursive Scanning)
- ディレクトリ(例:
/admin/)が見つかると、DIRBは自動的にその中に入り、さらにスキャンを継続します。階層構造を深く掘り下げるのに非常に便利です。
- ディレクトリ(例:
-
豊富なワードリスト
- 一般的なディレクトリ名やファイル名が網羅された辞書が付属しています。
基本的な使い方
DIRBはコマンドライン(ターミナル)で使用します。
1. 基本スキャン
最もシンプルな使い方は、ターゲットのURLを指定するだけです。
dirb http://target-url.com/
実行すると、デフォルトのワードリスト(common.txt)を使用してスキャンが開始されます。
2. ファイル拡張子を指定する (-X)
特定の種類のファイルを探したい場合に有効です。例えば、設定ミスで残されたPHPファイルや、バックアップファイルなどを狙い撃ちできます。
# phpファイルを探す
dirb http://target-url.com/ -X .php
# 複数の拡張子を探す(htmlとphp)
dirb http://target-url.com/ -X .html,.php
3. 出力を保存する (-o)
スキャン結果をテキストファイルに保存します。証跡を残す必要がある場合に必須のオプションです。
dirb http://target-url.com/ -o scan_result.txt
4. 再帰スキャンを無効化する (-r)
DIRBはデフォルトでディレクトリを深く掘り下げますが、大規模なサイトでは時間がかかりすぎることがあります。表面的なスキャンだけで良い場合は -r を付けて高速化します。
dirb http://target-url.com/ -r
5. 独自のワードリストを使用する
デフォルト以外の辞書ファイルを使いたい場合は、URLの後ろにパスを指定します。
dirb http://target-url.com/ /usr/share/wordlists/dirb/big.txt
スキャン結果の見方
DIRBの実行結果には、HTTPステータスコードが表示されます。これを見ることで、そのURLがどのような状態か判断できます。
- CODE 200 (OK): ファイルまたはページが存在し、アクセス可能です。
- CODE 403 (Forbidden): 存在しますが、アクセス権限がありません(重要:そこに何かがあることは分かります)。
- CODE 301/302 (Redirect): 別のページに転送されています。
- CODE 404 (Not Found): 存在しません(通常はログに表示されません)。
実際に何が見つかるのか?(発見例)
攻撃者や診断員は、DIRBを使って以下のような「お宝」を探しています。
-
管理画面:
/admin,/administrator,/manager -
開発用ディレクトリ:
/dev,/test,/staging -
設定ファイル:
/config,web.config,.env -
バックアップ:
index.php.bak,backup.zip -
バージョン管理情報:
.git,.svn(ソースコード流出のリスク)
メリットとデメリット
メリット
- 手軽: コマンド一つで詳細な再帰スキャンまでやってくれる。
- 確実: 歴史あるツールであり、動作が安定している。
デメリット
- 速度: マルチスレッド処理に特化した最新ツール(Gobusterなど)に比べるとスキャン速度は遅めです。
- ノイズ: サーバーのアクセスログに大量の痕跡(404エラーなど)が残るため、WAF(Web Application Firewall)に検知されやすく、隠密行動には向きません。
まとめ
DIRBは、Webセキュリティ診断の基礎となる強力なツールです。Webサーバーが意図せず公開してしまっている情報を見つけ出し、セキュリティホールを塞ぐために役立ちます。
覚えておくべきコマンド:
dirb <URL> -X .php,.txt -o report.txt
まずはローカル環境や、許可されたCTF環境(TryHackMeやHack The Boxなど)で実際に動かしてみて、どのような挙動をするか体験してみることをおすすめします。
※この記事は技術的な知識の共有を目的としています。悪用は厳禁です。