In der dieswöchigen Ausgabe unserer Reihe, in der wir verschiedene Hacker-Tools vorstellen, handelt von dem Pentest-Tool #9 – Subfinder. Dieses Tool kann dazu benutzt werden um verschiedene Subdomains zu finden. Benötigt wird hierfür lediglich das Tool selbst und eine Domain, die anschließend gescannt werden soll.
Installation von Subfinder
Wie viele der vorgestellten Pentest-Tools besitzt auch Subfinder ein öffentliches GitHub-Repository. Es gibt viele Installation-Möglichkeiten, unter anderem lässt sich Subfinder auch in einem Docker-Container starten. Die einfachste Installation ist jedoch durch das Klonen des Repositorys.
Mit dem Befehl: git clone https://github.com/projectdiscovery/subfinder.git kann das gesamte Repository herunter geladen werden. Genau wie das Tool Gobuster, welches wir in der zweiten Ausgabe dieser Reihe vorgestellt haben, ist auch Subfinder in der Sprache Go geschrieben. Software die in dieser modernen Programmiersprache geschrieben sind müssen, bevor sie gestartet werden können, zunächst lokal “gebaut” werden.
Dafür müssen wir uns, in dem eben heruntergeladenen Repository, in den richtigen Ordner bewegen: cd subfinder/v2/cmd/subfinder. Befinden wir uns an dieser Stelle können wir das Pentest-Tool #9 mit dem Befehl: go build erstellen.
Unter macOS, oder dem UNIX Betriebssystem, müssen wir das so eben erstellte Programm noch in einen anderen Ordner bewegen, damit wir das Programm an jeder Stelle ausführen können. Um das fertige Tool in den richtigen Ordner zu bewegen, muss folgender Befehl ausgeführt werden: mv subfinder /usr/local/bin/
Anschließend ist das Tool fertig installiert und kann von überall aus mit dem Befehl subfinder -h gestartet werden.
Pentest-Tool #9 – Subfinder
Der Name des Pentest-Tool #9 sagt bereits aus, für welchen Zweck es verwendet werden kann. Der Nutzen von Subfinder ist es, sämtliche Subdomains zu einer gegebenen Domain zu finden. Subdomains sind ein wichtiger Bestandteil eines Penetrationstests, da teilweise vergessene Systeme oder alte Versionen von Anwendungen, durch eine Subdomain angegriffen werden können.
In der Reconnaissance Phase, der Informationsbeschaffung, werden auch alle Subdomains und laufende Anwendungen auf diesen inspiziert, um so mögliche Schwachstellen zu entdecken. Es gibt verschiedene Programme, die solche Subdomains finden können, der Vorteil in Subfinder liegt darin, dass es durch die Verwendung der Programmiersprache Go sehr schnell ist. In solchen Scans ist es ein großer Vorteil, wenn das verwendete Tool schnell arbeitet, da viele Scans durchgeführt werden müssen die teilweise sehr viel Last erzeugen.
Mit Subfinder können jedoch nicht nur Subdomains gefunden werden, sondern die Datenbank von vielen anderen Scannern kann mit Hilfe einer API-Schnittstelle angefragt werden. Ein Beispiel hierfür ist die Webseite Shodan. Diese kann durch Subfinder angefragt werden, wenn ein entsprechender API-Key in der $HOME/.config/subfinder/config.yaml Datei hinterlegt worden sind. Wie Sie API-Keys auf den entsprechenden Seiten generieren ist in den jeweiligen Dokumentationen beschrieben. Für welche Seiten eine API-Schnittstelle bereit steht können Sie in der README.md des GitHub-Repositorys sehen:
Pentest-Tool #9 in der Praxis
Einen Überblick über die Vielzahl der Funktionen von Subfinder, können Sie sich mit dem Flag -h anzeigen lassen. Der gesamte Befehl hierfür lautet: subfinder -h. In dem unten aufgeführten GIF ist dargestellt, wie wir Subfinder benutzen um sämtliche Subdomains der Seite internet-sicherheit.de zu finden.
Um diese Funktion zu verwenden benutzen wir das Flag -d und anschließend die Ziel-Domain: subfinder -d internet-sicherheit.de
Der Scan kann je nach Webseite unterschiedlich lange dauern. Jedoch zeigt das oben aufgeführt Beispiel, wie schnell Subfinder tatsächlich arbeitet und innerhalb von Sekunden 59 Subdomains entdeckt hat.
Probieren Sie diese Tool gerne selber einmal aus, aber beachten Sie die drei Warnmeldungen, die bei jedem Scan mit Subfinder aufleuchten. Eine dieser Warnungen sagt, dass Sie dieses Hacker-Tool mit Vorsicht benutzen sollten, denn Sie sind für Ihre eigenen Handlungen verantwortlich.