Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
Tools/GitHubGitHub/cisagov/findcdn
OSINT (Open-Source-Intelligence)AufklärungNetzwerkkartierungInformationsbeschaffungDienstprogramme & FrameworksFingerabdruck-SpoofingDNS-Analyse
GitHubcisagov/findcdn

findcdn

Scannt Domains, um zu identifizieren, welches Content Delivery Network (CDN) sie verwenden, indem HTTPS-Header, CNAME-Einträge und WHOIS-Daten gefingerprintet werden, mit JSON-Ausgabe und Modulunterstützung.

Repository anzeigen
1232313vor 1 MonatVon 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

findcdn

GitHub Build Status Coverage Status Total alerts Language grade: Python Known Vulnerabilities

findcdn ist ein Tool, das die Art des Content Distribution Network (CDN) scannen und erkennen kann, das eine Domain verwendet. findcdn kann Ergebnisse in einer Datei speichern, als Modul verwendet werden oder einfach auf stdout ausgeben.

findcdn hilft den Nutzern des Tools, genau zu bestimmen, welches CDN eine Domain verwendet. Die Liste der unterstützten Domains ist in der Datei cdn_config.py im Repository aufgeführt. Die Bibliothek kann als eigenständiges Tool oder als importierbares Modul in Ihrem Projekt implementiert werden. In beiden Fällen können die Ergebnisse in eine Ausgabedatei geschrieben werden.

Erste Schritte

findcdn erfordert Python 3.7+. Python 2 wird nicht unterstützt.

findcdn kann als Modul mit pip und der Datei requirements.txt im Repository installiert werden.

Installation als Modul

findcdn kann über pip installiert werden:

root@kitploit:~
pip install --requirement requirements.txt

Anschließend kann es direkt ausgeführt werden:

root@kitploit:~
findcdn list github.com

Alternativ können Sie es schnell in jedes Projekt installieren mit:

root@kitploit:~
pip install git+https://github.com/cisagov/findcdn.git

Hinweis: Es wird empfohlen, eine Python-virtuelle-Umgebung zu verwenden, um Module zu installieren und Ihre Umgebung sauber zu halten. Wenn Sie dies tun möchten, benötigen Sie pyenv und das pyenv-virtualenv-Plugin, bevor Sie das Modul installieren.

Eigenständige Verwendung und Beispiele

root@kitploit:~
findcdn file <fileIn> [options]
findcdn list  <domain>... [options]
findcdn (-h | --help)

findcnd -h
findcdn file domains.txt -o output_cdn.txt -t 17 -d
findcdn list dhs.gov cisa.gov -o output_cnd.txt -v
findcdn list cisa.gov

Optionen

root@kitploit:~
  -h --help                    Diese Meldung anzeigen.
  --version                    Die aktuelle Version anzeigen.
  -o FILE --output=FILE        Falls angegeben, wird die JSON-Ausgabedatei
                               unter dem angegebenen Wert erstellt.
  -v --verbose                 Fügt zusätzliche Ausgabeanweisungen hinzu.
  --all                        Bezieht Domains mit und ohne CDN in die
                               Ausgabe ein.
  -d --double                  Führt die Prüfungen zweimal aus, um die
                               Genauigkeit zu erhöhen.
  -t --threads=<thread_count>  Anzahl der Threads, andernfalls wird der
                               Standardwert verwendet.
  --timeout=<timeout>          Maximale Dauer in Sekunden, die auf den
                               Abschluss der Verarbeitung einer Domain gewartet
                               wird, andernfalls wird der Standardwert
                               verwendet.
  --user_agent=<user_agent>    Legt den zu verwendenden User-Agent fest,
                               andernfalls wird der Standardwert verwendet.

Beispielausgabe

root@kitploit:~
user2@ubuntu:~$ findcdn list asu.edu -t 7 --double
Using 7 threads.
[Pending: 0 jobs]==[Threads: 2]: 100%|███████████████████████████████| 2/2 [00:00<00:00,  2.22it/s]
{
    "date": "06/19/2020, 13:00:38",
    "CDN_count": "1",
    "domains": {
        "asu.edu": {
            "IP": "'104.16.50.14'",
            "cdns": "'.cloudflare.com'",
            "cdns_by_names": "'Cloudflare'"
        }
    }
}
Domain processing completed.
1 domains had CDN's out of 1.

asciicast

Verwendung als Bibliothek

Da findcdn als Modul installiert werden kann, kann seine CDN-Erkennungsfähigkeit aus jedem Projekt heraus aufgerufen und implementiert werden. Importieren Sie zunächst findcdn in Ihr Projekt, wie oben gezeigt. Übergeben Sie ihm dann eine Liste von Domains zur Analyse. Nach der Verarbeitung gibt das Programm ein JSON-Objekt zurück, das die eingegebenen Domains und die von ihnen verwendeten CDNs enthält.

Die Funktionsweise von findcdn wird durch die übergebenen Optionen bestimmt; die aktuell möglichen Optionen und ein Beispiel sind unten zu Ihrer Bequemlichkeit aufgeführt:

root@kitploit:~
findcdn.main(
    domain_list: List[str],  # List of domains to search
    output_path: str = None,  # if included, output results to JSON
    verbose: bool = False,  # Verbose mode (more printing!)
    all_domains: bool = False,  # Includes domains that dont have cdn's in the output
    interactive: bool = False,  # Includes a progress bar (normally used for command line)
    double_in: bool = False,  #D ouble the number of tries on a domain to increase accuracy
    threads: int = THREADS,  # Number of threads to use
    timeout: int = TIMEOUT,  # How long to wait on a domain
    user_agent: str = USER_AGENT,  # User Agent to use
)

Beispiel

root@kitploit:~
import findcdn
import json

domains = ['google.com', 'cisa.gov', 'censys.io', 'yahoo.com', 'pbs.org', 'github.com']
resp_json = findcdn.main(domains, output_path="output.json", double_in=True, threads=23)

dumped_json = json.loads(resp_json)

for domain in dumped_json['domains']:
    print(f"{domain} has CDNs:\n {dumped_json['domains'][domain]['cdns']}")

Funktionsweise

findcdn ist in drei Abschnitte unterteilt:

  • Die Haupt-Runner-Datei von findcdn
    • Validiert und organisiert eingegebene Domains
    • Orchestriert die Verwendung der CDN Engine anhand einer Liste von Domains
    • Gibt die CDNs der Domains als JSON auf stdout und in eine Datei aus, falls ausgewählt
  • Die CDN Engine
    • Organisiert alle Domains in einem "Pot"
    • Chef verwendet die CDN Detection Library, um alle CDNs für jede Domain zu ermitteln
    • Chef führt dann eine Analyse durch, um den booleschen Wert has_cdn festzulegen, wenn er erkennt, dass eine Domain ein CDN hat, und gibt dann die Liste der Domains an die Runner-Datei zurück
  • CDN Detection
    • Extrahiert Daten aus:
      • HTTPS-Server-Headern
      • CNAME-Einträgen
      • WHOIS-Daten
    • Aus jedem dieser Punkte führt es einen Fingerprint-Scan durch, um alle in cdn_config.py definierten CDNs zu identifizieren.

Geschichte

Der ursprüngliche Zweck dieses Tools war, automatisch zu erkennen, ob eine Domain, die ein CDN verwendet, frontbar ist. Aufgrund des erheblichen Aufwands für die Fronting-Erkennung haben wir die Entwicklung dieses Tools so ausgerichtet, dass es ausschließlich ein CDN-Erkennungs-Tool ist. Wir verwenden unser Wiki, um weiter zu beschreiben, was Domain Fronting ist, unsere Forschungsnotizen, Designentscheidungen und Playbooks für das Fronting bestimmter Domains. Wenn Sie zusätzliche frontbare Domains oder Fehler in den aktuellen Playbooks finden, ziehen Sie bitte in Betracht, beizutragen!

Zusammenfassung der Projektänderungen

  • Das Projekt dient jetzt der CDN-Erkennung.
    • Die Bestimmung der Frontbarkeit war für jeden CDN-Anbieter undurchführbar.
  • Ressourcen, Notizen und Playbooks sind jetzt im Wiki dieses Repositorys verfügbar.
  • Feedback, Verbesserungen oder zusätzliche Playbooks sind immer willkommen.

Weitere Informationen

Weitere Informationen finden Sie auf unserer Wiki-Seite. Wir ermutigen Sie, Funktionswünsche zu äußern oder beizutragen, was auch immer Sie zum Projekt oder Wiki hinzugefügt sehen möchten.

Dies kann eines der folgenden sein:

  • Informationen zum Domain Fronting
  • Playbooks für das Fronting verschiedener Domains
  • Bessere Erkennungsmethoden für CDN
  • Allgemeine Aktualisierungen der aktuellen Wiki-Seiten

Mitwirken

Wir freuen uns über Beiträge! Weitere Details finden Sie in CONTRIBUTING.md.

Lizenz

Dieses Projekt ist weltweit gemeinfrei.

Dieses Projekt ist in den Vereinigten Staaten gemeinfrei, und Urheberrechte sowie verwandte Schutzrechte an dem Werk weltweit werden durch die CC0 1.0 Universal Public Domain Dedication aufgegeben.

Alle Beiträge zu diesem Projekt werden unter der CC0-Dedication veröffentlicht. Durch das Einreichen eines Pull Requests erklären Sie sich damit einverstanden, dieser Aufgabe von Urheberrechtsansprüchen nachzukommen.

Tool herunterladen