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
apidetector — Scanner multi-thread per rilevare endpoint Swagger/OpenAPI esposti su domini web e sottodomini, con rilevamento automatico di XSS, generazione di PoC e filtro dei falsi positivi per valutazioni di sicurezza delle API. | Kitploit
Strumenti/GitHubGitHub/brinhosa/apidetector
RicognizioneScanner di VulnerabilitàTest di Sicurezza delle APIRaccolta InformazioniSicurezza Web
GitHubbrinhosa/apidetector

apidetector

Scanner multi-thread per rilevare endpoint Swagger/OpenAPI esposti su domini web e sottodomini, con rilevamento automatico di XSS, generazione di PoC e filtro dei falsi positivi per valutazioni di sicurezza delle API.

Vedi Repository
37945101 anno 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

Interfaccia Web di APIDetector

APIDetector è uno strumento potente ed efficiente progettato per testare gli endpoint Swagger esposti in vari sottodomini, con capacità intelligenti uniche per rilevare falsi positivi. È particolarmente utile per i professionisti della sicurezza e gli sviluppatori impegnati nel test delle API e nella scansione delle vulnerabilità.

Presentato al BlackHat Arsenal 2024 (Link)

Cronologia delle Versioni

Novità della Versione 3 (Corrente)

  • Interfaccia Web Moderna: Interfaccia utente facile da usare per la scansione degli endpoint API
  • Risultati in Tempo Reale: Aggiornamenti live degli endpoint scoperti e delle vulnerabilità
  • Dashboard Interattiva: Interfaccia pulita e reattiva con Tailwind CSS e Alpine.js
  • Supporto al Caricamento di File: Scansiona più domini/sottodomini contemporaneamente caricando un file di testo
  • Validazione dei Domini: Validazione dell'input con corrispondenza di pattern regex
  • Configurazione Flessibile: Modulo facile da usare per le impostazioni di scansione con valori predefiniti migliorati
  • Risultati Visivi: Presentazione migliorata dei risultati di scansione e delle PoC
  • Gestione degli Screenshot: Cattura e visualizza automaticamente gli screenshot degli endpoint vulnerabili (uno per sottodominio)
  • Generazione PoC Mirata: Genera una prova di concetto solo per gli endpoint /swagger-ui/index.html
  • Design Responsive: Ottimizzato per tutte le dimensioni dello schermo, dal mobile al desktop
  • Gestione degli Errori: Feedback e logging degli errori migliorati
  • Miglioramenti all'Accessibilità: Migliore navigazione da tastiera e supporto per screen reader

Funzionalità della Versione 2

  • Rilevamento Automatico XSS: Identifica le versioni vulnerabili di Swagger
  • Generazione Visiva di PoC: Crea prove di concetto per le vulnerabilità
  • Gestione degli Errori Migliorata: Feedback e logging migliori
  • Performance Ottimizzate: Algoritmi di scansione ottimizzati

Funzionalità Principali

  • Input Flessibile: Accetta singoli domini o elenchi di sottodomini
  • Protocolli Multipli: Testa gli endpoint sia su HTTP che su HTTPS
  • Concorrenza: Scansione multi-thread per risultati più veloci
  • Rilevamento Intelligente: Capacità avanzate di rilevamento dei falsi positivi
  • Impostazioni Personalizzabili: Configura thread, user-agent e altro

Requisiti

APIDetector v3 richiede Python 3.x e i seguenti pacchetti:

root@kitploit:~
flask         # Web framework
requests      # Client HTTP
playwright    # Automazione browser per screenshot
nest_asyncio  # Supporto IO asincrono

Tutte le dipendenze sono elencate in requirements.txt e possono essere installate automaticamente durante la configurazione.

Configurazione Iniziale

Dopo aver installato i pacchetti richiesti, è necessario installare i browser di Playwright:

root@kitploit:~
python -m playwright install

Questo è necessario affinché la funzionalità di screenshot funzioni correttamente.

Per Iniziare

Prerequisiti

  • Python 3.x (Download)
  • pip (Python package installer)
  • Git (per clonare il repository)

Installazione

  1. Clona il repository:
root@kitploit:~
git clone https://github.com/brinhosa/apidetector.git
cd apidetector
  1. Crea e attiva un ambiente virtuale:
root@kitploit:~
# Su macOS/Linux:
python3 -m venv venv
source venv/bin/activate

# Su Windows:
python -m venv venv
venv\Scripts\activate
  1. Installa le dipendenze:
root@kitploit:~
pip install -r requirements.txt
  1. Installa l'automazione del browser:
root@kitploit:~
playwright install

Interfaccia Web (Versione 3)

  1. Avvia il server web:
root@kitploit:~
python app.py
  1. Di default, il server gira su http://127.0.0.1:5000. Puoi specificare una porta o un host diverso:
root@kitploit:~
python app.py --port 8080 --host 0.0.0.0
  1. Apri il browser e naviga all'URL mostrato nel terminale.

  2. Utilizzo dell'interfaccia web:

    • Inserisci un singolo dominio o carica un file con più domini (uno per riga)
    • Configura le opzioni di scansione (numero di thread, modalità mista, user agent)
    • Clicca 'Avvia Scansione' per iniziare
    • Visualizza i risultati in tempo reale man mano che appaiono
    • Gli screenshot degli endpoint vulnerabili vengono visualizzati automaticamente
  3. Gli screenshot vengono salvati nella directory screenshots per riferimento futuro.

Utilizzo

APIDetector v3 offre due modalità di interazione: una moderna interfaccia web (nuova nella v3) e una tradizionale interfaccia a riga di comando (originale).

Interfaccia Web

  1. Avvia il server web:
root@kitploit:~
python app.py [opzioni]

Opzioni disponibili:

Esempi:

root@kitploit:~
# Esecuzione con impostazioni predefinite (localhost:5000)
python app.py

# Esecuzione su porta personalizzata
python app.py -p 8080

# Consenti accesso esterno
python app.py --host 0.0.0.0

# Esecuzione in modalità debug
python app.py -d
  1. Accedi all'interfaccia web:

    • Apri il browser e naviga all'URL visualizzato
    • Inserisci il dominio di destinazione OPPURE carica un file con più domini (uno per riga)
    • Configura le opzioni di scansione:
      • Modalità HTTP/HTTPS
      • Numero di thread (predefinito: 10)
      • User-Agent personalizzato
    • Clicca "Avvia Scansione"
  2. Visualizza i Risultati:

    • Gli endpoint API scoperti vengono visualizzati in tempo reale con monitoraggio del progresso
    • Gli endpoint vulnerabili vengono testati automaticamente
    • Gli screenshot PoC vengono generati per le vulnerabilità confermate
    • I risultati possono essere visualizzati mentre la scansione è ancora in corso

Interfaccia a Riga di Comando

Esegui APIDetector tramite la riga di comando. Ecco alcuni esempi di utilizzo:

  • Utilizzo comune: scansione con 30 thread di un elenco di sottodomini utilizzando un user-agent Chrome e salva i risultati in un file:

    root@kitploit:~
    python apidetector.py -i list_of_company_subdomains.txt -o results_file.txt -t 30 -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
    
  • Per scansionare un singolo dominio:

    root@kitploit:~
    python apidetector.py -d example.com
    
  • Per scansionare più domini da un file:

    root@kitploit:~
    python apidetector.py -i input_file.txt
    
  • Per specificare un file di output:

    root@kitploit:~
    python apidetector.py -i input_file.txt -o output_file.txt
    
  • Per utilizzare un numero specifico di thread:

    root@kitploit:~
    python apidetector.py -i input_file.txt -t 20
    
  • Per scansionare con entrambi i protocolli HTTP e HTTPS:

    root@kitploit:~
    python apidetector.py -m -d example.com
    
  • Per eseguire lo script in modalità silenziosa (sopprime l'output verbose):

    root@kitploit:~
    python apidetector.py -q -d example.com
    

Se stai usando APIDetector v2, sostituisci i comandi con apidetectorv2.py.

Opzioni

  • -d, --domain: Singolo dominio da testare.
  • -i, --input: File di input contenente i sottodomini da testare.
  • -o, --output: File di output per scrivere gli URL validi.
  • -t, --threads: Numero di thread da utilizzare per la scansione (predefinito: 10).
  • -m, --mixed-mode: Testa entrambi i protocolli HTTP e HTTPS.
  • -q, --quiet: Disabilita l'output verbose (la modalità predefinita è verbose).
  • -ua, --user-agent: Stringa User-Agent personalizzata per le richieste.

Dettagli sul Rischio di Ogni Endpoint Trovato da APIDetector

Esporre endpoint di documentazione Swagger o OpenAPI può presentare vari rischi, principalmente legati alla divulgazione di informazioni. Ecco un elenco ordinato in base ai potenziali livelli di rischio, con endpoint simili raggruppati insieme nelle scansioni di APIDetector:

1. Endpoint ad Alto Rischio (Documentazione API Diretta):

  • Endpoint:
    • '/swagger-ui.html', '/swagger-ui/', '/swagger-ui/index.html', '/api/swagger-ui.html', '/documentation/swagger-ui.html', '/swagger/index.html', '/api/docs', '/docs', '/api/swagger-ui', '/documentation/swagger-ui'
  • Rischio:
    • Questi endpoint servono tipicamente l'interfaccia Swagger UI, che fornisce una panoramica completa di tutti gli endpoint API, inclusi formati di richiesta, parametri di query e talvolta anche esempi di richieste e risposte.
    • Livello di Rischio: Alto. Esporre questi endpoint fornisce a potenziali attaccanti dettagli approfonditi sulla struttura della tua API e potenziali vettori di attacco.

2. Endpoint a Rischio Medio-Alto (Schema/Specifica API):

  • Endpoint:
    • '/openapi.json', '/swagger.json', '/api/swagger.json', '/swagger.yaml', '/swagger.yml', '/api/swagger.yaml', '/api/swagger.yml', '/api.json', '/api.yaml', '/api.yml', '/documentation/swagger.json', '/documentation/swagger.yaml', '/documentation/swagger.yml'
  • Rischio:
    • Questi endpoint forniscono file di specifica Swagger/OpenAPI grezzi. Contengono informazioni dettagliate sugli endpoint API, inclusi percorsi, parametri e talvolta metodi di autenticazione.

3. Endpoint a Rischio Medio (Versioni della Documentazione API):

  • Endpoint:
    • '/v2/api-docs', '/v3/api-docs', '/api/v2/swagger.json', '/api/v3/swagger.json', '/api/v1/documentation', '/api/v2/documentation', '/api/v3/documentation', '/api/v1/api-docs', '/api/v2/api-docs', '/api/v3/api-docs', '/swagger/v2/api-docs', '/swagger/v3/api-docs', '/swagger-ui.html/v2/api-docs', '/swagger-ui.html/v3/api-docs', ,

4. Endpoint a Rischio Inferiore (Configurazione e Risorse):

  • Endpoint:
    • '/swagger-resources', '/swagger-resources/configuration/ui', '/swagger-resources/configuration/security', '/api/swagger-resources', '/api.html'
  • Rischio:
    • Questi endpoint forniscono spesso informazioni ausiliarie, dettagli di configurazione o risorse relative alla configurazione della documentazione API.
    • Livello di Rischio: Inferiore. Potrebbero non rivelare direttamente i dettagli degli endpoint API, ma possono dare informazioni sulla configurazione e l'impostazione della documentazione API.

Riepilogo:

  • Rischio più Alto: Esporre direttamente interfacce di documentazione API interattive.
  • Rischio Medio-Alto: Esporre file di schema/specifica API grezzi.
  • Rischio Medio: Documentazione API specifica per versione.
  • Rischio Inferiore: File di configurazione e risorse per la documentazione API.

Raccomandazioni:

  • Controllo degli Accessi: Assicurati che questi endpoint non siano accessibili pubblicamente o che siano almeno protetti da meccanismi di autenticazione.
  • Esposizione Specifica per Ambiente: Considera di esporre la documentazione API dettagliata solo in ambienti di sviluppo o staging, non in produzione.
  • Monitoraggio e Logging: Monitora l'accesso a questi endpoint e imposta avvisi per pattern di accesso insoliti.

Contributi

I contributi ad APIDetector sono benvenuti! Sentiti libero di fare un fork del repository, apportare modifiche e inviare pull request. Un ringraziamento speciale ai membri contributori che hanno aiutato con i test e i suggerimenti per le funzionalità:

  • Filipi Pires (Ambasciatore) - https://www.linkedin.com/in/filipipires/
  • Denis Lourenço - https://www.linkedin.com/in/🚲denis-lourenço-18b07a128/
  • Bruno Francisco Cardoso - https://www.linkedin.com/in/bruno-francisco-cardoso-27445953/

Disclaimer Legale

Lo strumento APIDetector è strettamente destinato esclusivamente a scopi di test e formativi. Gli sviluppatori di APIDetector non si assumono alcuna responsabilità e declinano ogni responsabilità per qualsiasi uso improprio, conseguenze non intenzionali o danni causati dall'uso di questo strumento. Qualsiasi uso non autorizzato, illegale o comunque dannoso di APIDetector è espressamente vietato. L'utente finale si assume la piena responsabilità di garantire la conformità con tutte le leggi locali, statali, federali e internazionali pertinenti. Utilizzando questo strumento, l'utente riconosce di possedere le autorizzazioni necessarie per testare le reti o i sistemi che intende scansionare e accetta di manlevare gli sviluppatori da qualsiasi rivendicazione derivante dal suo utilizzo. L'utente finale è l'unico responsabile di garantire che l'uso di questo strumento non violi alcuna restrizione legale o termini di servizio che governano le reti o i sistemi sottoposti a test.

Disclaimer: Utilizzo dello Strumento APIDetector Lo strumento APIDetector è progettato esclusivamente per scopi leciti di test e formazione. Viene fornito "così com'è" senza garanzie di alcun tipo, esplicite o implicite. Gli sviluppatori e distributori di APIDetector declinano espressamente qualsiasi responsabilità per uso improprio, conseguenze non intenzionali o danni derivanti dall'uso di questo strumento. Avviso Legale Importante: L'uso non autorizzato, illegale o non etico di APIDetector è severamente vietato. Gli utenti sono gli unici responsabili di rispettare tutte le leggi locali, statali, federali e internazionali applicabili, nonché eventuali termini di servizio che governano le reti o i sistemi con cui interagiscono. Utilizzando APIDetector, gli utenti affermano di possedere le autorizzazioni necessarie per testare le reti o i sistemi target. Assunzione di Rischio e Manleva: Scaricando, installando o utilizzando APIDetector, l'utente si assume la piena responsabilità di qualsiasi ripercussione legale associata al suo utilizzo. Gli sviluppatori e distributori di APIDetector non saranno ritenuti responsabili per conseguenze legali, danni o rivendicazioni di terzi derivanti dal suo utilizzo. Gli utenti accettano di manlevare e tenere indenni gli sviluppatori e i distributori da qualsiasi rivendicazione, spesa legale o responsabilità associata alle loro azioni.

Licenza

Questo progetto è concesso in licenza sotto la Licenza MIT.

Riconoscimenti

  • Grazie a tutti i contributori che hanno aiutato con test, suggerimenti e miglioramenti.
  • Autore: Rafael B. Brinhosa - https://www.linkedin.com/in/brinhosa/
Scarica lo strumento
OpzioneDescrizionePredefinito
-p, --portNumero della porta5000
--hostIndirizzo host127.0.0.1
-d, --debugAbilita modalità debugFalse

Per eseguire lo script con un user-agent personalizzato:

root@kitploit:~
python apidetector.py -d example.com -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
  • Livello di Rischio: Medio-Alto. Sebbene richiedano più interpretazione rispetto alle interfacce UI, rivelano comunque informazioni estensive sull'API.
  • '/api/swagger/v2/api-docs'
    '/api/swagger/v3/api-docs'
  • Rischio:
    • Questi endpoint si riferiscono spesso a documentazione o descrizioni API specifiche per versione. Rivelano informazioni sulla struttura e le capacità dell'API, che potrebbero aiutare un attaccante a comprendere le funzionalità dell'API e le sue potenziali debolezze.
    • Livello di Rischio: Medio. Potrebbero non essere dettagliati come la documentazione completa o i file di schema, ma forniscono comunque informazioni utili per gli attaccanti.