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-architecture

Una 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/kr

b) 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 list

Scansionare 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:

Esempio:

Scarica un dizionario:

wget https://wordlists.assetnote.io/data/kiterunner/routes-large.kite

Come 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