Gobuster

Gobuster ist ein Open-Source-Tool, das von Sicherheitsexperten und Pentestern zum Scannen von Webanwendungen verwendet wird. Es wird hauptsächlich für zwei Arten von Scans verwendet: das Aufspüren von versteckten Verzeichnissen und Dateien auf Webservern und das Scannen von Subdomains. Gobuster verwendet dazu eine Brute-Force Technik, um die Namen versteckter Verzeichnisse und Dateien zu erraten. Es sendet Anfragen mit verschiedenen Kombinationen einer Wortliste an den Server und identifiziert Ressourcen, die zwar existieren, aber nicht direkt verlinkt oder auf der Hauptseite einer Website aufgeführt sind.

Die Effektivität von Gobuster hängt von der Qualität und Relevanz der verwendeten Wortliste ab. Gobuster ist ein nützliches Werkzeug für Sicherheits-Audits und hilft, potentielle Sicherheitslücken in Webanwendungen aufzudecken, die durch ungeschützte Dateien oder Verzeichnisse entstehen können.

Versteckte Verzeichnisse

Versteckte Verzeichnisse auf einem Webserver sind Ordner, die nicht direkt über die Standardseiten oder Links der Website zugänglich sind. Sie enthalten häufig sensible Daten oder Konfigurationsdateien und sind nicht für die öffentliche Ansicht oder den öffentlichen Zugriff bestimmt. Diese Verzeichnisse können absichtlich versteckt werden oder unbeabsichtigt durch Fehlkonfigurationen oder mangelnde Sicherheitspraktiken sichtbar werden.

┌──(pronto㉿kali)-[~]
└─$ gobuster dir -u http://192.168.178.67 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://192.168.178.67
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.6
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/test                 (Status: 301) [Size: 320] [--> http://192.168.178.67/test/]
/index                (Status: 200) [Size: 891]
/twiki                (Status: 301) [Size: 321] [--> http://192.168.178.67/twiki/]
/tikiwiki             (Status: 301) [Size: 324] [--> http://192.168.178.67/tikiwiki/]
/phpinfo              (Status: 200) [Size: 48008]
/server-status        (Status: 403) [Size: 300]
/phpMyAdmin           (Status: 301) [Size: 326] [--> http://192.168.178.67/phpMyAdmin/]
Progress: 220560 / 220561 (100.00%)
===============================================================
Finished
===============================================================
  • test, index, twiki, tikiwiki, phpinfo, server-status und phpMyAdmin sind Verzeichnisse die auf dem Server gefunden wurden.
  • Die Statuscodes geben den HTTP-Response-Status für jede gefundene Ressource an. Ein Status von 200 bedeutet, dass das Verzeichnis existiert und zugänglich ist, während 301 eine Umleitung anzeigt und 403 (Forbidden) bedeutet, dass der Client nicht berechtigt ist, auf die angeforderte Ressource zuzugreifen.

Angriffserkennung

Als Serverbetreiber können Sie Hinweise auf einen Brute-Force-Angriff mit einem Tool wie Gobuster in verschiedenen Logdateien und anhand spezifischer Muster erkennen. In den Zugriffslogs des Webservers (z.B. access.log eines Apache Webservers) können Sie eine große Anzahl von Anfragen an verschiedene URLs innerhalb eines kurzen Zeitraums feststellen. Diese Anfragen stammen oft von derselben IP-Adresse oder einem begrenzten Set von IP-Adressen.

Beispiele von typischen Einträgen:

192.168.178.60 - - [14/Jan/2024:12:04:07 -0500] "GET /phpinfo HTTP/1.1" 200 48008 "-" "gobuster/3.6"
192.168.178.60 - - [14/Jan/2024:12:04:08 -0500] "GET /Storage_Arrays HTTP/1.1" 404 297 "-" "gobuster/3.6"
192.168.178.60 - - [14/Jan/2024:12:04:08 -0500] "GET /0131480049 HTTP/1.1" 404 293 "-" "gobuster/3.6"
192.168.178.60 - - [14/Jan/2024:12:04:08 -0500] "GET /column5 HTTP/1.1" 404 290 "-" "gobuster/3.6"

Zudem können Sie in den Fehlerlogs des Servers (z.B. error.log eines Apache Webservers) eine große Anzahl von Einträge finden, die auf nicht existierende Pfade hinweisen, die angefragt wurden und zu 404-Fehlern führten:

[Wed Jan 03 18:40:15 2024] [error] [client 192.168.178.60] File does not exist: /var/www/admin
[Wed Jan 03 18:40:15 2024] [error] [client 192.168.178.60] File does not exist: /var/www/general
[Wed Jan 03 18:40:15 2024] [error] [client 192.168.178.60] File does not exist: /var/www/WebConfig
[Wed Jan 03 18:40:15 2024] [error] [client 192.168.178.60] File does not exist: /var/www/wcd

Wenn Sie zusätzliche Sicherheitsüberwachungs-Tools oder Intrusion Detection Systeme (IDS) wie Fail2Ban, ModSecurity o.ä. verwenden, können diese Systeme Alarme oder Berichte über verdächtige Aktivitäten generieren. Diese Tools können typische Muster von Brute-Force-Angriffen erkennen.

Es ist wichtig zu beachten, dass viele Angreifer Techniken einsetzen, um ihre Spuren zu verwischen, wie das Ändern des User-Agents, die Verwendung von IP-Rotation oder das Verlangsamen der Angriffsgeschwindigkeit, um weniger auffällig zu sein. Daher ist es für Serverbetreiber entscheidend, wachsam zu sein und robuste Überwachungs- und Sicherheitssysteme einzusetzen, um solche Aktivitäten effektiv erkennen und darauf reagieren zu können.

Aufspüren von Subdomains

Durch die Identifizierung von Subdomains versucht ein Angreifer, die Angriffsfläche innerhalb einer Organisation zu vergrößern, da jede Subdomain eine potenziell einzigartige Angriffsfläche darstellen kann. Subdomains können unterschiedliche Sicherheitsniveaus aufweisen und werden häufig weniger überwacht und geschützt als die Hauptdomäne. Durch das Sammeln dieser Informationen kann ein Angreifer Schwachstellen identifizieren, die für weitere Angriffe ausgenutzt werden können, wie z. B. das Umgehen von Sicherheitsmaßnahmen, das Auffinden veralteter oder unsicherer Systeme und Anwendungen oder das Sammeln von Informationen für gezielte Phishing-Kampagnen. Das Aufspüren von Subdomains ist daher ein kritischer Schritt in der Phase der Informationsbeschaffung eines umfassenderen Cyber-Angriffs.

Gobuster verwendet einen Brute-Force-Ansatz, um Subdomains zu finden, indem es systematisch eine Reihe möglicher Subdomain-Namen gegen eine spezifizierte Ziel-Domain testet. Dies beginnt mit der Vorbereitung, bei der der Benutzer die Ziel-Domain auswählt und eine Liste von Wörtern angibt, die mögliche Namen für Subdomains enthalten. Gobuster führt dann DNS-Abfragen für jede Kombination aus Listeneintrag und Ziel-Domain durch. Während des Scans, der durch Multithreading beschleunigt wird, analysiert das Tool die DNS-Antworten. Wenn eine Abfrage eine gültige Antwort liefert, wird davon ausgegangen, dass die Subdomain existiert, und sie wird erfasst. Nicht existierende Subdomains, die eine Fehlermeldung zurückgeben, werden ignoriert. Nach Abschluss des Scans präsentiert Gobuster eine Liste aller gefundenen Subdomains. Diese Methode hängt stark von der Vollständigkeit der verwendeten Wortliste ab und ist darauf ausgelegt, ein breites Spektrum möglicher Subdomains aufzudecken.

┌──(pronto㉿kali)-[~]
└─$ gobuster dns -d domain.de -w /usr/share/wordlists/subdomain.txt -t 100
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Domain:     domain.de
[+] Threads:    100
[+] Timeout:    1s
[+] Wordlist:   /usr/share/wordlists/subdomain.txt
===============================================================
Starting gobuster in DNS enumeration mode
===============================================================
[INFO] [-] Unable to validate base domain: domain.de (lookup domain.de: i/o timeout)
Found: ftp.domain.de
Found: kb.domain.de
Found: mail.domain.de
Found: mta.domain.de
Found: mysql5.domain.de
Found: owa.domain.de
Found: rs.domain.de
Found: wiki.domain.de
Found: www.domain.de
Progress: 102906 / 102907 (100.00%)
===============================================================
Finished
===============================================================

Eine wirksame Gegenmaßnahme durch den Betreiber der Domain ist kaum durchführbar, da die Anfrage an die DNS-Server gerichtet ist. Die öffentlichen DNS-Server, insbesondere die der großen Provider, sind für eine Vielzahl von Anfragen ausgelegt. Diese Server verfügen über hohe Kapazitäten und verwenden verteilte Netzwerke und Caching, um die Last zu verteilen. Trotz dieser Maßnahmen können Brute-Force-Scans von Subdomänen, insbesondere wenn sie langsam ausgeführt werden, oft unentdeckt bleiben, da sie nicht unbedingt die Alarmschwellen erreichen, die für schwerwiegendere Angriffe wie DDoS festgelegt wurden.

Updated on 17. Februar 2024
Was this article helpful?

Related Articles