name: gobuster
category: web
description: Directory/file, DNS, S3, GCS, and vhost brute-forcing tool.
keywords:
  - directory
  - brute
  - dns
  - vhost
  - discovery
  - s3
  - bucket

parameters:
  mode:
    type: enum
    required: true
    options:
      - dir
      - dns
      - vhost
      - fuzz
      - s3
      - gcs
      - tftp
    description: Gobuster mode

  url:
    type: string
    flag: "-u"
    description: Target URL (for dir/vhost/fuzz mode)

  domain:
    type: string
    flag: "-d"
    description: Target domain (for dns mode)

  wordlist:
    type: string
    required: true
    flag: "-w"
    description: Wordlist file path

  threads:
    type: integer
    flag: "-t"
    default: 10
    description: Number of concurrent threads

  extensions:
    type: string
    flag: "-x"
    description: "File extensions to search (e.g., php,html,txt)"

  status_codes:
    type: string
    flag: "-s"
    description: "Positive status codes (dir mode)"

  status_codes_blacklist:
    type: string
    flag: "-b"
    description: "Negative status codes"

  exclude_length:
    type: string
    flag: "--exclude-length"
    description: Exclude responses by length

  cookies:
    type: string
    flag: "-c"
    description: Cookies to use

  headers:
    type: string
    flag: "-H"
    description: HTTP headers

  username:
    type: string
    flag: "-U"
    description: Username for basic auth

  password:
    type: string
    flag: "-P"
    description: Password for basic auth

  proxy:
    type: string
    flag: "--proxy"
    description: Proxy URL

  timeout:
    type: integer
    flag: "--timeout"
    default: 10
    description: Request timeout

  no_tls_validation:
    type: boolean
    flag: "-k"
    description: Skip TLS certificate verification

  follow_redirect:
    type: boolean
    flag: "-r"
    description: Follow redirects

  expanded:
    type: boolean
    flag: "-e"
    description: Expanded mode (print full URLs)

  no_status:
    type: boolean
    flag: "-n"
    description: Don't print status codes

  quiet:
    type: boolean
    flag: "-q"
    description: Quiet mode

  output:
    type: string
    flag: "-o"
    description: Output file

  wildcard:
    type: boolean
    flag: "--wildcard"
    description: Force processing despite wildcard

  show_cname:
    type: boolean
    flag: "--show-cname"
    description: Show CNAME records (dns mode)

  no_error:
    type: boolean
    flag: "--no-error"
    description: Don't display errors

requires_root: false
timeout: 600

examples:
  - "gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt"
  - "gobuster dir -u http://target.com -w wordlist.txt -x php,html,txt -t 50"
  - "gobuster dns -d target.com -w subdomains.txt"
  - "gobuster vhost -u http://target.com -w vhosts.txt"
  - "gobuster s3 -w bucket-names.txt"
  - "gobuster dir -u https://target.com -w wordlist.txt -k -b 404,403"

notes: |
  Modes:
  - dir: Directory/file enumeration
  - dns: DNS subdomain enumeration
  - vhost: Virtual host enumeration
  - fuzz: Fuzzing mode
  - s3: AWS S3 bucket enumeration
  - gcs: Google Cloud Storage enumeration
  - tftp: TFTP enumeration

  Common wordlists:
  - /usr/share/wordlists/dirb/common.txt
  - /usr/share/wordlists/dirb/big.txt
  - /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
  - /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt

  Tips:
  - Use -e for full URLs in output
  - Use -k to skip SSL errors
  - Use -b to blacklist common error codes
  - Increase -t for faster scanning
