Gobuster

15. Juli 2025

Gobuster ist ein Directory/File-Brute-Force Tool, das schnell versteckte Subdomänen, Verzeichnisse und Dateien auf Webservern findet. Es ist in Go geschrieben und nutzt Multi-Threading, was es deutlich schneller macht als viele andere Tools.

Das Tool kann verschiedene Modi:

  • dir: Directory/File-Brute-Force
  • dns: DNS-Subdomain-Brute-Force
  • vhost: Virtual Host-Brute-Force
  • fuzz: Fuzzing-Modus

Installation

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install gobuster

macOS

# Mit Homebrew
brew install gobuster

# Mit MacPorts
sudo port install gobuster

Mit Go installieren (plattformübergreifend)

go install github.com/OJ/gobuster/v3@latest

Grundlegende Verwendung

Directory Brute-Force

gobuster dir -u http://target.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

Die wichtigsten Parameter:

  • -u: Target URL
  • -w: Wordlist-Datei
  • -t: Anzahl Threads (default: 10)
  • -x: File-Extensions (z.B. php,txt,html)
  • -s: Status Codes zum Anzeigen
  • -k: SSL-Zertifikat ignorieren

Beispiel mit Extensions

gobuster dir -u https://example.com -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -t 20

Praktische Beispiele

Standard Web-Scan

gobuster dir -u http://10.10.10.10 \
  -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt \
  -x php,html,txt,jsp,aspx \
  -t 30 \
  -s 200,204,301,302,307,401,403

Parameter erklärt:

  • -u http://10.10.10.10: Die Ziel-URL die gescannt werden soll
  • -w /usr/share/...: Pfad zur Wordlist mit Directory-Namen
  • -x php,html,txt,jsp,aspx: File-Extensions die angehängt werden (testet z. B. admin.php, admin.html)
  • -t 30: 30 gleichzeitige Threads für Speed
  • -s 200,204,301,302,307,401,403: Zeige nur diese HTTP Status Codes an (filtert 404s raus)

Mit Custom Headers

gobuster dir -u http://target.com \
  -w /usr/share/wordlists/dirb/common.txt \
  -H "User-Agent: Mozilla/5.0..." \
  -H "Authorization: Bearer token123"

Parameter erklärt:

  • -H "User-Agent: ...": Setzt einen Custom User-Agent (um wie ein echter Browser auszusehen)
  • -H "Authorization: ...": Fügt Authorization Header hinzu (für authenticated Bereiche)
  • Du kannst mehrere -H Parameter verwenden für verschiedene Headers

Subdomain Enumeration

gobuster dns -d example.com -w /usr/share/wordlists/dnsrecon/subdomains-top1mil-5000.txt

Parameter erklärt:

  • dns: Modus für DNS-Subdomain-Brute-Force
  • -d example.com: Die Domain, für die Subdomains gesucht werden
  • -w: Wordlist mit möglichen Subdomain-Namen (admin, mail, dev, etc.)

Virtual Host Discovery

gobuster vhost -u http://target.com -w /usr/share/wordlists/dirb/common.txt

Parameter erklärt:

  • vhost: Modus für Virtual Host Discovery
  • -u http://target.com: Target URL als Basis
  • -w: Wordlist mit Virtual Host Namen
  • Testet z. B. admin.target.com, dev.target.com über den Host-Header

Wordlists

Für Directories

# Klein und schnell
/usr/share/wordlists/dirb/common.txt

# Mittelgroß, gute Balance
/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

# Groß, für gründliche Scans
/usr/share/wordlists/dirbuster/directory-list-2.3-big.txt

# SecLists (muss separat installiert werden)
/usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt

Für Subdomains

/usr/share/wordlists/dnsrecon/subdomains-top1mil-5000.txt
/usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt

Tipps und Tricks

1. Output speichern

gobuster dir -u http://target.com -w wordlist.txt -o output.txt

2. Mehrere Extensions gleichzeitig

gobuster dir -u http://target.com -w wordlist.txt -x php,asp,aspx,jsp,html,txt,pdf,zip

3. Proxy verwenden (für Burp Suite)

gobuster dir -u http://target.com -w wordlist.txt --proxy http://127.0.0.1:8080

4. Timeout anpassen

gobuster dir -u http://target.com -w wordlist.txt --timeout 30s

5. Bestimmte Status Codes ausschließen

gobuster dir -u http://target.com -w wordlist.txt -b 404,403

Erweiterte Techniken

Recursive Scanning

gobuster dir -u http://target.com -w wordlist.txt -r

Gobuster scannt nicht nur die Hauptebene, sondern auch alle gefundenen Subdirectories automatisch weiter. Wenn es /admin/ findet, scannt es auch /admin/backup/, /admin/config/ usw.

Pattern-based Fuzzing

gobuster fuzz -u http://target.com/FUZZ -w wordlist.txt

Das Wort „FUZZ“ wird durch jedes Wort aus der Wordlist ersetzt. Du kannst mehrere FUZZ-Marker setzen: http://target.com/FUZZ/admin/FUZZ.php. Nützlich für komplexere URL-Strukturen.

Mit Cookies

gobuster dir -u http://target.com -w wordlist.txt -c "sessionid=abc123"

Gobuster sendet bei jedem Request die angegebenen Cookies mit. Das ist wichtig, wenn du authenticated Bereiche scannen willst oder wenn die Webseite Session-basiert funktioniert.

Multiple FUZZ-Marker

gobuster fuzz -u http://target.com/FUZZDIR/FUZZFILE.php -w wordlist.txt

Jedes Wort aus der Wordlist wird für beide FUZZ-Marker verwendet. Das erstellt Kombinationen wie /admin/admin.php, /backup/backup.php usw.

Performance-Tuning

Gobuster ist schnell, aber du kannst es noch optimieren:

# Mehr Threads (aber vorsichtig mit dem Target)
gobuster dir -u http://target.com -w wordlist.txt -t 50

# Kleinere Wordlists für schnelle Scans
gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/small.txt

# Timeout reduzieren
gobuster dir -u http://target.com -w wordlist.txt --timeout 10s

Standard-Befehle

Hier sind die Befehle, die häufig verwendet werden:

# Quick Scan
gobuster dir -u $TARGET -w /usr/share/wordlists/dirb/common.txt -x php,html,txt

# Detailed Scan
gobuster dir -u $TARGET -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,asp,aspx,jsp,html,txt,pdf,zip -t 30 -s 200,204,301,302,307,401,403 -o gobuster_results.txt

# Subdomain Scan
gobuster dns -d $DOMAIN -w /usr/share/wordlists/dnsrecon/subdomains-top1mil-5000.txt -t 30

Legale Hinweise

Gobuster darf nur auf Systemen eingesetzt werden, die im eigenen Besitz sind oder für die eine ausdrückliche Genehmigung des Eigentümers vorliegt.

Fazit

Gobuster ist ein solides Tool für Directory-Brute-Force-Attacks. Es ist schnell, einfach zu bedienen und macht seinen Job gut 🥳.