概要#
gobuster は、ディレクトリスキャンを行うためのツールで、通常はあまり使用しません。代わりに、ffufをよく使用します。後で ffuf ツールについてまとめます。
gobuster は、Go 言語で書かれたディレクトリスキャン、DNS および vhost ブルートフォースツールです。gobuster は、さまざまなモードをサポートしており、使用目的に応じて異なるモードを選択する前に、スキャンモードを複数設定できます。dir、dns、s3、gcs、vhost、fuzz、tftp などのスキャンモードがあります。
モードは以下の通りです:
モード | 説明 |
---|---|
dir | ウェブサイトのディレクトリ / ファイルのブルートフォース |
dns | DNS サブドメインのブルートフォース |
vhost | 仮想ホストのブルートフォース |
fuzz | 指定された FUZZ キーワードのブルートフォース |
s3 | 公開されている s3 バケットの列挙 |
gcs | Google Cloud バケットの列挙 |
tftp | tftp ファイルの列挙 |
- プロジェクトのリンク
Directory/File, DNS and VHost busting tool written in Go
- インストール
Go 環境が設定されている場合、次のコマンドで直接インストールできます。
go install github.com/OJ/gobuster/v3@latest
ヘルプドキュメントを表示するには、コマンドラインで異なるモードを指定して異なるドキュメントを表示できます。
gobuster dir -h
gobuster dns -h
dir モード#
- 基本的な使用法
gobuster dir -u "http://example.com/" -w /Users/lca/pentesting/web-basic/p12-字典收集/fuzz1.txt
dir モードの一部の一般的な設定オプション
-c: cookie スキャンを指定し、認証バックエンドをスキャンします
-x: スキャンするファイルの拡張子を指定します。例:php、jsp、asp
-m: HTTP リクエストメソッドを指定します
-b: フィルタリングする必要のないステータスコードを指定します。デフォルトでは 404 ステータスコードがフィルタリングされます
-s: 特定の HTTP ステータスコードのみ受け入れます
-u: ターゲット URL を指定します
-w: 辞書ファイルを指定します
-q: サイレントモード
-t: スキャンスレッド数を指定します。デフォルトは 10 です
-f: 各 URL の末尾に強制的に/
を追加します
--wildcard: ワイルドカードが見つかった場合にスキャンを強制するため、このパラメータを使用して gobuster がワイルドカードや不完全な応答をどのように処理するかを指示します。このオプションを有効にすると、404 や 403 のステータスコードが見つかった場合でもスキャンが強制され、スキャンの完全性と正確性が保証されます
-exclude-length ints: 指定した長さのコンテンツを除外します
-r: リダイレクトを追跡します
-e: 拡張モードで、完全な URL を表示します
-k: TLS 証明書の検証をスキップします
以下のようになります:
- スキャン対象のウェブサイト mysite.com を指定し、ログインスキャンに cookie を指定し、URL の拡張子を php、html に設定し、スキャンスレッドを 50 に設定し、辞書ファイルを common-files.txt に設定します。
gobuster dir -u https://mysite.com/ -c 'session=123456' -t 50 -w common-files.txt -x .php,.html
- --wildcard オプションを使用してスキャンを強制し、301、401、403、404、500 をフィルタリングし、スキャンスレッドを 20 に設定します。
gobuster dir -u https://mysite.com/ -w common-files.txt --wildcard -b 301,401,403,404,500 -t 20
gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://mysite.com/ -f -t 200
dns モード#
dns モードは、ターゲットのサブドメインを列挙するために使用されます。
- 基本的な使用法
gobuster dns -d mysite.com -w ~/wordlists/subdomains.txt
- 一般的なオプションパラメータ
-d: ドメインを指定します
-i: IP アドレスを表示します
--wildcard: dir モードと同様に、ワイルドカードを強制します
-t: スキャン速度を指定します
vhost モード#
vhost モードは、仮想ホスト攻撃をシミュレートするためのもので、Web アプリケーションのすべての可能性のある仮想ホストを知らない場合に、ターゲットウェブサイト上に存在する仮想ホストを列挙するのに役立ちます。
このモードは、htbをプレイするときによく使われます。
gobuster vhost -w /usr/share/wordlists/subnames.txt -u http://shoppy.htb
同時に、このモードでは dir を指定することでディレクトリスキャンも行うことができます。
gobuster vhost dir -u shoppy.htb -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -t 150
fuzz モード#
fuzz モードは、いくつかの URL のパラメータをスキャンするために使用できます。たとえば、次のような URL がある場合:http://example.com/about.php?id=1、id パラメータを列挙する必要がある場合、fuzz モードを使用してパラメータを列挙できます。id を FUZZ に置き換えます。
gobuster fuzz -u http://example.com/about.php?FUZZ=1 -w parameter-names.txt
その他のモード#
あまり使用しないので、簡単に使用方法を示します。
- s3
gobuster s3 -w bucket-names.txt
- gcs
gobuster gcs -w bucket-names.txt
- tftp
gobuster tftp -s tftp.example.com -w common-filenames.txt
@hacking articlesには、gobuster に関するマインドマップがあります。
参考#
-
Directory/File, DNS and VHost busting tool written in Go
画像はこちらから:https://wallhaven.cc/