Gobusterとは?
Gobusterは、ペネトレーションテストや
Webアプリケーションのセキュリティ診断で
使用されるオープンソースツールです。
Gobusterは、Webサーバー上に隠された
ファイルやディレクトリ、サブドメインを
高速に探索するために使われます。
非常に軽量であり、ディレクトリ探索やDNS探索
(サブドメイン列挙)に特化しているのが特徴です。
なぜGobusterを使うのか?
セキュリティ診断において、
隠されたディレクトリやファイルを見つけ出すことは、
脆弱性を発見するための重要な手段です。
Gobusterを利用することで、
認証が不要なページや、
一般には公開されていない管理画面などを発見できる可能性があります。
Gobusterの導入方法
必要な環境
Gobusterは主にLinux環境で利用されることが多いですが、
WindowsやMacOSでも動作します。
事前にGo言語がインストールされている必要があります。
Gobusterのインストール手順
- Go言語のインストール
GobusterはGoで開発されているため、
まずGoをインストールします。sudo apt install golang
- Gobusterのインストール
Goがインストールされている環境で、
以下のコマンドを実行してGobusterをインストールします。go install github.com/OJ/gobuster/v3@latest
- Gobusterの実行確認
インストール後、
以下のコマンドで正常にインストールされたかを確認します。gobuster -h
Gobusterの基本フロー
Gobusterはコマンドラインから動作し、
いくつかのモードを使い分けることができます。
以下は、Gobusterを使用する際の基本的なフローです。
- 探索モードの選択
Gobusterには複数のモード
(dir
、dns
、vhost
など)が用意されています。
最初に探索したいモードを決定します。 - ワードリストの準備
Gobusterは、指定されたワードリストを
使用してファイルやディレクトリの列挙を行います。
適切なワードリストを準備することが重要です。
例として、Kali Linuxには標準で多くのワードリストが含まれています。/usr/share/wordlists/
- コマンド実行
目的に応じたモードと
ワードリストを指定してコマンドを実行します。
列挙の基本操作
ディレクトリの列挙
最もよく使われるのがディレクトリ列挙です。
指定したURLに対して、隠しディレクトリやファイルを探します。
gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt
dir
: ディレクトリ列挙モード-u
: 対象のURL-w
: 使用するワードリスト
サブドメインの列挙
dns
モードを使うと、サブドメインの列挙が可能です。
gobuster dns -d example.com -w /usr/share/wordlists/subdomains.txt
dns
: DNS列挙モード-d
: ドメイン名
VHOST探索
仮想ホストの列挙も可能です。
これにより、複数のドメインが
同じIPアドレスにホストされているかどうかを調べられます。
gobuster vhost -u http://example.com -w /usr/share/wordlists/vhosts.txt
Gobusterを使ったポートスキャン
Gobuster単体ではポートスキャンは行いませんが、
Nmapなどのポートスキャンツールと併用することで、
より詳細な情報を得ることができます。
まずはNmapでポートをスキャンし、
開いているポートをGobusterでさらに調査するのが効果的です。
nmap -p 80,443 example.com
ディレクトリ探索の活用方法
ディレクトリ探索は、
特定のページにアクセスできる
隠しファイルやフォルダを見つけるのに最適です。
例えば、次のように重要なファイルが見つかることがあります。
/config.php
/admin/
サブドメイン探索の進め方
サブドメイン探索は、dns
モードを使います。
これにより、ドメインに関連するサブドメインを列挙できます。
特定のサブドメインが外部からアクセス可能な場合、
予期しない脆弱性が潜んでいる可能性もあります。
脆弱性の調査
Gobusterで列挙したファイルやディレクトリから、
脆弱性を調査することができます。
たとえば、特定のディレクトリに
脆弱なバージョンのソフトウェアがインストールされている場合、
攻撃の起点になる可能性があります。
Web診断でのGobusterの活用
Gobusterは、Webアプリケーションの
セキュリティ診断で広く使用されます。
特に、認証されていないユーザーが
アクセスできるファイルやディレクトリを発見し、
脆弱性のある箇所を事前に特定できます。
Gobusterと他のツールの違い
Gobusterは、
高速なディレクトリ探索や
サブドメイン列挙に優れている一方、
他のツールと比較してシンプルです。
例えば、FFUFやDirBusterはより多機能ですが、
その分動作が遅い場合があります。
使用しているツールや環境
Gobusterは、
主にCLI(コマンドラインインターフェース)で動作します。
推奨される環境はLinuxですが、WindowsやMacでも使用可能です。
まとめ
Gobusterは、
軽量で高速なディレクトリ列挙・サブドメイン探索ツールとして、
セキュリティ診断の現場で広く利用されています。
シンプルなインターフェースと
強力な機能を持つGobusterを使いこなせば、
Webアプリケーションの隠れた脆弱性を発見する手助けになります。