
Ein automatisiertes Werkzeug, das gleichzeitig crawlen, Formulare ausfüllen, Fehler-/Debug-Seiten auslösen und Geheimnisse aus dem clientseitigen Code von Websites "erbeuten" kann.
Ein automatisiertes Tool, das gleichzeitig crawlen, Formulare ausfüllen, Fehler-/Debug-Seiten auslösen und Geheimnisse aus dem clientseitigen Code von Websites "erbeuten" kann.
Um das Tool zu verwenden, können Sie eine der vorgefertigten Binärdateien aus dem Bereich Releases des Repositorys herunterladen. Wenn Sie den Quellcode selbst erstellen möchten, benötigen Sie Go > 1.16. Ein einfaches Ausführen von go build erzeugt eine nutzbare Binärdatei.
Zusätzlich benötigen Sie zwei JSON-Dateien (lootdb.json und regexes.json) zusammen mit der Binärdatei, die Sie aus dem Repository selbst beziehen können. Sobald Sie alle 3 Dateien im selben Ordner haben, können Sie das Tool starten.
Video-Demo:
Hier ist die Hilfe zur Nutzung des Tools:
$ ./httploot --help
_____
)=(
/ \ H T T P L O O T
( $ ) v0.1
\___/
[+] HTTPLoot by RedHunt Labs - A Modern Attack Surface (ASM) Management Company
[+] Author: Pinaki Mondal (RHL Research Team)
[+] Continuously Track Your Attack Surface using https://redhuntlabs.com/nvadr.
Usage of ./httploot:
-concurrency int
Maximum number of sites to process concurrently (default 100)
-depth int
Maximum depth limit to traverse while crawling (default 3)
-form-length int
Length of the string to be randomly generated for filling form fields (default 5)
-form-string string
Value with which the tool will auto-fill forms, strings will be randomly generated if no value is supplied
-input-file string
Path of the input file containing domains to process
-output-file string
CSV output file path to write the results to (default "httploot-results.csv")
-parallelism int
Number of URLs per site to crawl parallely (default 15)
-submit-forms
Whether to auto-submit forms to trigger debug pages
-timeout int
The default timeout for HTTP requests (default 10)
-user-agent string
User agent to use during HTTP requests (default "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0")
-verify-ssl
Verify SSL certificates while making HTTP requests
-wildcard-crawl
Allow crawling of links outside of the domain being scanned
Es gibt zwei Flags, die beim parallelen Scannen helfen:
-concurrency: Gibt die maximale Anzahl gleichzeitig zu verarbeitender Websites an.-parallelism: Gibt die Anzahl der Links pro Website an, die parallel gecrawlt werden sollen.Sowohl -concurrency als auch -parallelism sind entscheidend für die Leistung und Zuverlässigkeit der Tool-Ergebnisse.
Die Crawling-Tiefe kann mit dem Flag -depth angegeben werden. Der angegebene ganzzahlige Wert ist die maximale Kettentiefe der Links, die auf einer Website gecrawlt werden sollen.
Ein wichtiges Flag -wildcard-crawl kann verwendet werden, um anzugeben, ob URLs außerhalb der Domain im Gültigkeitsbereich gecrawlt werden sollen.
HINWEIS: Die Verwendung dieses Flags kann in Worst-Case-Szenarien zu unendlichem Crawling führen, wenn der Crawler kontinuierlich Links zu anderen Domains findet.
Wenn das Tool nach Debug-Seiten suchen soll, müssen Sie das Argument -submit-forms angeben. Dies veranlasst das Tool, Formulare automatisch zu übermitteln und zu versuchen, Fehler-/Debug-Seiten auszulösen, sobald ein Technologie-Stack erfolgreich identifiziert wurde.
Wenn das Flag -submit-forms aktiviert ist, können Sie die Zeichenfolge steuern, die in die Formularfelder eingetragen wird. -form-string gibt die einzutragende Zeichenfolge an, während -form-length die Länge der zufällig generierten Zeichenfolge steuern kann, die in die Formulare eingefügt wird.
Flags wie:
-timeout - gibt das HTTP-Timeout für Anfragen an.-user-agent - gibt den User-Agent für HTTP-Anfragen an.-verify-ssl - gibt an, ob SSL-Zertifikate überprüft werden sollen oder nicht.Die Eingabedatei kann mit dem Argument -input-file angegeben werden. Sie können einen Dateipfad angeben, der eine Liste von URLs enthält, die mit dem Tool gescannt werden sollen. Das Flag -output-file kann verwendet werden, um den Pfad der Ergebnisausgabedatei anzugeben – standardmäßig wird eine Datei namens httploot-results.csv verwendet.
Weitere Details zur Forschung, die zur Entwicklung des Tools führte, finden Sie in unserem RedHunt Labs Blog.
Das Tool ist unter der MIT-Lizenz lizenziert. Siehe LICENSE.
Derzeit ist das Tool auf v0.1.
Das RedHunt Labs Forschungsteam möchte den Erstellern und Betreuern von shhgit für die von ihnen in ihrem Repository bereitgestellten regulären Ausdrücke danken.