Cloudflare-Sicherheit

Reading time: 6 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

In einem Cloudflare-Konto gibt es einige allgemeine Einstellungen und Dienste, die konfiguriert werden können. Auf dieser Seite werden wir die sicherheitsrelevanten Einstellungen jeder Sektion analysieren:

Websites

Überprüfen Sie jede mit:

Cloudflare Domains

Domainregistrierung

  • In Transfer Domains überprüfen, ob es nicht möglich ist, eine Domain zu übertragen.

Überprüfen Sie jede mit:

Cloudflare Domains

Analytik

Ich konnte nichts finden, um eine Sicherheitsüberprüfung der Konfiguration durchzuführen.

Seiten

Auf jeder Cloudflare-Seite:

  • Überprüfen Sie auf sensible Informationen im Build log.
  • Überprüfen Sie auf sensible Informationen im Github-Repository, das den Seiten zugewiesen ist.
  • Überprüfen Sie auf potenzielle Kompromittierungen des Github-Repos durch Workflow-Befehlsinjektion oder pull_request_target-Kompromittierung. Weitere Informationen auf der Github-Sicherheitsseite.
  • Überprüfen Sie auf anfällige Funktionen im Verzeichnis /fuctions (falls vorhanden), überprüfen Sie die Weiterleitungen in der Datei _redirects (falls vorhanden) und falsch konfigurierte Header in der Datei _headers (falls vorhanden).
  • Überprüfen Sie auf Schwachstellen in der Webseite über Blackbox oder Whitebox, wenn Sie auf den Code zugreifen können.
  • In den Details jeder Seite /<page_id>/pages/view/blocklist/settings/functions. Überprüfen Sie auf sensible Informationen in den Umgebungsvariablen.
  • Überprüfen Sie auch auf der Detailseite den Build-Befehl und das Stammverzeichnis auf potenzielle Injektionen, um die Seite zu kompromittieren.

Workers

Überprüfen Sie bei jedem Cloudflare-Worker:

  • Die Trigger: Was löst den Worker aus? Kann ein Benutzer Daten senden, die vom Worker verwendet werden?
  • In den Einstellungen überprüfen, ob Variablen mit sensiblen Informationen vorhanden sind.
  • Überprüfen Sie den Code des Workers und suchen Sie nach Schwachstellen (insbesondere an Stellen, an denen der Benutzer die Eingabe verwalten kann).
  • Überprüfen Sie auf SSRFs, die die angegebene Seite zurückgeben, die Sie kontrollieren können.
  • Überprüfen Sie XSS, die JS innerhalb eines SVG-Bildes ausführen.
  • Es ist möglich, dass der Worker mit anderen internen Diensten interagiert. Zum Beispiel kann ein Worker mit einem R2-Bucket interagieren, der Informationen speichert, die aus der Eingabe stammen. In diesem Fall wäre es notwendig zu überprüfen, welche Möglichkeiten der Worker über den R2-Bucket hat und wie dies durch die Benutzereingabe missbraucht werden könnte.

warning

Beachten Sie, dass einem Worker standardmäßig eine URL wie <worker-name>.<account>.workers.dev zugewiesen wird. Der Benutzer kann sie auf eine Subdomain setzen, aber Sie können immer mit dieser ursprünglichen URL darauf zugreifen, wenn Sie sie kennen.

R2

Überprüfen Sie bei jedem R2-Bucket:

  • CORS-Richtlinie konfigurieren.

Stream

TODO

Bilder

TODO

Sicherheitszentrum

  • Wenn möglich, führen Sie einen Security Insights-Scan und einen Infrastructure-Scan durch, da sie interessante Informationen sicherheitsrelevant hervorheben.
  • Überprüfen Sie einfach diese Informationen auf Sicherheitsfehlkonfigurationen und interessante Infos.

Turnstile

TODO

Zero Trust

Cloudflare Zero Trust Network

Bulk-Weiterleitungen

note

Im Gegensatz zu Dynamischen Weiterleitungen sind Bulk-Weiterleitungen im Wesentlichen statisch — sie unterstützen keine Zeichenfolgenersetzungs-Operationen oder regulären Ausdrücke. Sie können jedoch URL-Weiterleitungsparameter konfigurieren, die ihr URL-Matching-Verhalten und ihr Laufzeitverhalten beeinflussen.

  • Überprüfen Sie, ob die Ausdrücke und Anforderungen für Weiterleitungen Sinn machen.
  • Überprüfen Sie auch auf sensible versteckte Endpunkte, die interessante Informationen enthalten.

Benachrichtigungen

  • Überprüfen Sie die Benachrichtigungen. Diese Benachrichtigungen werden für die Sicherheit empfohlen:
  • Usage Based Billing
  • HTTP DDoS Attack Alert
  • Layer 3/4 DDoS Attack Alert
  • Advanced HTTP DDoS Attack Alert
  • Advanced Layer 3/4 DDoS Attack Alert
  • Flow-based Monitoring: Volumetric Attack
  • Route Leak Detection Alert
  • Access mTLS Certificate Expiration Alert
  • SSL for SaaS Custom Hostnames Alert
  • Universal SSL Alert
  • Script Monitor New Code Change Detection Alert
  • Script Monitor New Domain Alert
  • Script Monitor New Malicious Domain Alert
  • Script Monitor New Malicious Script Alert
  • Script Monitor New Malicious URL Alert
  • Script Monitor New Scripts Alert
  • Script Monitor New Script Exceeds Max URL Length Alert
  • Advanced Security Events Alert
  • Security Events Alert
  • Überprüfen Sie alle Ziele, da es in Webhook-URLs sensible Informationen (Basis-HTTP-Auth) geben könnte. Stellen Sie auch sicher, dass Webhook-URLs HTTPS verwenden.
  • Als zusätzliche Überprüfung könnten Sie versuchen, eine Cloudflare-Benachrichtigung an eine dritte Partei zu imitieren, vielleicht können Sie irgendwie etwas Gefährliches injizieren.

Konto verwalten

  • Es ist möglich, die letzten 4 Ziffern der Kreditkarte, die Ablaufzeit und die Rechnungsadresse in Billing -> Payment info zu sehen.
  • Es ist möglich, den Plan-Typ im Konto in Billing -> Subscriptions zu sehen.
  • In Members ist es möglich, alle Mitglieder des Kontos und ihre Rolle zu sehen. Beachten Sie, dass, wenn der Plan-Typ nicht Enterprise ist, nur 2 Rollen existieren: Administrator und Superadministrator. Wenn der verwendete Plan Enterprise ist, können weitere Rollen verwendet werden, um das Prinzip der minimalen Berechtigung zu befolgen.
  • Daher wird empfohlen, wann immer möglich den Enterprise-Plan zu verwenden.
  • In Members ist es möglich zu überprüfen, welche Mitglieder 2FA aktiviert haben. Jeder Benutzer sollte es aktiviert haben.

note

Beachten Sie, dass glücklicherweise die Rolle Administrator keine Berechtigungen zur Verwaltung von Mitgliedschaften gibt (kann keine Privilegien erhöhen oder neue Mitglieder einladen).

DDoS-Untersuchung

Überprüfen Sie diesen Teil.

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks