Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
apimspray — Azure apim mini proxy | Kitploit
Strumenti/GitHubGitHub/crtvrffnrt/apimspray
OSINT (Open Source Intelligence)RicognizioneAttacchi alle PasswordRaccolta InformazioniSicurezza CloudRed Teaming
GitHubcrtvrffnrt/apimspray

apimspray

Azure apim mini proxy

Vedi Repository
616131 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

Apimspray

apimspray

Python Azure License Status

apimspray è un kit di password spraying per Entra ID specializzato, progettato per ricerche di sicurezza autorizzate e Red Teaming. Utilizza i gateway di Azure API Management (APIM) come livello proxy distribuito e rotante per l'IP Rotating.

Leggi il Post del Blog per maggiori dettagli su questo progetto.

Prerequisiti

  • Azure CLI (az): Necessaria per lo script rotator per distribuire le risorse. (Eseguire lo script da una sessione CLI già autenticata con az cli o utilizzare Azure Cloud Shell)
  • Abbonamento Azure attivo: Per distribuire risorse del livello APIM Consumption (Il costo è trascurabile, tipicamente <$0.01 per valutazioni brevi).

Installazione

  1. Clonare il repository.
  2. Installare le dipendenze Python:
    root@kitploit:~
    pip install -r requirements.txt
    
  3. Assicurarsi di aver effettuato l'accesso a Azure CLI:
    root@kitploit:~
    az login
    
    Nota: Lo script rotator si basa su una sessione Azure CLI attiva in background per distribuire le risorse.

Configurazione

Avvio rapido (Azure Cloud Shell)

Esegui apimspray direttamente da un ambiente Azure autenticato.

Apri in Azure Cloud Shell
root@kitploit:~
git clone https://github.com/crtvrffnrt/apimspray.git
cd apimspray
python3 apimspray.py --help

1. Distribuisci Gateway

Distribuisci più gateway APIM in varie località.

root@kitploit:~
python3 apimspraycreate.py --count 5 --outfile urls.txt

Distribuisce 33 istanze APIM in Germanywestcentral e westeurope e le salva in urls.txt

root@kitploit:~
 python3 apimspraycreate.py --location germanywestcentral,westeurope --count 33 --outfile urls.txt

Riferimenti CLI di apimspraycreate:

root@kitploit:~
usage: apimspraycreate.py [-h] --outfile OUTFILE [--count COUNT] [--location LOCATION] [--prefix PREFIX] [--realm-prefix REALM_PREFIX] [--delete-old]

apimspraycreate - Azure APIM Deployer

options:
  -h, --help            mostra questo messaggio di aiuto ed esce
  --outfile OUTFILE     File di output per gli URL
  --count COUNT         Numero di istanze
  --location LOCATION   Località APIM separate da virgola in cui distribuire. Se fornito, vengono utilizzate solo quelle regioni e la prima località viene usata per il gruppo di risorse.
  --prefix PREFIX       Prefisso dell'URL API
  --realm-prefix REALM_PREFIX
                        Prefisso dell'API Realm
  --delete-old          Elimina i vecchi gruppi di risorse

Importante: Per tutti i metodi, è necessario avere una sessione az attiva in background (az login).

2. Preparazione delle Wordlist

Assicurati di avere pronte le tue liste di obiettivi:

  • users.txt: Elenco di UserPrincipalNames (es., [email protected]).
  • passwords.txt: Elenco di password per lo spray.

3. Ricognizione / Generazione UPN (Opzionale)

Se non disponi di un elenco utenti, puoi utilizzare lo script helper generate_upns.py. Questo strumento:

  1. Interroga il tenant Azure di destinazione per scoprire tutti i domini connessi e verificati.
  2. Scarica da GitHub un elenco di nomi utente statisticamente probabili per account di servizio.
  3. Genera un elenco di permutazioni di UPN (UserPrincipalNames) e li salva in users.txt.

Utilizzo:

root@kitploit:~
# Genera users.txt per un dominio specifico o un ID tenant
python3 generate_upns.py --target example.com
# OPPURE usando Tenantid
python3 generate_upns.py --target 00000000-0000-0000-0000-000000000000

Riferimenti CLI di generate_upns:

root@kitploit:~
usage: generate_upns.py [-h] --target TARGET

Generate UPNs from connected Azure Tenants and Service Accounts.

options:
  -h, --help       mostra questo messaggio di aiuto ed esce
  --target TARGET  Dominio di destinazione (es., example.com) o UUID tenant

Utilizzo

root@kitploit:~
usage: apimspray.py [-h] [--urls URLS] [--users USERS] [--passwords PASSWORDS] [--output OUTPUT] [--tenant TENANT] [--domain DOMAIN] --mode {spray,validate} [--pace {stealth,low,mid,medium,high}]
                    [--continue-on-success]

apimspray - Strumento di valutazione Entra ID

options:
  -h, --help            mostra questo messaggio di aiuto ed esce
  --urls URLS           Percorso del file degli URL APIM (da apimspraycreate.py o apimsprayrotator.sh)
  --users USERS         Percorso del file utenti
  --passwords PASSWORDS
                        Percorso del file password
  --output OUTPUT       Directory di output
  --tenant TENANT       ID tenant o dominio
  --domain DOMAIN       Aggiungi il dominio agli utenti se mancante
  --mode {spray,validate}
                        Modalità operativa. 'spray' testa tutte le password su tutti gli utenti (1:N). 'validate' esegue test 1:1 di coppie credenziali.
  --pace {stealth,low,mid,medium,high}
                        Profilo di ritmo per le richieste e gestione del blocco:
                         - high:    15 workers, 0.1s delay, 10 passaggi/chunk, 5m blocco, 20 soglia sicura
                         - medium:  5 workers,  1.0s delay,  5 passaggi/chunk, 10m blocco, 10 soglia sicura, 10% jitter
                         - low:     2 workers,  5.0s delay,  2 passaggi/chunk, 15m blocco,  5 soglia sicura, 20% jitter
                         - stealth: 1 worker,  30.0s delay,  1 passaggio/chunk,   20m blocco,  1 soglia sicura, 40% jitter
  --continue-on-success
                        Continua la valutazione anche dopo aver trovato credenziali valide.

Modalità

  • validate: Controlla un elenco di coppie utente:password. Richiede liste di uguale lunghezza.

    root@kitploit:~
    python3 apimspray.py --urls urls.txt --mode validate --users u.txt --passwords p.txt
    
  • spray: Tenta una password su tutti gli utenti, poi attende (se configurato), poi passa alla password successiva.

    root@kitploit:~
    python3 apimspray.py --urls urls.txt --mode spray --users users.txt --passwords common_passwords.txt --pace medium
    

Profili di Ritmo

L'argomento --pace controlla l'aggressività dello spray. I valori sono hardcoded per garantire stabilità e sicurezza.

  • Conteggio: Numero di password da provare per utente prima di mettere in pausa per consentire il reset dei timer di blocco.
  • Attesa Blocco: Tempo di pausa tra i chunk di password.
  • Soglia Sicura: Se questo numero di account viene bloccato (AADSTS50053), lo strumento si interrompe immediatamente.
  • Jitter: Randomizza il ritardo per eludere l'analisi temporale statica.

Output

I risultati vengono salvati nella directory results/<timestamp>/:

  • valid_*.txt: Autenticazioni riuscite (MFA richiesto o Token ricevuto).
  • blocked_*.txt: Account bloccati o condizionalmente bloccati.
  • failed_*.txt: Credenziali non valide o utente non trovato.

Crediti e Riferimenti

  • o365spray: Ispirazione logica per il flusso ROPC.
  • TeamFiltration: Ispirazione progettuale per la struttura dello strumento.
  • FireProx: Il nonno delle tecniche di rotazione dei gateway cloud.
Scarica lo strumento
ProfiloWorkersRitardoConteggio (Chunk)Attesa BloccoSoglia SicuraJitter
high150.1s105m20 bloccati0%
medium51.0s510m10 bloccati10%
low25.0s215m5 bloccati20%
stealth130.0s120m1 bloccato40%