【オプション一覧つき】dirbコマンドの使い方を徹底解説(Kali Linux、Ubuntu対応)

CLIベースのディレクトリ・ファイル探索ツール
- dirb -

dirbは、Webサーバー上に隠れているディレクトリやファイルを列挙するためのツールです。

本記事では、dirbの特徴からインストール方法、コマンド・オプションの使い方まで、詳しく解説しています。

実際に検証環境で実行した結果も掲載しており、実践的な知識を習得できます。

目次

dirbとは

dirbは、Webサーバー上の隠れたディレクトリやファイルを列挙するためのコマンドラインツールです。主にWebアプリケーションのセキュリティ診断において、Webサーバー上に存在する隠しディレクトリや誤って公開されたファイルを検出する目的で使用されます。

dirbの基本的な動作は、辞書ファイル(ワードリスト)に基づいてURLパスを総当たり(ブルートフォース)でリクエストし、レスポンスのHTTPステータスコードを解析するというシンプルな仕組みです。

例えば、HTTPステータスコードが 200 OK403 Forbidden を返す場合、対象のリソースが存在する可能性が高いと判断されます。

dirbはコマンドラインベース(CLI)の軽量ツールであり、Kali Linuxなどのセキュリティ特化型ディストリビューションに標準で搭載されています。

dirbは脆弱性を検出する機能を備えておらず、ディレクトリおよびファイルの存在を確認することに特化したツールです。

dirbの特徴

主な特徴
  • ブルートフォース探索
  • 辞書ファイル(ワードリスト)方式
  • コマンドライン・インタフェース(CLI)
  • 再帰スキャン機能
  • 実行結果をファイル出力
  • Kali Linuxにプリインストール

ブルートフォース探索

dirbは、Webサーバーに対してブルートフォース手法を用いて、ディレクトリやファイルの存在を確認するツールです。具体的には、HTTPリクエストを送信し、応答として返されるHTTPステータスコードから対象の存在有無を判定します。

例えば、200 OKが返されればそのパスは存在していると判断され、403 Forbiddenであればアクセス制限はあるものの存在が示唆されます。

セキュリティ診断の業務では、管理画面(例:/admin)や設定ファイル(例:/config.php)など、セキュリティ上重要なファイルが露出していないかを確認する際に使用されます。

辞書ファイル(ワードリスト)方式

dirbはあらかじめ用意された辞書ファイル(ワードリスト)を使用してスキャンを実行します。これにより、実際に存在しそうなパスだけを効率的に試行できます。

例えば、Kali Linuxに含まれる/usr/share/wordlists/dirb/common.txtには、汎用的なファイル名やディレクトリ名(admin, login, index.phpなど)が約4 ,600ワードで格納されており、不要なリクエストを避けながら高精度な探索が可能となります。

辞書ファイルの品質はスキャンの精度に直結します。診断対象のシステム特性に応じてカスタム辞書を準備することで、精度の高い診断を実施することができます。

コマンドライン・インタフェース(CLI)

dirbはコマンドライン・インタフェース(CLI)で動作するツールで、ターミナル上で実行します。例えば、以下のようなコマンドでスキャンを実行できます。

$ dirb http://example.com/ /usr/share/wordlists/dirb/common.txt

GUIが不要なため、リモート環境や自動化基盤(CI/CDパイプライン、診断スクリプト)への導入に適しています。

再帰スキャン機能

dirbには再帰的にサブディレクトリを探索する機能があり、検出されたディレクトリの内部にさらに潜むディレクトリやファイルを継続的に調査することができます。

例えば、/admin/というディレクトリが検出された場合、/admin/login.php/admin/config/といった階層の探索も行われます。

実行結果をファイル出力

スキャン結果は、標準出力だけでなくファイルに保存することも可能です。

Kali Linuxにプリインストール

dirbは、Kali Linuxに標準でプリインストールされており、追加インストールの手間なくすぐに使用できます。

/usr/bin/dirbにバイナリが配置されており、主要なワードリストも/usr/share/wordlists/dirb/に用意されています。

注意事項

dirbの利用にあたっては、以下の点に留意する必要があります。

注意事項
  • 許可のある環境でのみ使用すること
  • サーバーに負荷を与える可能性がある
  • WAFやIPSに検知される可能性がある

許可のある環境でのみ使用すること

dirbはターゲットサーバーに多数のHTTPリクエストを送信します。無許可で実行すれば、不正アクセス禁止法等に抵触するリスクがあります。検証環境や明確な許可を得た環境以外では使用しないでください。

サーバーに負荷を与える可能性がある

特に大きな辞書ファイルを用いてスキャンを行う場合、ターゲットサーバーへのリクエスト数が数万件以上に達することがあります。本番環境での実行は、業務影響の観点から慎重に検討してください。

WAFやIPSに検知される可能性がある

Web Application Firewall(WAF)やIntrusion Prevention System(IPS)を導入しているシステムでは、dirbのスキャンパターンが検知・ブロックされる場合があります。必要に応じて診断用IPアドレスのホワイトリスト登録など調整が必要です。

dirbのインストール

dirbは多くのセキュリティテスト環境で利用されている成熟したツールで、Kali Linuxにプリインストールされています。

Ubuntuにはプリインストールされていませんが、公式リポジトリにdirbが含まれているため、aptコマンドで簡単にインストールできます。

Kali Linuxの場合

前提条件

Kali Linux 2025.3を使用しています。

Kali Linuxには、dirbが標準でプリインストールされています。そのため、追加のインストール作業は不要です。

$ which dirb
/usr/bin/dirb

アプリケーションメニューから起動することもできます。

アプリケーションメニューのdirbを選択する

アプリケーションメニューの01-Reconnaissance>Web Scanning>dirbを選択すると、ターミナルが起動し、dirbの実行結果(バージョン情報、使用方法)が表示されます。

ターミナルが起動し、dirbコマンドが実行される

Ubuntuの場合

前提条件

Ubuntu 24.04 LTSを使用しています。

Ubuntuではdirbは標準でインストールされていませんが、公式リポジトリに含まれているため、APTパッケージマネージャを用いて簡単に導入できます。

STEP

パッケージ情報を更新

$ sudo apt update

パッケージ情報を更新します。

STEP

パッケージ情報を確認

$ apt info dirb
Package: dirb
Version: 2.22+dfsg-5build2
Priority: optional
Section: universe/net
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Security Tools <team+pkg-security@tracker.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1,502 kB
Depends: libc6 (>= 2.34), libcurl4t64 (>= 7.16.2)
Homepage: http://dirb.sourceforge.net/
Download-Size: 234 kB
APT-Sources: http://jp.archive.ubuntu.com/ubuntu noble/universe amd64 Packages
Description: URL bruteforcing tool
 DIRB is a Web Content Scanner. It looks for existing (and/or hidden) Web
 Objects. It basically works by launching a dictionary based attack against
 a web server and analyzing the responses.
 .
 DIRB comes with a set of preconfigured attack wordlists for easy usage but
 you can use your custom wordlists. Also DIRB sometimes can be used as a
 classic CGI scanner, but remember that it is a content scanner not a
 vulnerability scanner.
 .
 DIRB's main purpose is to help in professional web application auditing.
 Specially in security related testing. It covers some holes not covered by
 classic web vulnerability scanners. DIRB looks for specific web objects that
 other generic CGI scanners can't look for. It doesn't search vulnerabilities
 nor does it look for web contents that can be vulnerable.

dirbのパッケージ情報を確認します。

STEP

dirbパッケージをインストール

$ sudo apt install dirb

パッケージ情報に問題がなければ、インストールを行います。

STEP

インストール後の動作確認

dirbをインストールすると、バイナリは/usr/bin/dirb、辞書ファイル(ワードリスト)は/usr/share/dirb/wordlistsに配置されます。

実行ファイルのパス

$ which dirb
/usr/bin/dirb

バージョン確認

$ dirb

-----------------
DIRB v2.22
By The Dark Raver
-----------------

〜 以下、省略 〜

辞書ファイル(ワードリスト)の確認

$ ls -l /usr/share/dirb/wordlists/
合計 260
-rw-r--r-- 1 root root 184073  1月 25  2012 big.txt
-rw-r--r-- 1 root root   1292  1月 27  2012 catala.txt
-rw-r--r-- 1 root root  35849 11月 17  2014 common.txt
-rw-r--r-- 1 root root   1492  5月 23  2012 euskera.txt
-rw-r--r-- 1 root root    142 12月 30  2005 extensions_common.txt
-rw-r--r-- 1 root root     75  3月 16  2012 indexes.txt
-rw-r--r-- 1 root root    244 12月 30  2005 mutations_common.txt
drwxr-xr-x 2 root root   4096 12月  8 14:35 others
-rw-r--r-- 1 root root   6561  3月  5  2014 small.txt
-rw-r--r-- 1 root root   3731 11月 13  2014 spanish.txt
drwxr-xr-x 2 root root   4096 12月  8 14:35 stress
drwxr-xr-x 2 root root   4096 12月  8 14:35 vulns

dirbで使用する辞書ファイル

Kali Linuxには、dirbを含む多くのディレクトリ探索ツールで利用可能な辞書ファイル(Wordlists)が標準搭載されています。これらの辞書ファイルは、/usr/share/wordlists/配下に配置されており、特にWebアプリケーション診断におけるディレクトリ・ファイル列挙で高い効果を発揮します。

Ubuntuの場合

APTパッケージからdirbをインストールすると、辞書ファイルは/usr/share/dirb/wordlists/配下に格納されます。

Wordlistsに収録されている主要な辞書ファイル

ファイル名概要収録ワード数
common.txt一般的なディレクトリ・ファイル名が収録された基本的な辞書ファイル約4,600
big.txtcommon.txt を拡張した大規模な辞書ファイル約20,000
extensions_common.txt.php / .html / .xml など、一般的な拡張子のセット約30
vulns/apache.txt など各種技術スタック(Apache、IIS、JBoss、Oracle、SAP、Tomcat、WebSphereなど)に対応した専用の辞書ファイル-

辞書ファイルのワード数が増えるほど列挙精度は向上しますが、Webサーバーの負荷やスキャン時間も比例して増加します。

ディレクトリ・ファイル探索で使用する代表的な辞書ファイル(ワードリスト)には、WordlistsSecListsがあります。詳細は、以下の記事をご覧ください。

dirbコマンドの使い方

dirbはコマンドライン・インタフェース(CLI)ツールのため、ターミナルからコマンドを実行します。

基本構文

$ dirb <対象URL> [辞書ファイル] [オプション]
  • 対象URL:スキャン対象のWebサーバーのURL(例:http://example.com/
  • 辞書ファイル:使用する辞書ファイル(省略時はデフォルト辞書が使用されます)
  • オプション:ファイル出力や再帰スキャンなどの追加設定

Kali Linux、Ubuntu環境では、/usr/share/dirb/wordlists/common.txtがデフォルト辞書として設定されています。

マニュアル・ヘルプ

# マニュアル
$ man dirb

# ヘルプ
$ dirb

基本的な使い方

最もシンプルな使用例

$ dirb http://example.com/

最もシンプルな実行方法です。このコマンドは、デフォルト辞書を用いてスキャンを行い、存在が推測されるディレクトリやファイルを列挙します。

デフォルト辞書:/usr/share/dirb/wordlists/common.txt

辞書ファイルを指定したスキャン例

$ dirb http://example.com/ /usr/share/wordlists/dirb/common.txt

辞書ファイルを明示的に指定して、スキャンを実行します。dirbでは複数の辞書ファイルが用意されており、common.txtbig.txtのようにワード数が異なるものを選択できます。

ワード数が多いほど解析の網羅性は高まりますが、ワード数が10倍になるとスキャン時間も概ね10倍前後に増加するため、調査目的に応じて辞書を切り替える運用が現実的です。

dirbコマンドで指定可能なオプション

dirbはシンプルな操作性ながら、多彩なオプションを備えており、状況に応じた柔軟なディレクトリ・ファイル探索が可能です。以下の表では、dirbコマンドで使用可能なすべてのオプションをまとめました。

dirbコマンドの全オプション

オプション説明
-a <agent_string>ユーザーエージェントに任意の文字列を指定する。
-bURL内の`/../`や`/./`を正規化せず、そのまま使用する。
-c <cookie_string>HTTPリクエストにクッキーを設定する。
-E <certificate>クライアント証明書のパスを指定する。
-f404(Not Found)判定を細かく調整する。
-H <header_string>HTTPリクエストにカスタムヘッダーを追加する。
-i大文字・小文字を区別せずにURL探索する。
-l発見時にレスポンスのLocationヘッダーを表示する。
-N <nf_code>指定したHTTPステータスコードのレスポンスを無視する。
-o <output_file>実行結果をファイルに保存する。
-p <proxy[:port]>プロキシを使用する。(ポート省略時は1080)。
-P <proxy_username:proxy_password>プロキシ接続時の認証情報(ユーザー名・パスワード)を指定する。
-r再帰的なディレクトリ探索を行わない。
-R対話形式で再帰的なディレクトリ探索を行う。
-Sサイレントモード(試行中の単語を表示しない)
-tURLの末尾に強制的にスラッシュ`/`を付けない。
-u <username:password>HTTPのBasic認証情報を指定する。
-v404(Not Found)ページも表示する。
-w警告メッセージが出ても処理を停止しない。
-X <extensions> / -x <exts_file>単語(パス)の末尾に指定した拡張子を付けて探索する。
-z <milliseconds>リクエスト間にミリ秒単位の待機時間を挟む。

代表的なオプションの使い方

再帰的にディレクトリを探索する(-Rオプション)

$ dirb http://example.com/ -R

-Rオプションを付与すると、発見された各ディレクトリに対して再帰的に探索を行います。

再帰的にディレクトリを探索しない(-rオプション)

$ dirb http://example.com/ -r

-rオプションを付与すると、発見された各ディレクトリに対して再帰的に探索を行いません。

実行結果をファイルに出力する(-oオプション)

$ dirb http://example.com/ -o result.txt

出力形式はテキストベースで、「URL」「HTTPステータスコード」「サイズ」が記録されます。

Basic認証(-uオプション)

$ dirb http://example.com/ -u user:password

Basic認証が設定されたWebサイトに対しては、-uオプションで認証情報を付与してスキャンします。

スキャン速度(-zオプション)

# 1000ミリ秒(1秒)間隔でリクエストを送信する場合
$ dirb http://example.com/ -z 1000

dirb自体は軽量なスキャンツールですが、大規模な辞書ファイルを使用すると、ターゲットとなるWebサーバーに過度な負荷を与える可能性があります。その場合、-zオプションを指定して、スキャン速度を調整します。

検証環境でdirbを実行してみた

ここでは、ターゲットマシンであるUbuntuに構築した「OWASP Juice Shop」に対し、dirbを使用してディレクトリ・ファイル探索を実施する手順を解説します。

OWASP Juice Shopは、学習目的で意図的に脆弱性を組み込んだアプリケーションで、サイバーセキュリティ教育の教材として活用されています。

Kali Linux、およびOWASP Juice Shopの構築方法は、以下の記事をご覧ください。

使用した検証環境の構成
  • dirb実行マシン
    • Kali Linux 2025.3
    • dirb v2.22
    • 192.168.10.11
  • ターゲットマシン
    • Ubuntu 24.04 LTS
    • OWASP Juice Shop(Dockerコンテナとして稼働)
    • 192.168.10.102(ポート3000)

※Kali Linux、およびUbuntuは、Windows上に構築したVirtualBoxの仮想環境で稼働しています。

STEP

dirbコマンドの実行

Juice ShopのトップURLに対して、Kali Linuxからdirbコマンドを実行します。

Kali Linuxのターミナル

$ dirb http://192.168.10.102:3000/ /usr/share/wordlists/dirb/common.txt -z 100 -o output.txt
  • -z 100:100ミリ秒ごとにリクエストを送信
  • -o output.txt:実行結果をファイル出力
STEP

スキャン結果の確認

Kali Linuxのターミナル

$ cat output.txt

-----------------
DIRB v2.22
By The Dark Raver
-----------------

OUTPUT_FILE: output.txt
START_TIME: Mon Dec  8 19:10:01 2025
URL_BASE: http://192.168.10.102:3000/
WORDLIST_FILES: /usr/share/wordlists/dirb/common.txt
SPEED_DELAY: 100 milliseconds

-----------------

GENERATED WORDS: 4612

---- Scanning URL: http://192.168.10.102:3000/ ----
+ http://192.168.10.102:3000/assets (CODE:301|SIZE:156)
+ http://192.168.10.102:3000/ftp (CODE:200|SIZE:11317)
+ http://192.168.10.102:3000/profile (CODE:500|SIZE:1049)
+ http://192.168.10.102:3000/promotion (CODE:200|SIZE:6586)
+ http://192.168.10.102:3000/redirect (CODE:500|SIZE:3119)
+ http://192.168.10.102:3000/robots.txt (CODE:200|SIZE:28)
+ http://192.168.10.102:3000/video (CODE:200|SIZE:10075518)
+ http://192.168.10.102:3000/Video (CODE:200|SIZE:10075518)

-----------------
END_TIME: Mon Dec  8 19:20:04 2025
DOWNLOADED: 4612 - FOUND: 8

assetsmftpprofileなどが検出されました。この中には、外部に公開すべきでない機能や機密情報が含まれている可能性があるため、内容の精査が必要です。

デフォラボ

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次