Cloudflare Security

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-Account gibt es einige general settings and services, die konfiguriert werden können. Auf dieser Seite werden wir die sicherheitsrelevanten Einstellungen jeder Sektion analysieren:

Websites

Prüfe jede mit:

Cloudflare Domains

Domain Registration

  • In Transfer Domains prüfen, dass es nicht möglich ist, eine Domain zu transferieren.

Prüfe jede mit:

Cloudflare Domains

Analytics

Ich konnte nichts finden, das man für ein Security-Review der Konfiguration überprüfen könnte.

Pages

Bei jeder Cloudflare Page:

  • Prüfe auf sensitive information im Build log.
  • Prüfe auf sensitive information im der der Pages zugeordneten Github repository.
  • Prüfe auf mögliche Kompromittierung des github repo via workflow command injection oder pull_request_target-Kompromittierung. Mehr Infos auf der Github Security page.
  • Prüfe auf potenzielle vulnerable functions im /fuctions-Verzeichnis (falls vorhanden), prüfe die redirects in der _redirects-Datei (falls vorhanden) und misconfigured headers in der _headers-Datei (falls vorhanden).
  • Prüfe die web page auf Vulnerabilities per blackbox oder whitebox, falls du auf den Code zugreifen kannst.
  • In den Details jeder Page /<page_id>/pages/view/blocklist/settings/functions. Prüfe auf sensitive information in den Environment variables.
  • In der Detailansicht prüfe außerdem den build command und das root directory auf potenzielle Injections, mit denen die Page kompromittiert werden kann.

Workers

Bei jedem Cloudflare Worker prüfen:

  • Die Triggers: Was löst den Worker aus? Kann ein User Daten senden, die vom Worker verwendet werden?
  • In den Settings prüfen, ob Variables sensitive information enthalten.
  • Prüfe den Code des Workers und suche nach Vulnerabilities (besonders an Stellen, an denen der User Input kontrolliert).
  • Prüfe auf SSRFs, die die angegebene Seite zurückgeben, die du kontrollieren kannst
  • Prüfe XSSs, die JS innerhalb eines svg-Bildes ausführen
  • Es ist möglich, dass der Worker mit anderen internen Services interagiert. Beispielsweise kann ein Worker mit einem R2 bucket interagieren, in dem Informationen aus dem Input gespeichert werden. In diesem Fall sollte geprüft werden, welche Berechtigungen der Worker auf dem R2 bucket hat und wie diese über den User-Input missbraucht werden könnten.

Warning

Beachte, dass einem Worker standardmäßig eine URL wie <worker-name>.<account>.workers.dev zugewiesen wird. Der Nutzer kann sie auf eine Subdomain setzen, aber du kannst sie immer über diese Original-URL erreichen, wenn du sie kennst.

Für einen praktischen Missbrauch von Workers als pass-through proxies (IP rotation, FireProx-style) siehe:

Cloudflare Workers Pass Through Proxy Ip Rotation

R2

Bei jedem R2 bucket prüfen:

  • Configure CORS Policy.

Stream

TODO

Images

TODO

Security Center

  • Falls möglich, führe einen Security Insights scan und einen Infrastructure scan aus, da diese sicherheitsrelevante und interessante Informationen hervorheben.
  • Prüfe diese Informationen auf Security-Misconfigurations und interessante Hinweise.

Turnstile

TODO

Zero Trust

Cloudflare Zero Trust Network

Bulk Redirects

Note

Anders als Dynamic Redirects, sind Bulk Redirects im Wesentlichen statisch — sie unterstützen keine String-Replacement-Operationen oder Regular Expressions. Du kannst jedoch URL-Redirect-Parameter konfigurieren, die ihr URL-Matching-Verhalten und ihr Laufzeitverhalten beeinflussen.

  • Prüfe, dass die expressions und requirements für Redirects sinnvoll sind.
  • Prüfe auch auf sensitive hidden endpoints, die interessante Informationen enthalten könnten.

Notifications

  • Prüfe die Notifications. Diese Notifications werden für Security 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
  • Prüfe alle destinations, da in Webhook-URLs sensitive info (basic http auth) vorhanden sein kann. Stelle außerdem sicher, dass Webhook-URLs HTTPS verwenden.
  • Als zusätzliche Überprüfung könntest du versuchen, eine Cloudflare-Notification gegenüber einer Drittpartei zu impostern; vielleicht kannst du so etwas Gefährliches injizieren.

Manage Account

  • In Billing -> Payment info kann man die letzten 4 Ziffern der Kreditkarte, das Ablaufdatum und die Rechnungsadresse sehen.
  • In Billing -> Subscriptions ist der Plan-Typ des Accounts sichtbar.
  • In Members kann man alle Mitglieder des Accounts und ihre Rolle sehen. Beachte, dass, wenn der Plan-Typ nicht Enterprise ist, nur 2 Rollen existieren: Administrator und Super Administrator. Wenn jedoch der verwendete Plan Enterprise ist, können mehr Rollen verwendet werden, um das Least-Privilege-Prinzip umzusetzen.
  • Daher wird, wann immer möglich, empfohlen, den Enterprise-Plan zu nutzen.
  • In Members lässt sich prüfen, welche Mitglieder 2FA aktiviert haben. Jeder Benutzer sollte 2FA aktiviert haben.

Note

Glücklicherweise gibt die Rolle Administrator keine Berechtigungen zur Verwaltung von Memberships (kann Privilegien nicht eskalieren oder neue Mitglieder einladen)

DDoS Investigation

Check this part.

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