
🚀 Ein automatisierter DNS-Scanner und ein Tool 🖱️ (Zone Transfer, DNS Zone Takeover, Subdomain Takeover).
Subrake begann ursprünglich als persönliches Projekt zur Subdomain-Enumeration und ist nun ein detailliertes DNS-Scanning-Tool, das dir hilft, Zone Transfers, DNS-Zonenübernahmen und Subdomain-Übernahmen in einem Durchgang zu identifizieren.
Zone Transfers gibt es seit Jahren, und wenn sie aus irgendeinem Grund für eine Domain aktiviert sind, kann eine andere Partei alle Einträge der Zone enumerieren. Sie werden tatsächlich verwendet, wenn der Eigentümer eine Domain von einem Anbieter zu einem anderen übertragen möchte.
Subdomain-Übernahme ist, anders als der Name vermuten lässt, die Übernahme des Dienstes, auf den die Subdomain zeigt. Der Dienst muss veraltet oder nicht mehr in Gebrauch sein.
DNS-Zonenübernahme kann im Vergleich zur Subdomain-Übernahme schwerwiegender sein, wenn sie ausgenutzt wird. Es handelt sich um die Übernahme einer der Zonen der Domain. Dies ermöglicht weit mehr als nur das Erstellen des Dienstes im Backend. Du kannst tatsächlich deine eigenen DNS-Einträge einrichten und nach Belieben damit spielen.
Für weitere Details kannst du meinen Blog hier lesen: Ein Leitfaden zu Zone Transfer, DNS-Zonenübernahme und Subdomain-Übernahme
Subrake ist ein DNS-Bewertungswerkzeug (größtenteils automatisiert) mit sowohl einer Benutzeroberfläche (UI) als auch einer CLI, das verschiedene Phasen durchläuft, um DNS-Probleme abzudecken. Das Tool wird kontinuierlich weiterentwickelt, und jeder ist eingeladen, zum Projekt beizutragen.
Es wurde hauptsächlich für Bug Bounty und die Infosec-Branche entwickelt, kann aber auch für Blue Teaming und interne Pentests genutzt werden. Es unterstützt sowohl eine CLI als auch eine webbasierte GUI und mehrere Installationsmodi. Die Hauptfunktionen sind:
csv-Format.Du kannst Subrake entweder automatisiert einrichten oder das Repository manuell klonen und über setuptools installieren. Ersteres bietet mehr Kontrolle und ist mit einer UI flexibel. Wenn du jedoch einen einfachen CLI-Modus bevorzugst oder unter Windows arbeitest, folge dem manuellen Abschnitt.
Klone das Repository und wechsle hinein:
$ git clone https://github.com/hash3liZer/Subrake.git
$ cd ./Subrake
Du kannst subrake über Vagrant (mit KVM) einrichten, wobei eine Maschine erstellt und alles automatisch konfiguriert wird. Installiere zuerst die Anforderungen:
$ apt update
$ apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager vagrant vagrant-libvirt
Führe dann im Repository vagrant up aus:
$ vagrant up
Dies wird eine Weile dauern, um den Server bereitzustellen. Danach erhältst du die URL: http://127.0.0.1:9090
Die Standard-Anmeldedaten sind: subrake/password. Du kannst sie auch während der Bereitstellung ändern:
$ SUBRAKE_USERNAME="benutzername" SUBRAKE_PASSWORD="passwort" vagrant up
Nach der Erstellung kannst du den Status deiner neu erstellten Maschine mit diesen Befehlen verwalten:
# Maschinenstatus anzeigen
$ vagrant status
# Maschine anhalten
$ vagrant suspend
# Maschine fortsetzen
$ vagrant resume
# Maschine herunterfahren
$ vagrant halt
# Wieder starten
$ vagrant up
# Maschine löschen
$ vagrant destroy
Bei der manuellen Einrichtung kannst du direkt in das Verzeichnis springen und setuptools zur Installation verwenden
Installiere die Anforderungen und führe setup.py aus:
$ pip3 install -r requirements.txt
$ python3 setup.py install
Überprüfe, ob Subrake installiert ist:
subrake --help
Du kannst das Docker-Image auch aus der Dockerfile erstellen:
$ docker build -t subrake:latest .
Überprüfe den Docker-Container:
$ docker run --rm subrake --help
Du kannst das Skript auch auf einem Bare-Metal-Server bereitstellen. Starte dazu einen frischen Ubuntu 20.04 Server und führe den folgenden Befehl aus:
$ chmod +x ./installer.sh
$ ./installer.sh --deploy
Der Server ist dann erreichbar unter: 0.0.0.0:9090. Du kannst einen nginx Dienst einrichten und als Reverse Proxy verwenden.
Mit der UI kannst du direkt auf die Subtap a Domain Seite springen und einen Scan starten. Erwarte ein paar Fragen zum Scan:
Der Scan wird in einer tmux-Sitzung gestartet. Du kannst STRG+E => d drücken, um den laufenden Bildschirm zu verlassen und einen neuen Scan zu starten. Um den Bildschirm anzuhalten und auf- und abzuwärts zu scrollen, drücke STRG+E => [. Es sind lediglich TMUX-Verknüpfungen mit der globalen Bindungstaste, die auf STRG+E geändert wurde.
Du kannst auch zu einem laufenden Bildschirm zurückkehren, indem du seinen Namen erneut eingibst: