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
of-CORS — Automatisiertes Tool zur Erkennung von CORS-Fehlkonfigurationen unter Verwendung von Typosquatting-Domains und Browser-Service-Workern, um interne Netzwerke von Bug-Bounty-Zielen zu untersuchen. | Kitploit
Tools/GitHubGitHub/trufflesecurity/of-cors
AufklärungInformationsbeschaffungPhishingWebsicherheitFehlkonfigurationRed Teaming
GitHubtrufflesecurity/of-cors

of-CORS

Automatisiertes Tool zur Erkennung von CORS-Fehlkonfigurationen unter Verwendung von Typosquatting-Domains und Browser-Service-Workern, um interne Netzwerke von Bug-Bounty-Zielen zu untersuchen.

Repository anzeigen
15417vor 3 JahrenVon 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

of-CORS

of-CORS ist die Tool-Suite von Truffle Security zur Identifizierung und Ausnutzung von CORS-Fehlkonfigurationen in internen Netzwerken von Bug-Bounty-Zielen mithilfe von Typosquatting.

image image

Mehr dazu gibt es hier: https://trufflesecurity.com/blog/of-CORS

Wie funktioniert es??

of-CORS ist eine Python3-Webanwendung, die auf Django und Django Rest Framework basiert. Nach der Einrichtung und Konfiguration registriert of-CORS automatisch Browser-Service-Worker in den Browsern aller Opfer, die die Anwendung besuchen. Diese Service-Worker senden HTTP-Anfragen an eine Liste vorkonfigurierter interner Domains, um CORS-Fehlkonfigurationen in internen Netzwerken zu entdecken. Die Ergebnisse dieser Anfragen (ob erfolgreich oder nicht) werden dann über die API an die of-CORS-Instanz zurückgesendet.

Sobald ein Service-Worker im Browser eines Opfers registriert wurde, leitet ein JavaScript-Payload den Browser auf die Seite weiter, von der of-CORS annimmt, dass das Opfer ursprünglich darauf zugreifen wollte.

Die gesammelten Ergebnisse können anschließend in einem minimalistischen Dashboard angezeigt werden, das in der of-CORS-Anwendung verfügbar ist.

Erste Schritte

Die folgenden Schritte können unternommen werden, um of-CORS in Ihrer eigenen Umgebung einzurichten.

Aufgrund der Komplexität der Einrichtung von of-CORS (insbesondere Komplikationen mit SSL/TLS, DNS und der Ermöglichung von Wildcard-Anfragen für beide) nutzen wir zwei Cloud-Anbieter (Heroku und Cloudflare) im Anwendungsstack und Terraform zur Automatisierung ihrer Konfiguration.

Relevante Domains kaufen

Beginnen Sie mit dem Kauf einer Domain, auf die ein interner Mitarbeiter des Zielunternehmens wahrscheinlich stoßen wird. Wir empfehlen den Kauf einer Tippfehler-Domain einer internen Domain. Wir haben festgestellt, dass Kopierfehler ein guter Ausgangspunkt sind.

Wenn das Unternehmen, das Sie auf CORS testen, beispielsweise uberinternal.com für interne Domains verwendet, möchten Sie möglicherweise berinternal.com kaufen, um Browser-Traffic von internen Mitarbeitern zu erhalten.

image

Einen Cloudflare-API-Schlüssel erhalten

of-CORS verwendet Cloudflare zum Empfangen und Weiterleiten von Wildcard-DNS-Anfragen sowie zur Beendigung von SSL/TLS-Verbindungen.

Sie benötigen ein aktives Cloudflare-Konto, damit DNS mit of-CORS korrekt funktioniert. Sobald Sie ein Cloudflare-Konto haben, möchten Sie einen API-Schlüssel erstellen (was im Dashboard hier möglich ist).

Der API-Schlüssel muss ausreichende Berechtigungen haben, um Zonen sowie DNS-Einträge hinzuzufügen, zu löschen und zu konfigurieren. Dies kann erreicht werden, indem Sie auf der Seite zur Erstellung des API-Tokens die folgenden Berechtigungen auswählen:

Cloudflare API Token Permissions

Sobald Sie einen API-Token mit den richtigen Berechtigungen erstellt haben, können Sie mit dem nächsten Schritt fortfahren.

Einen Heroku-API-Schlüssel erhalten

of-CORS verwendet Heroku für eine einfache Anwendungsbereitstellung und Hosting.

Sie benötigen ein aktives Heroku-Konto, um den of-CORS-Anwendungsstack zum Laufen zu bringen. Sobald Sie ein Konto haben, sollten Sie das Heroku Command Line Interface (CLI)-Tool installieren. Mit installierter CLI können Sie eine authentifizierte CLI-Sitzung mit dem folgenden Befehl starten:

root@kitploit:~
heroku login

Sie können dann bestätigen, dass Ihre CLI erfolgreich authentifiziert ist, indem Sie den folgenden Befehl ausführen:

root@kitploit:~
heroku whoami

Weitere Dokumentation zur Autorisierung der Heroku CLI für die Verwendung mit Terraform finden Sie hier.

Konfiguration von of-CORS für die Bereitstellung

Nachdem die für unsere Infrastruktur notwendigen API-Schlüssel eingerichtet und bereit sind, können wir zur Konfiguration von of-CORS für die Bereitstellung übergehen. Werfen Sie einen Blick auf den Inhalt der folgenden Beispiel-YAML-Konfigurationsdatei, die im Repository zu finden ist:

root@kitploit:~
terraform:
  # You must change this to a unique string that is a valid Heroku app name
  heroku_app_name: best-of-cors
  # Fill this out with your Cloudflare API token
  cloudflare_api_token: this-is-my-api-token

hosts:
  # This can be an arbitrary string, but must be unique as a direct descendant of hosts
  testing:
    host_domain: 127.0.0.1:8080
    redirect_domain: google.com
    targets:
      - enable-cors.org
      - example.com

Sie müssen eine neue Konfigurations-YAML-Datei dieses Formats für die Bereitstellung erstellen.

Im Abschnitt terraform sollten Sie heroku_app_name auf einen Heroku-konformen App-Namen setzen, der für Ihr Konto eindeutig ist. Sie sollten außerdem Ihren Cloudflare-API-Schlüssel, den Sie im obigen Abschnitt generiert haben, unter der Direktive cloudflare_api_token hinzufügen.

Im Abschnitt hosts definieren wir die Domains, von denen wir erwarten, dass of-CORS Traffic empfängt, und was zu tun ist, wenn Web-Besucher kommen. Nehmen wir an, wir haben ein Unternehmen im Visier und wissen, dass es zwei interne Domains hat (myinternalcorp1.com und myinternalcorp2.com). Wir haben die Domain yinternalcorp1.com gekauft, in der Erwartung, dass Mitarbeiter versehentlich darauf zugreifen. In diesem Fall möchten wir hosts wie folgt konfigurieren:

root@kitploit:~
hosts:
  testing_1:
    host_domain: yinternalcorp1.com
    redirect_domain: myinternalcorp1.com
    targets:
      - myinternalcorp1.com
      - myinternalcorp2.com

host_domain ist hier die Domain, von der Sie Traffic erwarten (d. h. die gekaufte Domain). redirect_domain definiert die Domain, zu der Opfer weitergeleitet werden sollen, sobald ein Payload gestartet wurde. targets gibt die Domains an, gegen die Payloads gestartet werden sollen, wenn ein Opfer of-CORS besucht.

Nehmen wir an, wir haben auch yinternalcorp2.com gekauft und möchten of-CORS so konfigurieren, dass Angriffe gestartet werden, wenn sie besucht wird. Der Abschnitt hosts könnte dann wie folgt aktualisiert werden:

root@kitploit:~
hosts:
  testing_1:
    host_domain: yinternalcorp1.com
    redirect_domain: myinternalcorp1.com
    targets:
      - myinternalcorp1.com
      - myinternalcorp2.com
  testing_2:
    host_domain: yinternalcorp2.com
    redirect_domain: myinternalcorp2.com
    targets:
      - myinternalcorp1.com
      - myinternalcorp2.com

Wenn nun ein Opfer versehentlich yinternalcorp1.com oder yinternalcorp2.com besucht, werden die Payloads zur Aufzählung von CORS-Fehlkonfigurationen auf myinternalcorp1.com und myinternalcorp2.com gestartet, und der Browser des Opfers wird anschließend auf die richtige Domain weitergeleitet.

Docker-Einrichtung

Mit der Docker-Option müssen Sie Terraform, Heroku und Python nicht installieren. Führen Sie einfach diesen Befehl mit dem richtigen Pfad für Ihre YAML-Datei aus:

root@kitploit:~
docker run -v $PWD/config.yml:/config.yml -it --rm trufflesecurity/of-cors

Einrichtung außerhalb von Docker

Terraform installieren

Die Bereitstellung von of-CORS basiert auf Terraform. Sie können die Anweisungen zur Installation von Terraform hier befolgen. Nach der Installation sollte sich die terraform-Binärdatei im PATH Ihres Systems befinden.

Python3 installieren

Die Bereitstellung von of-CORS erfordert auch Python3. Stellen Sie sicher, dass es installiert und im PATH Ihres Systems verfügbar ist.

Bereitstellung von of-CORS

Nachdem die Authentifizierung bei unseren Cloud-Anbietern erledigt und die of-CORS-Konfigurationsdatei bereit ist, können wir nun zur Bereitstellung übergehen.

Zuerst müssen wir Terraform initialisieren. Dieser Befehl sollte aus dem Wurzelverzeichnis des Quellcodes ausgeführt werden:

root@kitploit:~
cd terraform && terraform init && cd ../

Nehmen wir an, unsere Konfigurationsdatei befindet sich unter /tmp/of_cors_config.yml. Dann würden wir die folgenden Befehle ausführen, um die gesamte of-CORS-Infrastruktur zum Laufen zu bringen (beachten Sie, dass dies voraussetzt, dass die Befehle in bash ausgeführt werden). Die Ausführung dieses Befehls kann 5-10 Minuten dauern, also bitte geduldig sein!

Bitte beachten Sie auch, dass Heroku bei sehr großen Aufzählungen oft die Ressourcen ausgehen. Dies ist ein bekanntes Problem, und wir würden uns über Ihre Hilfe bei einer Lösung freuen. Mögliche zukünftige Lösungen umfassen das Hochladen eigener Aufzählungen, die Erhöhung der Heroku-Dyn-Größe oder die Umstellung auf Sublist3r oder ein anderes Aufzählungstool.

root@kitploit:~
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
CONFIG_FILE=/tmp/of_cors_config.yml make deploy_and_configure

BITTE BEACHTEN - Es kann eine Race Condition auftreten, wenn die Heroku-Infrastruktur hochgefahren wird und sofort eine Konsole darin aufgerufen wird. Wenn die Ausführung des letzten Befehls make deploy_and_configure fehlschlägt, warten Sie bitte einige Minuten und versuchen Sie es erneut.

Nachdem der Befehl deploy_and_configure abgeschlossen ist, haben Sie nun...

  • DNS-Einträge in Cloudflare, die auf Ihre Heroku-Anwendung verweisen
  • Heroku so konfiguriert, dass es Traffic von allen relevanten Wildcard-Einträgen empfängt
  • of-CORS mit Kandidaten-Domains für interne CORS-Fehlkonfigurationen bestückt

Delegierung der DNS-Autorität

Das Letzte, was wir tun müssen, damit die of-CORS-Bereitstellung bereit ist, Traffic zu empfangen, ist, die von Ihnen gekauften Domains so zu konfigurieren, dass sie Cloudflare als ihre autoritativen DNS-Server verwenden. Cloudflare hat eine ausführliche Anleitung dazu hier.

Bestätigung, dass alles korrekt eingerichtet ist

Gehen Sie die folgenden Schritte durch, um zu bestätigen, dass Ihre Software korrekt läuft. Für diesen Abschnitt verwenden wir eine Instanz von of-CORS, die unter der Domain hackersofhollywood.com eingerichtet wurde.

Zuerst überprüfen wir, ob die SOA-Einträge unserer Domain auf Cloudflare verweisen:

root@kitploit:~
dig soa <domain>

Wie unten gezeigt, verweisen die SOA-Einträge für hackersofhollywood.com korrekt auf die Cloudflare-Nameserver:

Hackers Of Hollywood SOA records

Wir überprüfen dann das Cloudflare-Konto, um zu bestätigen, dass DNS-Einträge für sowohl hackersofhollywood.com als auch *.hackersofhollywood.com mit CNAME-Inhalten, die auf Heroku-Domains verweisen, eingerichtet wurden. Dies geschieht über die Cloudflare-Weboberfläche im DNS-Bereich:

Cloudflare DNS Check

Der nächste Schritt besteht darin, zu bestätigen, dass Heroku so konfiguriert ist, dass es Traffic über diese beiden CNAME-Einträge empfängt. Dies kann über die Heroku-Weboberfläche unter Settings -> Domains erfolgen:

Heroku DNS Check

Tatsächlich sehen wir zwei Domainnamen mit den entsprechenden DNS-Zielen, die in Heroku konfiguriert wurden, und diese Ziele werden korrekt in den CNAME-Einträgen von Cloudflare widergespiegelt.

Wir können dann den folgenden Befehl ausführen, um eine authentifizierte Browser-Sitzung zur Ergebnisansichtsseite von of-CORS zu öffnen:

root@kitploit:~
CONFIG_FILE=<path_to_config_file> make open_heroku_console

Dies sollte ein leeres Dashboard in Ihrem Browser öffnen:

Empty of-CORS Dashboard

Zuletzt können wir testen, ob die CORS-Fehlkonfigurationsprüfung erfolgreich gestartet wird. Öffnen Sie einen Browser zur Basisdomain einer Ihrer Konfigurationen (in unserem Beispiel https://hackersofhollywood.com) und bestätigen Sie, dass die Seite nach einigen Sekunden weiterleitet:

Loading Page

Navigieren Sie nun zurück zur Dashboard-Seite und ändern Sie den Filter Success, um nach Unknown zu filtern, und klicken Sie auf die Schaltfläche Submit Query. Sie sollten jetzt eine Reihe von Ergebnissen sehen:

Full Dashboard

Ihre Falle ist gestellt! Lehnen Sie sich jetzt zurück, entspannen Sie sich und warten Sie, bis Ihre Opfer auf Ihre verlockende kleine Domain stoßen.

Ergebnisse anzeigen

Der folgende Befehl kann verwendet werden, um alle Ergebnisse in einer authentifizierten Browser-Sitzung anzuzeigen und abzufragen:

root@kitploit:~
CONFIG_FILE=<path_to_config_file> make open_heroku_console

Hinzufügen und Entfernen von Zielen

Die of-CORS-Konfigurationsdatei ist darauf ausgelegt, das flexible Hinzufügen und Entfernen von Domains zu unterstützen, gegen die Angriffe gestartet werden. Aktualisieren Sie einfach den Inhalt des Abschnitts hosts in Ihrer Konfigurationsdatei und führen Sie das Bereitstellungsskript erneut aus:

root@kitploit:~
source venv/bin/activate
CONFIG_FILE=/tmp/of_cors_config.yml make deploy_and_configure
Tool herunterladen