
Rekursiver DNS-Subdomain-Enumerator mit Sackgassenvermeidungssystem (BETA)
Syborg ist ein rekursiver DNS-Domain-Enumerator, der weder aktiv noch vollständig passiv ist. Dieses Tool konstruiert einfach einen Domainnamen und fragt ihn bei einem bestimmten DNS-Server ab.
Syborg verfügt über ein Dead-end-Avoidance-System, das von @Tomnomnom's ettu inspiriert wurde.
Wenn Sie Subdomain-Enumeration mit einigen Tools durchführen, fragen die meisten von ihnen passiv öffentliche Aufzeichnungen wie virustotal, crtsh oder censys ab. Diese Enumerationstechnik ist wirklich schnell und hilft, in viel kürzerer Zeit viele Domains zu finden.
Es gibt jedoch einige Domains, die in diesen öffentlichen Aufzeichnungen möglicherweise nicht erwähnt werden. Um diese Domains zu finden, interagiert Syborg mit den Nameservern und brute-force rekursiv Subdomains aus dem DNS, bis seine Warteschlange leer ist.
Bildnachweis: Carbon
Wie auf der Seite von ettu erwähnt, zitiere ich:
Normalerweise würden Sie bei einem DNS-Namen, für den keine Datensätze zurückgegeben werden, einen
NXDOMAIN-Fehler erwarten:▶ host four.tomnomnom.uk Host four.tomnomnom.uk not found: 3(NXDOMAIN)Sie haben vielleicht bemerkt, dass Sie stattdessen manchmal eine leere Antwort erhalten:
▶ host three.tomnomnom.ukDer Unterschied im letzteren Fall besteht oft darin, dass ein anderer Name – einer, der Ihren abgefragten Namen als Suffix hat – existiert und Datensätze zurückzugeben hat
▶ host one.two.three.tomnomnom.uk one.two.three.tomnomnom.uk has address 46.101.59.42Dieser Unterschied in der Antwort kann genutzt werden, um Sackgassen beim rekursiven DNS-Brute-Forcing zu vermeiden, indem im ersteren Fall nicht weiter rekurriert wird:
▶ echo -e "www\none\ntwo\nthree" | ettu tomnomnom.uk one.two.three.tomnomnom.uk
Syborg integriert all diese Funktionalitäten mit einfacher Nebenläufigkeit und Rekursion.
Python 3.x (empfohlen)
Python 2.x (nicht getestet)
Klonen Sie das Repo mit dem folgenden git clone-Befehl:
git clone https://github.com/MilindPurswani/Syborg.git
Abhängigkeiten auflösen:
pip3 install -r requirements.txt
python3 syborg.py yahoo.com
Weitere Informationen zur Verwendung finden Sie in Syborgs Creative Usage Guidelines. Schauen Sie sich das unbedingt an!
Es ist auch möglich, dass Syborg zeitweise eine hohe CPU-Auslastung verursacht, was Sie viel kosten kann, wenn Sie dieses Tool auf Ihrem VPS einsetzen möchten. Um dies zu begrenzen, verwenden Sie daher ein anderes Dienstprogramm namens Cpulimit
cpulimit -l 50 -p $(pgrep python3)
Dieses Tool kann wie folgt heruntergeladen werden:
sudo apt install cpulimit
FileQueue-Bibliothek, die das Problem des hohen Speicherverbrauchs bei Syborg gelöst hat.dnsgen.