Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
apidetector — Mehrfädiger Scanner zur Erkennung exponierter Swagger/OpenAPI-Endpunkte über Webdomänen und Subdomänen hinweg, mit automatischer XSS-Erkennung, PoC-Generierung und False-Positive-Filterung für API-Sicherheitsbewertungen. | Kitploit
Tools/GitHubGitHub/brinhosa/apidetector
AufklärungSchwachstellenscannerAPI-SicherheitstestsInformationsbeschaffungWebsicherheit
GitHubbrinhosa/apidetector

apidetector

Mehrfädiger Scanner zur Erkennung exponierter Swagger/OpenAPI-Endpunkte über Webdomänen und Subdomänen hinweg, mit automatischer XSS-Erkennung, PoC-Generierung und False-Positive-Filterung für API-Sicherheitsbewertungen.

Repository anzeigen
3794510vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

APIDetector Web Interface

APIDetector ist ein leistungsstarkes und effizientes Tool zum Testen exponierter Swagger-Endpunkte in verschiedenen Subdomains mit einzigartigen Fähigkeiten zur Erkennung von Fehlalarmen. Es ist besonders nützlich für Sicherheitsexperten und Entwickler, die sich mit API-Tests und Schwachstellenscans befassen.

Vorgestellt auf der BlackHat Arsenal 2024 (Link)

Versionsgeschichte

Neu in Version 3 (Aktuell)

  • Moderne Web-Oberfläche: Benutzerfreundliche Oberfläche für einfaches Scannen von API-Endpunkten
  • Echtzeit-Ergebnisse: Live-Updates von entdeckten Endpunkten und Schwachstellen
  • Interaktives Dashboard: Saubere und reaktionsschnelle Benutzeroberfläche mit Tailwind CSS und Alpine.js
  • Datei-Upload-Unterstützung: Scannen mehrerer Domains/Subdomains auf einmal durch Hochladen einer Textdatei
  • Domain-Validierung: Eingabevalidierung mit Regex-Musterabgleich
  • Flexible Konfiguration: Einfach zu bedienendes Formular für Scan-Einstellungen mit verbesserten Standardwerten
  • Visuelle Ergebnisse: Verbesserte Darstellung der Scan-Ergebnisse und PoCs
  • Screenshot-Verwaltung: Automatische Aufnahme und Anzeige von Screenshots verwundbarer Endpunkte (einer pro Subdomain)
  • Gezielte PoC-Generierung: Generiert einen Proof of Concept nur für /swagger-ui/index.html-Endpunkte
  • Responsive Design: Optimiert für alle Bildschirmgrößen von Mobilgeräten bis Desktops
  • Fehlerbehandlung: Verbessertes Feedback und Logging
  • Barrierefreiheitsverbesserungen: Bessere Tastaturnavigation und Screenreader-Unterstützung

Version 2 Funktionen

  • Automatische XSS-Erkennung: Identifiziert anfällige Swagger-Versionen
  • Visuelle PoC-Generierung: Erstellt Proof of Concepts für Schwachstellen
  • Verbesserte Fehlerbehandlung: Besseres Feedback und Logging
  • Verbesserte Leistung: Optimierte Scan-Algorithmen

Kernfunktionen

  • Flexible Eingabe: Akzeptiert einzelne Domains oder Listen von Subdomains
  • Mehrere Protokolle: Testet Endpunkte über HTTP und HTTPS
  • Parallelität: Multithreaded-Scannen für schnellere Ergebnisse
  • Intelligente Erkennung: Erweiterte Fähigkeiten zur Erkennung von Fehlalarmen
  • Anpassbare Einstellungen: Konfigurieren Sie Threads, User-Agent und mehr

Anforderungen

APIDetector v3 benötigt Python 3.x und die folgenden Pakete:

root@kitploit:~
flask         # Web-Framework
requests      # HTTP-Client
playwright    # Browser-Automatisierung für Screenshots
nest_asyncio  # Async-IO-Unterstützung

Alle Abhängigkeiten sind in requirements.txt aufgelistet und können während der Einrichtung automatisch installiert werden.

Erstmalige Einrichtung

Nach der Installation der erforderlichen Pakete müssen Sie die Playwright-Browser installieren:

root@kitploit:~
python -m playwright install

Dies ist erforderlich, damit die Screenshot-Funktionalität ordnungsgemäß funktioniert.

Erste Schritte

Voraussetzungen

  • Python 3.x (Download)
  • pip (Python-Paketinstallationsprogramm)
  • Git (zum Klonen des Repositorys)

Installation

  1. Klonen Sie das Repository:
root@kitploit:~
git clone https://github.com/brinhosa/apidetector.git
cd apidetector
  1. Erstellen und aktivieren Sie eine virtuelle Umgebung:
root@kitploit:~
# Auf macOS/Linux:
python3 -m venv venv
source venv/bin/activate

# Auf Windows:
python -m venv venv
venv\Scripts\activate
  1. Installieren Sie die Abhängigkeiten:
root@kitploit:~
pip install -r requirements.txt
  1. Installieren Sie die Browser-Automatisierung:
root@kitploit:~
playwright install

Web-Oberfläche (Version 3)

  1. Starten Sie den Webserver:
root@kitploit:~
python app.py
  1. Standardmäßig läuft der Server auf http://127.0.0.1:5000. Sie können einen anderen Port oder Host angeben:
root@kitploit:~
python app.py --port 8080 --host 0.0.0.0
  1. Öffnen Sie Ihren Browser und navigieren Sie zur im Terminal angezeigten URL.

  2. Verwendung der Web-Oberfläche:

    • Geben Sie eine einzelne Domain ein oder laden Sie eine Datei mit mehreren Domains hoch (eine pro Zeile)
    • Konfigurieren Sie Scan-Optionen (Thread-Anzahl, Mixed-Mode, User-Agent)
    • Klicken Sie auf 'Scan starten', um zu beginnen
    • Sehen Sie sich die Ergebnisse in Echtzeit an, während sie erscheinen
    • Screenshots von verwundbaren Endpunkten werden automatisch angezeigt
  3. Die Screenshots werden im Verzeichnis screenshots zur späteren Referenz gespeichert.

Verwendung

APIDetector v3 bietet zwei Möglichkeiten zur Interaktion: eine moderne Web-Oberfläche (neu in v3) und eine traditionelle Kommandozeilen-Oberfläche (Original).

Web-Oberfläche

  1. Starten Sie den Webserver:
root@kitploit:~
python app.py [Optionen]

Verfügbare Optionen:

Beispiele:

root@kitploit:~
# Mit Standardeinstellungen ausführen (localhost:5000)
python app.py

# Mit benutzerdefiniertem Port ausführen
python app.py -p 8080

# Externen Zugriff erlauben
python app.py --host 0.0.0.0

# Im Debug-Modus ausführen
python app.py -d
  1. Zugriff auf die Web-Oberfläche:

    • Öffnen Sie Ihren Browser und navigieren Sie zur angezeigten URL
    • Geben Sie die Ziel-Domain ein ODER laden Sie eine Datei mit mehreren Domains hoch (eine pro Zeile)
    • Konfigurieren Sie Scan-Optionen:
      • HTTP/HTTPS-Modus
      • Anzahl der Threads (Standard: 10)
      • Benutzerdefinierter User-Agent
    • Klicken Sie auf "Scan starten"
  2. Ergebnisse anzeigen:

    • Entdeckte API-Endpunkte werden in Echtzeit mit Fortschrittsanzeige angezeigt
    • Anfällige Endpunkte werden automatisch getestet
    • PoC-Screenshots werden für bestätigte Schwachstellen generiert
    • Ergebnisse können während des laufenden Scans eingesehen werden

Kommandozeilen-Oberfläche

Führen Sie APIDetector über die Kommandozeile aus. Hier sind einige Anwendungsbeispiele:

  • Häufige Verwendung: Scannen Sie eine Liste von Subdomains mit 30 Threads unter Verwendung eines Chrome-User-Agents und speichern Sie die Ergebnisse in einer Datei:

    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"
    
  • So scannen Sie eine einzelne Domain:

    root@kitploit:~
    python apidetector.py -d example.com
    
  • So scannen Sie mehrere Domains aus einer Datei:

    root@kitploit:~
    python apidetector.py -i input_file.txt
    
  • So geben Sie eine Ausgabedatei an:

    root@kitploit:~
    python apidetector.py -i input_file.txt -o output_file.txt
    
  • So verwenden Sie eine bestimmte Anzahl von Threads:

    root@kitploit:~
    python apidetector.py -i input_file.txt -t 20
    
  • So scannen Sie mit beiden HTTP- und HTTPS-Protokollen:

    root@kitploit:~
    python apidetector.py -m -d example.com
    
  • So führen Sie das Skript im Quiet-Modus aus (unterdrückt ausführliche Ausgabe):

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

Wenn Sie APIDetector v2 verwenden, ersetzen Sie die Befehle durch apidetectorv2.py.

Optionen

  • -d, --domain: Einzelne zu testende Domain.
  • -i, --input: Eingabedatei mit zu testenden Subdomains.
  • -o, --output: Ausgabedatei zum Schreiben gültiger URLs.
  • -t, --threads: Anzahl der für den Scan zu verwendenden Threads (Standard ist 10).
  • -m, --mixed-mode: Testet sowohl HTTP- als auch HTTPS-Protokolle.
  • -q, --quiet: Deaktiviert die ausführliche Ausgabe (Standardmodus ist ausführlich).
  • -ua, --user-agent: Benutzerdefinierte User-Agent-Zeichenfolge für Anfragen.

Risikodetails für jeden von APIDetector gefundenen Endpunkt

Die Offenlegung von Swagger- oder OpenAPI-Dokumentationsendpunkten kann verschiedene Risiken mit sich bringen, hauptsächlich im Zusammenhang mit Informationspreisgabe. Hier ist eine geordnete Liste basierend auf potenziellen Risikostufen, wobei ähnliche Endpunkte gruppiert werden, die APIDetector scannt:

1. Hochrisiko-Endpunkte (Direkte API-Dokumentation):

  • Endpunkte:
    • '/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'
  • Risiko:
    • Diese Endpunkte liefern in der Regel die Swagger-UI-Oberfläche, die einen vollständigen Überblick über alle API-Endpunkte bietet, einschließlich Anfrageformaten, Abfrageparametern und manchmal sogar Beispielanfragen und -antworten.
    • Risikostufe: Hoch. Die Offenlegung dieser Informationen gibt potenziellen Angreifern detaillierte Einblicke in Ihre API-Struktur und mögliche Angriffspunkte.

2. Mittel-Hoch-Risiko-Endpunkte (API-Schema/Spezifikation):

  • Endpunkte:
    • '/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'
  • Risiko:
    • Diese Endpunkte liefern rohe Swagger/OpenAPI-Spezifikationsdateien. Sie enthalten detaillierte Informationen über die API-Endpunkte, einschließlich Pfade, Parameter und manchmal Authentifizierungsmethoden.

3. Mittleres Risiko-Endpunkte (API-Dokumentationsversionen):

  • Endpunkte:
    • '/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. Niedrigeres Risiko-Endpunkte (Konfiguration und Ressourcen):

  • Endpunkte:
    • '/swagger-resources', '/swagger-resources/configuration/ui', '/swagger-resources/configuration/security', '/api/swagger-resources', '/api.html'
  • Risiko:
    • Diese Endpunkte liefern oft Hilfsinformationen, Konfigurationsdetails oder Ressourcen im Zusammenhang mit der Einrichtung der API-Dokumentation.
    • Risikostufe: Niedriger. Sie geben möglicherweise keine direkten API-Endpunktdetails preis, können aber Einblicke in die Konfiguration und Einrichtung der API-Dokumentation geben.

Zusammenfassung:

  • Höchstes Risiko: Direkte Offenlegung interaktiver API-Dokumentationsoberflächen.
  • Mittel-Hohes Risiko: Offenlegung roher API-Schema/Spezifikationsdateien.
  • Mittleres Risiko: Versionsspezifische API-Dokumentation.
  • Niedrigeres Risiko: Konfigurations- und Ressourcendateien für die API-Dokumentation.

Empfehlungen:

  • Zugriffskontrolle: Stellen Sie sicher, dass diese Endpunkte nicht öffentlich zugänglich sind oder zumindest durch Authentifizierungsmechanismen geschützt sind.
  • Umgebungsspezifische Offenlegung: Erwägen Sie, detaillierte API-Dokumentation nur in Entwicklungs- oder Staging-Umgebungen bereitzustellen, nicht in der Produktion.
  • Überwachung und Protokollierung: Überwachen Sie den Zugriff auf diese Endpunkte und richten Sie Warnungen für ungewöhnliche Zugriffsmuster ein.

Mitwirken

Beiträge zu APIDetector sind willkommen! Sie können das Repository forken, Änderungen vornehmen und Pull-Requests einreichen. Besonderer Dank gilt den mitwirkenden Mitgliedern, die bei Tests und Funktionsvorschlägen geholfen haben:

  • Filipi Pires (Ambassador) - 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/

Rechtlicher Haftungsausschluss

Das APIDetector-Tool ist ausschließlich für Test- und Bildungszwecke bestimmt. Die Entwickler von APIDetector übernehmen keine Haftung und lehnen jegliche Verantwortung für Missbrauch, unbeabsichtigte Folgen oder Schäden ab, die durch die Verwendung dieses Tools entstehen. Jegliche unbefugte, illegale oder anderweitig schädliche Verwendung von APIDetector ist ausdrücklich untersagt. Der Endbenutzer trägt die alleinige Verantwortung für die Einhaltung aller relevanten lokalen, staatlichen, bundesstaatlichen und internationalen Gesetze. Durch die Verwendung dieses Tools bestätigt der Benutzer, dass er über die erforderlichen Genehmigungen zum Testen der Netzwerke oder Systeme verfügt, die er scannen möchte, und erklärt sich bereit, die Entwickler von allen Ansprüchen freizustellen, die sich aus der Nutzung ergeben. Der Endbenutzer ist allein dafür verantwortlich, sicherzustellen, dass seine Nutzung dieses Tools keine rechtlichen Beschränkungen oder Nutzungsbedingungen der getesteten Netzwerke oder Systeme verletzt.

Haftungsausschluss: Nutzung des APIDetector-Tools Das APIDetector-Tool ist ausschließlich für rechtmäßige Test- und Bildungszwecke konzipiert. Es wird "wie besehen" ohne jegliche Gewährleistung, ausdrücklich oder stillschweigend, bereitgestellt. Die Entwickler und Vertreiber von APIDetector lehnen ausdrücklich jede Haftung für Missbrauch, unbeabsichtigte Folgen oder Schäden ab, die aus der Nutzung dieses Tools resultieren. Wichtiger rechtlicher Hinweis: Unbefugte, illegale oder unethische Nutzung von APIDetector ist strengstens untersagt. Benutzer sind allein dafür verantwortlich, alle geltenden lokalen, staatlichen, bundesstaatlichen und internationalen Gesetze sowie etwaige Nutzungsbedingungen der Netzwerke oder Systeme, mit denen sie interagieren, einzuhalten. Durch die Verwendung von APIDetector bestätigen die Benutzer, dass sie über die erforderlichen Genehmigungen zum Testen der Zielnetzwerke oder -systeme verfügen. Risikoübernahme und Freistellung: Durch das Herunterladen, Installieren oder Verwenden von APIDetector übernimmt der Benutzer die volle Verantwortung für etwaige rechtliche Konsequenzen im Zusammenhang mit seiner Nutzung. Die Entwickler und Vertreiber von APIDetector haften nicht für rechtliche Konsequenzen, Schäden oder Ansprüche Dritter, die sich aus seiner Nutzung ergeben. Die Benutzer erklären sich damit einverstanden, die Entwickler und Vertreiber von allen Ansprüchen, Anwaltskosten oder Verbindlichkeiten im Zusammenhang mit ihren Handlungen freizustellen und schadlos zu halten.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.

Danksagungen

  • Danke an alle Mitwirkenden, die bei Tests, Vorschlägen und Verbesserungen geholfen haben.
  • Autor: Rafael B. Brinhosa - https://www.linkedin.com/in/brinhosa/
Tool herunterladen
OptionBeschreibungStandard
-p, --portPortnummer5000
--hostHost-Adresse127.0.0.1
-d, --debugDebug-Modus aktivierenFalse
  • So führen Sie das Skript mit einem benutzerdefinierten User-Agent aus:

    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"
    
  • Risikostufe: Mittel-Hoch. Obwohl sie mehr Interpretation erfordern als die UI-Oberflächen, geben sie dennoch umfangreiche Informationen über die API preis.
  • '/api/swagger/v2/api-docs'
    '/api/swagger/v3/api-docs'
  • Risiko:
    • Diese Endpunkte beziehen sich oft auf versionsspezifische Dokumentationen oder API-Beschreibungen. Sie geben Informationen über die Struktur und die Fähigkeiten der API preis, die einem Angreifer helfen könnten, die Funktionalität und potenzielle Schwachstellen der API zu verstehen.
    • Risikostufe: Mittel. Diese sind möglicherweise nicht so detailliert wie die vollständige Dokumentation oder die Schemadateien, liefern Angreifern aber dennoch nützliche Informationen.