Gobuster

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.

Usage

gobuster dir

Uses directory/file enumeration mode

Usage: gobuster dir [command options]

OptionDescription
--url value, -u valueThe target URL
--cookies value, -c valueCookies to use for the requests
--username value, -U valueUsername for Basic Auth
--password value, -P valuePassword for Basic Auth
--follow-redirect, -rFollow redirects (default: false)
--headers value, -H value [ --headers value, -H value ]Specify HTTP headers, -H ‘Header1: val1’ -H ‘Header2: val2’
--no-canonicalize-headers, --nchDo not canonicalize HTTP header names. If set header names are sent as is (default: false)
--method value, -m valuethe password to the p12 file (default: “GET”)
--useragent value, -a valueSet the User-Agent string (default: “gobuster/3.7”)
--random-agent, --ruaUse a random User-Agent string (default: false)
--proxy valueProxy to use for requests [http(s)://host:port] or [socks5://host:port]
--timeout value, --to valueHTTP Timeout (default: 10s)
--no-tls-validation, -kSkip TLS certificate verification (default: false)
--retryShould retry on request timeout (default: false)
--retry-attempts value, --ra valueTimes to retry on request timeout (default: 3)
--client-cert-pem value, --ccp valuePublic key in PEM format for optional TLS client certificates
--client-cert-pem-key value, --ccpk valuePrivate key in PEM format for optional TLS client certificates (this key needs to have no password)
--client-cert-p12 value, --ccp12 valueA p12 file to use for options TLS client certificates
--client-cert-p12-password value, --ccp12p valueThe password to the p12 file
--tls-renegotiationEnable TLS renegotiation (default: false)
--interface value, --iface valueSpecify network interface to use. Can’t be used with local-ip
--local-ip valueSpecify local ip of network interface to use. Can’t be used with interface
--wordlist value, -w valuePath to the wordlist. Set to - to use STDIN.
--delay value, -d valueTime each thread waits between requests (e.g. 1500ms) (default: 0s)
--threads value, -t valueNumber of concurrent threads (default: 10)
--wordlist-offset value, --wo valueResume from a given position in the wordlist (default: 0)
--output value, -o valueOutput file to write results to (defaults to stdout)
--quiet, -qDon’t print the banner and other noise (default: false)
--no-progress, --npDon’t display progress (default: false)
--no-error, --neDon’t display errors (default: false)
--pattern value, -p valueFile containing replacement patterns
--discover-pattern value, --pd valueFile containing replacement patterns applied to successful guesses
--no-color, --ncDisable color output (default: false)
--debugEnable debug output (default: false)
--status-codes value, -s valuePositive status codes (will be overwritten with status-codes-blacklist if set). Can also handle ranges like 200,300-400,404
--status-codes-blacklist value, -b valueNegative status codes (will override status-codes if set). Can also handle ranges like 200,300-400,404. (default: “404”)
--extensions value, -x valueFile extension(s) to search for
--extensions-file value, -X valueRead file extension(s) to search from the file
--expanded, -eExpanded mode, print full URLs (default: false)
--no-status, -nDon’t print status codes (default: false)
--hide-length, --hlHide the length of the body in the output (default: false)
--add-slash, -fAppend / to each request (default: false)
--discover-backup, --dbUpon finding a file search for backup files by appending multiple backup extensions (default: false)
--exclude-length value, --xl valueExclude the following content lengths (completely ignores the status). You can separate multiple lengths by comma and it supports ranges like 203-206
--help, -hShow help

gobuster vhost

Uses VHOST enumeration mode (you most probably want to use the IP address as the URL parameter)

Usage: gobuster vhost [options]

OptionDescription
--url value, -u valueThe target URL
--cookies value, -c valueCookies to use for the requests
--username value, -U valueUsername for Basic Auth
--password value, -P valuePassword for Basic Auth
--follow-redirect, -rFollow redirects (default: false)
--headers value, -H valueSpecify HTTP headers, e.g. -H 'Header1: val1' -H 'Header2: val2'
--no-canonicalize-headers, --nchDo not canonicalize HTTP header names. Header names are sent as is (default: false)
--method value, -m valueHTTP method to use (default: “GET”)
--useragent value, -a valueSet the User-Agent string (default: “gobuster/3.7”)
--random-agent, --ruaUse a random User-Agent string (default: false)
--proxy valueProxy to use for requests [http(s)://host:port] or [socks5://host:port]
--timeout value, --to valueHTTP Timeout (default: 10s)
--no-tls-validation, -kSkip TLS certificate verification (default: false)
--retryShould retry on request timeout (default: false)
--retry-attempts value, --ra valueTimes to retry on request timeout (default: 3)
--client-cert-pem value, --ccp valuePublic key in PEM format for optional TLS client certificates
--client-cert-pem-key value, --ccpk valuePrivate key in PEM format for optional TLS client certificates (must be passwordless)
--client-cert-p12 value, --ccp12 valueA p12 file to use for optional TLS client certificates
--client-cert-p12-password value, --ccp12p valueThe password to the p12 file
--tls-renegotiationEnable TLS renegotiation (default: false)
--interface value, --iface valueSpecify network interface to use. Can’t be used with --local-ip
--local-ip valueSpecify local IP of network interface to use. Can’t be used with --interface
--wordlist value, -w valuePath to the wordlist. Set to - to use STDIN
--delay value, -d valueTime each thread waits between requests (e.g. 1500ms) (default: 0s)
--threads value, -t valueNumber of concurrent threads (default: 10)
--wordlist-offset value, --wo valueResume from a given position in the wordlist (default: 0)
--output value, -o valueOutput file to write results to (defaults to stdout)
--quiet, -qDon’t print the banner and other noise (default: false)
--no-progress, --npDon’t display progress (default: false)
--no-error, --neDon’t display errors (default: false)
--pattern value, -p valueFile containing replacement patterns
--discover-pattern value, --pd valueFile containing replacement patterns applied to successful guesses
--no-color, --ncDisable color output (default: false)
--debugEnable debug output (default: false)
--append-domain, --adAppend main domain from URL to words from wordlist (default: false)
--exclude-length value, --xl valueExclude the following content lengths. Supports comma-separated and ranges like 203-206
--exclude-status value, --xs valueExclude the following status codes. Supports ranges like 200,300-400,404
--domain value, --do valueDomain to append when using an IP address as URL. If empty, hostname from URL is extracted
--forceForce execution even when result is not guaranteed (default: false)
--help, -hShow help

gobuster dns

Uses DNS subdomain enumeration mode

Usage: gobuster dns [command options]

OptionDescription
--domain value, --do valueThe target domain
--check-cname, -cAlso check CNAME records (default: false)
--timeout value, --to valueDNS resolver timeout (default: 1s)
--wildcard, --wcForce continued operation when wildcard found (default: false)
--no-fqdn, --nfDo not automatically add a trailing dot to the domain (default: false)
--resolver valueUse custom DNS server (format server.com or server.com:port)
--protocol valueUse either ‘udp’ or ‘tcp’ as protocol on the custom resolver (default: “udp”)
--wordlist value, -w valuePath to the wordlist. Set to - to use STDIN
--delay value, -d valueTime each thread waits between requests (e.g. 1500ms) (default: 0s)
--threads value, -t valueNumber of concurrent threads (default: 10)
--wordlist-offset value, --wo valueResume from a given position in the wordlist (default: 0)
--output value, -o valueOutput file to write results to (defaults to stdout)
--quiet, -qDon’t print the banner and other noise (default: false)
--no-progress, --npDon’t display progress (default: false)
--no-error, --neDon’t display errors (default: false)
--pattern value, -p valueFile containing replacement patterns
--discover-pattern value, --pd valueFile containing replacement patterns applied to successful guesses
--no-color, --ncDisable color output (default: false)
--debugEnable debug output (default: false)
--help, -hShow help

gobuster fuzz

Uses fuzzing mode. Replaces the keyword FUZZ in the URL, Headers and the request body

Usage: gobuster fuzz [command options]

OptionDescription
--url value, -u valueThe target URL
--cookies value, -c valueCookies to use for the requests
--username value, -U valueUsername for Basic Auth
--password value, -P valuePassword for Basic Auth
--follow-redirect, -rFollow redirects (default: false)
--headers value, -H valueSpecify HTTP headers, e.g. -H 'Header1: val1' -H 'Header2: val2'
--no-canonicalize-headers, --nchDo not canonicalize HTTP header names. Headers sent as is (default: false)
--method value, -m valueHTTP method to use (default: “GET”)
--useragent value, -a valueSet the User-Agent string (default: “gobuster/3.7”)
--random-agent, --ruaUse a random User-Agent string (default: false)
--proxy valueProxy to use for requests [http(s)://host:port] or [socks5://host:port]
--timeout value, --to valueHTTP Timeout (default: 10s)
--no-tls-validation, -kSkip TLS certificate verification (default: false)
--retryShould retry on request timeout (default: false)
--retry-attempts value, --ra valueTimes to retry on request timeout (default: 3)
--client-cert-pem value, --ccp valuePublic key in PEM format for optional TLS client certificates
--client-cert-pem-key value, --ccpk valuePrivate key in PEM format for optional TLS client certificates (must have no password)
--client-cert-p12 value, --ccp12 valueA p12 file to use for optional TLS client certificates
--client-cert-p12-password value, --ccp12p valueThe password to the p12 file
--tls-renegotiationEnable TLS renegotiation (default: false)
--interface value, --iface valueSpecify network interface to use. Can’t be used with --local-ip
--local-ip valueSpecify local IP of network interface to use. Can’t be used with --interface
--wordlist value, -w valuePath to the wordlist. Set to - to use STDIN
--delay value, -d valueTime each thread waits between requests (e.g. 1500ms) (default: 0s)
--threads value, -t valueNumber of concurrent threads (default: 10)
--wordlist-offset value, --wo valueResume from a given position in the wordlist (default: 0)
--output value, -o valueOutput file to write results to (defaults to stdout)
--quiet, -qDon’t print the banner and other noise (default: false)
--no-progress, --npDon’t display progress (default: false)
--no-error, --neDon’t display errors (default: false)
--pattern value, -p valueFile containing replacement patterns
--discover-pattern value, --pd valueFile containing replacement patterns applied to successful guesses
--no-color, --ncDisable color output (default: false)
--debugEnable debug output (default: false)
--exclude-statuscodes value, -b valueExcluded status codes. Can handle ranges like 200,300-400,404
--exclude-length value, --xl valueExclude content lengths (ignores status). Supports comma-separated and ranges like 203-206
--body value, -B valueRequest body
--help, -hShow help

gobuster tftp

Uses TFTP enumeration mode

Usage: gobuster tftp [options]

OptionDescription
--server value, -s valueThe target TFTP server
--timeout value, --to valueTFTP timeout (default: 1s)
--wordlist value, -w valuePath to the wordlist. Set to - to use STDIN
--delay value, -d valueTime each thread waits between requests (e.g. 1500ms) (default: 0s)
--threads value, -t valueNumber of concurrent threads (default: 10)
--wordlist-offset value, --wo valueResume from a given position in the wordlist (default: 0)
--output value, -o valueOutput file to write results to (defaults to stdout)
--quiet, -qDon’t print the banner and other noise (default: false)
--no-progress, --npDon’t display progress (default: false)
--no-error, --neDon’t display errors (default: false)
--pattern value, -p valueFile containing replacement patterns
--discover-pattern value, --pd valueFile containing replacement patterns applied to successful guesses
--no-color, --ncDisable color output (default: false)
--debugEnable debug output (default: false)
--help, -hShow help

gobuster s3

Uses aws bucket enumeration mode

Usage: gobuster s3 [options]

OptionDescription
--max-files value, -m valueMax files to list when listing buckets (default: 5)
--show-files, -sShow files from found buckets (default: true)
--wordlist value, -w valuePath to the wordlist. Set to - to use STDIN
--delay value, -d valueTime each thread waits between requests (e.g. 1500ms) (default: 0s)
--threads value, -t valueNumber of concurrent threads (default: 10)
--wordlist-offset value, --wo valueResume from a given position in the wordlist (default: 0)
--output value, -o valueOutput file to write results to (defaults to stdout)
--quiet, -qDon’t print the banner and other noise (default: false)
--no-progress, --npDon’t display progress (default: false)
--no-error, --neDon’t display errors (default: false)
--pattern value, -p valueFile containing replacement patterns
--discover-pattern value, --pd valueFile containing replacement patterns applied to successful guesses
--no-color, --ncDisable color output (default: false)
--debugEnable debug output (default: false)
--useragent value, -a valueSet the User-Agent string (default: “gobuster/3.7”)
--random-agent, --ruaUse a random User-Agent string (default: false)
--proxy valueProxy to use for requests [http(s)://host:port] or [socks5://host:port]
--timeout value, --to valueHTTP Timeout (default: 10s)
--no-tls-validation, -kSkip TLS certificate verification (default: false)
--retryShould retry on request timeout (default: false)
--retry-attempts value, --ra valueTimes to retry on request timeout (default: 3)
--client-cert-pem value, --ccp valuePublic key in PEM format for optional TLS client certificates
--client-cert-pem-key value, --ccpk valuePrivate key in PEM format for optional TLS client certificates (must have no password)
--client-cert-p12 value, --ccp12 valueA p12 file to use for optional TLS client certificates
--client-cert-p12-password value, --ccp12p valueThe password to the p12 file
--tls-renegotiationEnable TLS renegotiation (default: false)
--interface value, --iface valueSpecify network interface to use. Can’t be used with --local-ip
--local-ip valueSpecify local IP of network interface to use. Can’t be used with --interface
--help, -hShow help

gobuster gcs

Uses gcs bucket enumeration mode

Usage: gobuster gcs [options]

OptionDescription
--max-files value, -m valueMax files to list when listing buckets (default: 5)
--show-files, -sShow files from found buckets (default: true)
--wordlist value, -w valuePath to the wordlist. Set to - to use STDIN
--delay value, -d valueTime each thread waits between requests (e.g. 1500ms) (default: 0s)
--threads value, -t valueNumber of concurrent threads (default: 10)
--wordlist-offset value, --wo valueResume from a given position in the wordlist (default: 0)
--output value, -o valueOutput file to write results to (defaults to stdout)
--quiet, -qDon’t print the banner and other noise (default: false)
--no-progress, --npDon’t display progress (default: false)
--no-error, --neDon’t display errors (default: false)
--pattern value, -p valueFile containing replacement patterns
--discover-pattern value, --pd valueFile containing replacement patterns applied to successful guesses
--no-color, --ncDisable color output (default: false)
--debugEnable debug output (default: false)
--useragent value, -a valueSet the User-Agent string (default: “gobuster/3.7”)
--random-agent, --ruaUse a random User-Agent string (default: false)
--proxy valueProxy to use for requests [http(s)://host:port] or [socks5://host:port]
--timeout value, --to valueHTTP Timeout (default: 10s)
--no-tls-validation, -kSkip TLS certificate verification (default: false)
--retryShould retry on request timeout (default: false)
--retry-attempts value, --ra valueTimes to retry on request timeout (default: 3)
--client-cert-pem value, --ccp valuePublic key in PEM format for optional TLS client certificates
--client-cert-pem-key value, --ccpk valuePrivate key in PEM format for optional TLS client certificates (must have no password)
--client-cert-p12 value, --ccp12 valueA p12 file to use for optional TLS client certificates
--client-cert-p12-password value, --ccp12p valueThe password to the p12 file
--tls-renegotiationEnable TLS renegotiation (default: false)
--interface value, --iface valueSpecify network interface to use. Can’t be used with --local-ip
--local-ip valueSpecify local IP of network interface to use. Can’t be used with --interface
--help, -hShow help