Directory/File, DNS and VHost busting tool written in Go
Go
14,208
600 commits
updated Oct 11, 2026
A fast and flexible brute-forcing tool written in Go
Gobuster is a high-performance directory/file, DNS and virtual host brute-forcing tool written in Go. It's designed to be fast, reliable, and easy to use for security professionals and penetration testers.
# Install gobuster
go install github.com/OJ/gobuster/v3@latest
# Basic directory enumeration
gobuster dir -u https://example.com -w /path/to/wordlist.txt
# DNS subdomain enumeration
gobuster dns -do example.com -w /path/to/wordlist.txt
# Virtual host discovery
gobuster vhost -u https://example.com -w /path/to/wordlist.txt
# S3 bucket enumeration
gobuster s3 -w /path/to/bucket-names.txt
go install github.com/OJ/gobuster/v3@latest
Requirements: Go 1.24 or higher
Download pre-compiled binaries from the releases page.
# Pull the latest image
docker pull ghcr.io/oj/gobuster:latest
# Run gobuster in Docker
docker run --rm -it ghcr.io/oj/gobuster:latest dir -u https://example.com -w /usr/share/wordlists/dirb/common.txt
git clone https://github.com/OJ/gobuster.git
cd gobuster
go mod tidy
go build
If you encounter issues:
go version$GOPATH and $GOBIN environment variables$GOPATH/bin is in your $PATHGobuster uses a mode-based approach. Each mode is designed for specific enumeration tasks:
gobuster [mode] [options]
gobuster help # Show general help
gobuster help [mode] # Show help for specific mode
gobuster [mode] --help # Alternative help syntax
dir)Enumerate directories and files on web servers.
Basic Usage:
gobuster dir -u https://example.com -w wordlist.txt
Advanced Options:
# With file extensions
gobuster dir -u https://example.com -w wordlist.txt -x php,html,js,txt
# With custom headers and cookies
gobuster dir -u https://example.com -w wordlist.txt -H "Authorization: Bearer token" -c "session=value"
# Show response length
gobuster dir -u https://example.com -w wordlist.txt -l
# Filter by status codes
gobuster dir -u https://example.com -w wordlist.txt -s 200,301,302
dns)Discover subdomains through DNS resolution.
Basic Usage:
gobuster dns -do example.com -w wordlist.txt
Advanced Options:
# Use custom DNS server
gobuster dns -do example.com -w wordlist.txt -r 8.8.8.8:53
# Increase threads for faster scanning
gobuster dns -do example.com -w wordlist.txt -t 50
vhost)Discover virtual hosts on web servers.
Basic Usage:
gobuster vhost -u https://example.com --append-domain -w wordlist.txt
s3)Enumerate Amazon S3 buckets.
Basic Usage:
gobuster s3 -w bucket-names.txt
With Debug Output:
gobuster s3 -w bucket-names.txt --debug
tftp)Enumerate files on tftp servers.
Basic Usage:
gobuster tftp -s 10.0.0.1 -w wordlist.txt
gcs)Enumerate Google Cloud Storage Buckets.
Basic Usage:
gobuster gcs -w bucket-names.txt
With Debug Output:
gobuster gcs -w bucket-names.txt --debug
fuzz)Custom fuzzing with the FUZZ keyword.
Basic Usage:
gobuster fuzz -u https://example.com?FUZZ=test -w wordlist.txt
Advanced Examples:
# Fuzz URL parameters
gobuster fuzz -u https://example.com?param=FUZZ -w wordlist.txt
# Fuzz headers
gobuster fuzz -u https://example.com -H "X-Custom-Header: FUZZ" -w wordlist.txt
# Fuzz POST data
gobuster fuzz -u https://example.com -d "username=admin&password=FUZZ" -w passwords.txt
If you're backing us already, you rock. If you're not, that's cool too! Want to back us? Become a backer!
All funds that are donated to this project will be donated to charity. A full log of charity donations will be available in this repository as they are processed.
# Comprehensive directory enumeration
gobuster dir -u https://target.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,js,txt,asp,aspx,jsp
# API endpoint discovery
gobuster dir -u https://api.target.com -w /usr/share/wordlists/dirb/common.txt -x json
# Admin panel discovery
gobuster dir -u https://target.com -w admin-panels.txt -s 200,301,302,403
# Comprehensive subdomain enumeration
gobuster dns -do target.com -w /usr/share/wordlists/dnsrecon/subdomains-top1mil-5000.txt -t 50
# S3 bucket enumeration with patterns
gobuster s3 -w company-names.txt -v
# GCS bucket enumeration
gobuster gcs -w company-names.txt -v
-t flag--delay-a flag--timeout flag-s flag-t flag (but be careful not to overwhelm the target)# Save results to file
gobuster dir -u https://example.com -w wordlist.txt -o results.txt
# Use quiet mode for clean output
gobuster dir -u https://example.com -w wordlist.txt -q
Happy hacking! π
Remember: Always test responsibly and with proper authorization.
--force flag in dir mode to continue execution if precheck errors occurshow-cname to check-cname in dns modeverbose flag and introduced debug instead--no-progressinterface and local-ip parameters to specify the outgoing interface for http requests--exclude-lengthno-fqdn parameter on dns bruteforce to disable the use of the systems search domains. This should speed up the run if you have configured some search domains. https://github.com/OJ/gobuster/pull/418{GOBUSTER} in it will be replaced with the current wordlist item. Please use with caution as this can cause increase the number of requests issued a lot.p flag which was assigned to proxy is now used by the pattern flag-m is now gone!)Overall
Maintained
Code review
Go module
Latest release
Releases this year
(top 24 of 80)
1,871 followers Β· starred Aug 2021
1,801 followers Β· starred Jan 2022
474 followers Β· starred Jun 2018
534 followers Β· starred Mar 2024
Directory/File, DNS and VHost busting tool written in Go
Go
14,208
600 commits
updated Oct 11, 2026
A fast and flexible brute-forcing tool written in Go
Gobuster is a high-performance directory/file, DNS and virtual host brute-forcing tool written in Go. It's designed to be fast, reliable, and easy to use for security professionals and penetration testers.
# Install gobuster
go install github.com/OJ/gobuster/v3@latest
# Basic directory enumeration
gobuster dir -u https://example.com -w /path/to/wordlist.txt
# DNS subdomain enumeration
gobuster dns -do example.com -w /path/to/wordlist.txt
# Virtual host discovery
gobuster vhost -u https://example.com -w /path/to/wordlist.txt
# S3 bucket enumeration
gobuster s3 -w /path/to/bucket-names.txt
go install github.com/OJ/gobuster/v3@latest
Requirements: Go 1.24 or higher
Download pre-compiled binaries from the releases page.
# Pull the latest image
docker pull ghcr.io/oj/gobuster:latest
# Run gobuster in Docker
docker run --rm -it ghcr.io/oj/gobuster:latest dir -u https://example.com -w /usr/share/wordlists/dirb/common.txt
git clone https://github.com/OJ/gobuster.git
cd gobuster
go mod tidy
go build
If you encounter issues:
go version$GOPATH and $GOBIN environment variables$GOPATH/bin is in your $PATHGobuster uses a mode-based approach. Each mode is designed for specific enumeration tasks:
gobuster [mode] [options]
gobuster help # Show general help
gobuster help [mode] # Show help for specific mode
gobuster [mode] --help # Alternative help syntax
dir)Enumerate directories and files on web servers.
Basic Usage:
gobuster dir -u https://example.com -w wordlist.txt
Advanced Options:
# With file extensions
gobuster dir -u https://example.com -w wordlist.txt -x php,html,js,txt
# With custom headers and cookies
gobuster dir -u https://example.com -w wordlist.txt -H "Authorization: Bearer token" -c "session=value"
# Show response length
gobuster dir -u https://example.com -w wordlist.txt -l
# Filter by status codes
gobuster dir -u https://example.com -w wordlist.txt -s 200,301,302
dns)Discover subdomains through DNS resolution.
Basic Usage:
gobuster dns -do example.com -w wordlist.txt
Advanced Options:
# Use custom DNS server
gobuster dns -do example.com -w wordlist.txt -r 8.8.8.8:53
# Increase threads for faster scanning
gobuster dns -do example.com -w wordlist.txt -t 50
vhost)Discover virtual hosts on web servers.
Basic Usage:
gobuster vhost -u https://example.com --append-domain -w wordlist.txt
s3)Enumerate Amazon S3 buckets.
Basic Usage:
gobuster s3 -w bucket-names.txt
With Debug Output:
gobuster s3 -w bucket-names.txt --debug
tftp)Enumerate files on tftp servers.
Basic Usage:
gobuster tftp -s 10.0.0.1 -w wordlist.txt
gcs)Enumerate Google Cloud Storage Buckets.
Basic Usage:
gobuster gcs -w bucket-names.txt
With Debug Output:
gobuster gcs -w bucket-names.txt --debug
fuzz)Custom fuzzing with the FUZZ keyword.
Basic Usage:
gobuster fuzz -u https://example.com?FUZZ=test -w wordlist.txt
Advanced Examples:
# Fuzz URL parameters
gobuster fuzz -u https://example.com?param=FUZZ -w wordlist.txt
# Fuzz headers
gobuster fuzz -u https://example.com -H "X-Custom-Header: FUZZ" -w wordlist.txt
# Fuzz POST data
gobuster fuzz -u https://example.com -d "username=admin&password=FUZZ" -w passwords.txt
If you're backing us already, you rock. If you're not, that's cool too! Want to back us? Become a backer!
All funds that are donated to this project will be donated to charity. A full log of charity donations will be available in this repository as they are processed.
# Comprehensive directory enumeration
gobuster dir -u https://target.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,js,txt,asp,aspx,jsp
# API endpoint discovery
gobuster dir -u https://api.target.com -w /usr/share/wordlists/dirb/common.txt -x json
# Admin panel discovery
gobuster dir -u https://target.com -w admin-panels.txt -s 200,301,302,403
# Comprehensive subdomain enumeration
gobuster dns -do target.com -w /usr/share/wordlists/dnsrecon/subdomains-top1mil-5000.txt -t 50
# S3 bucket enumeration with patterns
gobuster s3 -w company-names.txt -v
# GCS bucket enumeration
gobuster gcs -w company-names.txt -v
-t flag--delay-a flag--timeout flag-s flag-t flag (but be careful not to overwhelm the target)# Save results to file
gobuster dir -u https://example.com -w wordlist.txt -o results.txt
# Use quiet mode for clean output
gobuster dir -u https://example.com -w wordlist.txt -q
Happy hacking! π
Remember: Always test responsibly and with proper authorization.
--force flag in dir mode to continue execution if precheck errors occurshow-cname to check-cname in dns modeverbose flag and introduced debug instead--no-progressinterface and local-ip parameters to specify the outgoing interface for http requests--exclude-lengthno-fqdn parameter on dns bruteforce to disable the use of the systems search domains. This should speed up the run if you have configured some search domains. https://github.com/OJ/gobuster/pull/418{GOBUSTER} in it will be replaced with the current wordlist item. Please use with caution as this can cause increase the number of requests issued a lot.p flag which was assigned to proxy is now used by the pattern flag-m is now gone!)Overall
Maintained
Code review
Go module
Latest release
Releases this year
(top 24 of 80)
1,871 followers Β· starred Aug 2021
1,801 followers Β· starred Jan 2022
474 followers Β· starred Jun 2018
534 followers Β· starred Mar 2024