
Hochgeschwindigkeits-Tool zur Entdeckung von API- und Webinhalten, das Routen mit kompilierten Swagger-Datensätzen bruteforct und Tiefenscanning, benutzerdefinierte Wortlisten sowie gleichzeitiges Host-Scanning unterstützt.

Lange Zeit konzentrierte sich die Inhaltserkennung auf das Auffinden von Dateien und Ordnern. Obwohl dieser Ansatz für ältere Webserver effektiv ist, die statische Dateien hosten oder bei einem Teilpfad mit 3xx-Antworten reagieren, ist er für moderne Webanwendungen, insbesondere APIs, nicht mehr geeignet.
Im Laufe der Zeit wurde viel Zeit investiert, um Tools zur Inhaltserkennung schneller zu machen, damit größere Wortlisten verwendet werden können. Die Kunst der Inhaltserkennung wurde jedoch nicht weiterentwickelt.
Kiterunner ist ein Tool, das nicht nur traditionelle Inhaltserkennung mit blitzartiger Geschwindigkeit durchführen kann, sondern auch Routes/Endpunkte in modernen Anwendungen bruteforcen kann.
Moderne Anwendungsframeworks wie Flask, Rails, Express, Django und andere folgen dem Paradigma, Routen explizit zu definieren, die bestimmte HTTP-Methoden, Header, Parameter und Werte erwarten.
Bei Verwendung traditioneller Tools zur Inhaltserkennung werden solche Routen oft übersehen und können nicht leicht entdeckt werden.
Durch das Sammeln eines Datensatzes von Swagger-Spezifikationen und dessen Verdichtung in ein eigenes Schema kann Kiterunner diesen Datensatz verwenden, um API-Endpunkte zu bruteforcen, indem es für jede gesendete Anfrage die korrekte HTTP-Methode, Header, Pfad, Parameter und Werte sendet.
Swagger-Dateien wurden aus einer Reihe von Datenquellen gesammelt, darunter ein internetweiter Scan nach den 40+ häufigsten Swagger-Pfaden. Weitere Datenquellen waren GitHub via BigQuery und APIs.guru.
Sie können eine vorgefertigte Kopie von https://github.com/assetnote/kiterunner/releases herunterladen.
make build
ln -s $(pwd)/dist/kr /usr/local/bin/kr
kr kb compile routes.json routes.kite
kr scan hosts.txt -w routes.kite -x 20 -j 100 --ignore-length=1053
Die JSON-Datensätze finden Sie unten:
- [routes-large.json](https://wordlists-cdn.assetnote.io/rawdata/kiterunner/routes-large.json.tar.gz) (118 MB komprimiert, 2,6 GB dekomprimiert)
- [routes-small.json](https://wordlists-cdn.assetnote.io/rawdata/kiterunner/routes-small.json.tar.gz) (14 MB komprimiert, 228 MB dekomprimiert)
Alternativ ist es möglich, die kompilierten `.kite`-Dateien über die folgenden Links herunterzuladen:
- [routes-large.kite](https://wordlists-cdn.assetnote.io/data/kiterunner/routes-large.kite.tar.gz) (40 MB komprimiert, 183 M dekomprimiert)
- [routes-small.kite](https://wordlists-cdn.assetnote.io/data/kiterunner/routes-small.kite.tar.gz) (2 MB komprimiert, 35 MB dekomprimiert)
## AUR
Benutzer einer Arch-basierten Distribution können das vorgefertigte Binärpaket von [AUR](https://aur.archlinux.org/packages/kiterunner-bin/) herunterladen.
Sie können einen "Aur-Helfer" wie `yay` verwenden, um kiterunner zu installieren.```
yay -S kiterunner-bin
kr [scan|brute] [flags]
- `<input>` kann eine Datei, eine Domain oder eine URI sein. Wir werden das für Sie herausfinden. Siehe [Input/Host Formatting](#inputhost-formatting) für weitere Details```
# Just have a list of hosts and no wordlist
kr scan hosts.txt -A=apiroutes-210328:20000 -x 5 -j 100 --fail-status-codes 400,401,404,403,501,502,426,411
# You have your own wordlist but you want assetnote wordlists too
kr scan target.com -w routes.kite -A=apiroutes-210328:20000 -x 20 -j 1 --fail-status-codes 400,401,404,403,501,502,426,411
# Bruteforce like normal but with the first 20000 words
kr brute https://target.com/subapp/ -A=aspx-210328:20000 -x 20 -j 1
# Use a dirsearch style wordlist with %EXT%
kr brute https://target.com/subapp/ -w dirsearch.txt -x 20 -j 1 -exml,asp,aspx,ashx -D
Usage: kite scan [flags]