tags: KiteRunner Enumerazione_API
Kiterunner è uno strumento open-source sviluppato da Assetnote per scoprire e testare endpoint API. È progettato per essere veloce e preciso, utilizzando tecniche avanzate per identificare endpoint API che potrebbero essere vulnerabili.
Installazione di Kiterunner
Prima di utilizzare Kiterunner, devi installarlo sul tuo sistema. Ecco come farlo:
Installazione manuale (La più semplice)
Vai alla pagina https://github.com/assetnote/kiterunner/releases e scarica la versione per il tuo sistema operativo, se non sai quale architettura ha il tuo sistema operativo digita in un terminale:
dpkg --print-architectureUna volta installata la possiamo unzippare con:
tar -xf kiterunner_1.0.2_linux_amd64.tar.gz Per eseguirlo da qualsiasi parte del sistema possiamo lanciare il seguente comando:
sudo ln -s ~/Downloads/kr /usr/local/bin/krb) Clonare il Repository:
git clone https://github.com/assetnote/kiterunner.git
cd kiterunner
make build
export PATH=$PATH:$(pwd)/build
./kr --help #Per verificare che sia correttamente installato
Utilizzo Base
Elencare le Wordlist:
kr wordlists listScansionare le apiroutes (cioè le prime cartelle delle api):
kr scan <indirizzo IP> -A apiroutes-230528
#Per ignorare i risultati in base alla lunghezza puoi usare la flag:
kr scan <indirizzo IP> -A apiroutes-230528 --ignore-lenght 24
Con -A specifichi la wordlist da utilizzare.
Dizionari di Endpoint API
Kiterunner utilizza dizionari specifici per cercare endpoint API. Puoi scaricare dizionari predefiniti da Assetnote Wordlists:
- Repository: https://wordlists.assetnote.io
Esempio:
Scarica un dizionario:
wget https://wordlists.assetnote.io/data/kiterunner/routes-large.kiteCome utilizzare Kiterunner
A. Enumerazione degli endpoint API
Esegui una scansione degli endpoint API contro un target:
kr scan -w routes-large.kite -u https://api.target.com
kr scan -w routes-large.kite -u https://api.target.com
-w: Specifica il file di dizionario.-u: Specifica l’URL del target.
Test di Vulnerabilità
Kiterunner può anche testare endpoint API per vulnerabilità comuni. Ecco un esempio di comando per testare un endpoint specifico:
./kr brute -w wordlist.txt -u https://example.com/api/v1/users-
-w wordlist.txt: Specifica la wordlist da utilizzare per il test. -
-u https://example.com/api/v1/users: Specifica l’endpoint API da testare.
Utilizzo di Wordlist Personalizzate
Kiterunner supporta l’uso di wordlist personalizzate per scoprire endpoint API. Puoi creare la tua wordlist o utilizzare quelle fornite dalla comunità. Ecco un esempio di comando con una wordlist personalizzata:
./kr scan -w custom_wordlist.txt -u https://example.com