CLOUDFLARE NUTZEN, UM CLOUDFLARE ZU UMGEHEN…
Diese hier genannten Sicherheitslücken, wurden von den Experten mehrfach und verantwortungsbewusst über das Bug-Bounty-Programm an Cloudflare gemeldet und dabei detailiert offengelegt !
CF fand die Einträge „informativ“, hat sie aber alle kurzfristig geschlossen, ohne weitere Kommentare! Zuletzt passierte das vor knapp vier Wochen erst…
Deshalb hat man sich Mitte Oktober 2023 dazu entschieden, diese Dinge öffentlich zu machen!!!
Übersicht:
ClownFlair beschreibt in seinen offiziellen Dokus, dass es verschiedenste Mechanismen gibt, um Angreifer daran zu hindern, den / die Ursprungsserver zu entdecken!
Nach dem OSI-Modell, nutzt man dazu drei Ebenen des Modells (Anwendungsschicht, Transportschicht und Netzwerkschicht).
Diese Mechanismen sind mit unterschiedlichen Sicherheitsstufen „mäßig sicher“ oder „sehr sicher“ und den damit verbundenen technischen Herausforderungen versehen. Bei diversen Analysen hat man herausgefunden, dass zwei vorgeschlagene Mechanismen auf der Prämisse basieren, dass der gesamte von Cloudflare ausgehende Datenverkehr zum Ursprungsserver vertrauenswürdig ist, während der Datenverkehr von anderen Parteien abgelehnt werden soll…!!
Die Researcher zeigten, dass Angreifer dieses Vertrauen in Cloudflare missbrauchen können, indem sie ihre bösartige Nutzlast über die Cloudflare-Plattform senden und dabei verschiedene Schutzmechanismen (z. B. die Web Application Firewall) umgehen, die ein Kunde möglicherweise für seine Umgebung konfiguriert hat. Die tatsächliche Auswirkung dieser Umgehung hängt von der Konfiguration des Ursprungsservers des Kunden ab.
Authenticated Origin Pulls:
Bei Verwendung des Mechanismus „Authenticated Origin Pulls“ auf Transport Layer, der in der Cloudflare-Dokumentation als „sehr sicher“ angegeben wird, authentifizieren sich die Cloudflare-Reverse-Proxy-Server beim Ursprungsserver mithilfe eines Client-SSL-Zertifikats. Die Zonen-Setup-Dokumentation stellt zwei Optionen zur Authentifizierung von Verbindungen von Clients, die über den Reverse-Proxy-Server von Cloudflare weitergeleitet werden, zum Ursprungsserver vor. Kunden können zwischen einem „Cloudflare-Zertifikat“ oder einem benutzerdefinierten Zertifikat wählen. Die mit diesen Optionen verbundenen Sicherheitsauswirkungen werden in der Dokumentation jedoch nicht erläutert. Es ist außerdem zu beachten, dass das benutzerdefinierte Zertifikat nur über eine API konfiguriert werden kann. Ohne zusätzliche Informationen ist davon auszugehen, dass sich Kunden für die komfortablere Variante der Nutzung des Cloudflare-Zertifikats entscheiden werden.
Die unausgesprochene schwerwiegende Auswirkung der Verwendung eines gemeinsamen „Cloudflare-Zertifikats“ über eine mandantenspezifische benutzerdefinierte Zertifizierungsstelle besteht darin, dass alle von Cloudflare ausgehenden Verbindungen zulässig sind, unabhängig davon, welcher Cloudflare-Mandant die Verbindung initiiert. Ein Angreifer kann mit Cloudflare eine benutzerdefinierte Domäne einrichten und den DNS-A-Eintrag auf die IP-Adresse des Opfers verweisen. Der Angreifer deaktiviert dann alle Schutzfunktionen für diese benutzerdefinierte Domäne in seinem Mandanten und tunnelt seine Angriffe über die Cloudflare-Infrastruktur. Dieser Ansatz ermöglicht es Angreifern, die Schutzfunktionen des Opfers zu umgehen.
Cloudflare-IP-Adressen auf die Zulassungsliste setzen:
Bei Verwendung des Mechanismus „Cloudflare-IP-Adressen zulassen“ auf der Netzwerkebene, der als „mäßig sicher“ eingestuft wird, lehnt der Ursprungsserver alle Verbindungen ab, die nicht aus den IP-Adressbereichen von Cloudflare stammen. Die Setup-Dokumentation dokumentiert, wie diese Bereiche mithilfe einer .htaccess-Datei oder iptables eingerichtet werden.
Wie bei authentifizierten Ursprungs-Pulls besteht die nicht erwähnte schwerwiegende Auswirkung dieses Mechanismus darin, dass alle von Cloudflare ausgehenden Verbindungen unabhängig vom Mandanten zulässig sind. Ein Angreifer kann mit Cloudflare eine benutzerdefinierte Domäne einrichten und den DNS-A-Eintrag an die IP-Adresse des Opfers weiterleiten. Als Nächstes deaktivieren sie alle Schutzfunktionen für diese benutzerdefinierte Domäne und leiten ihre Angriffe über die Infrastruktur von Cloudflare weiter, wodurch sie effektiv die vom Opfer konfigurierten Schutzfunktionen umgehen.
Dies kann derzeit nur durch den Einsatz von Cloudflare Aegis gemildert werden, das dedizierte Ausgangs-IP-Adressen bietet, anstatt den gemeinsam genutzten IP-Adressbereich zu verwenden. Dieser Service steht möglicherweise nicht allen Kunden zur Verfügung.
Konzeptioneller Beweiß:
Im Folgenden wird die Einrichtung für eine erfolgreiche Umgehung einer WAF-geschützten Domäne „ victim.test“ beschrieben , die versucht, den Ursprungsserver 203.0.113.42 abzuschirmen , indem „ Authentifizierte Ursprungs-Pulls“ mit dem Cloudflare-Ursprungszertifikat sowie „Cloudflare-IP-Adressen auf die Zulassungsliste“ gesetzt werden in der offiziellen Dokumentation dargelegt. Der Angreifer konfiguriert einfach die Domäne attacker.test ohne jeglichen WAF-Schutz und legt dieselbe Ursprungs-IP-Adresse wie Victim.test fest . Dies ermöglicht es dem Angreifer, über attacker.test erfolgreich Anfragen an 203.0.113.42 zu senden, die beim Versuch, dies über Victim.test zu tun, blockiert würden .
Konfiguration des Cloudflare-Kontos des Opfers:
Domäne: Victim.test
DNS-A-Eintrag verweist auf: 203.0.113.42
Cloudflare-Einstellungen:
SSL/TLS-Verschlüsselungsmodus: „Vollständig (streng)“
Authentifizierte Origin-Pulls aktiviert
Cloudflare-Ursprungszertifikat erstellt
WAF Cloudflare Managed Ruleset aktiviert
WAF Cloudflare OWASP Core Ruleset aktiviert
Sicherheitsstufe: „Ich werde angegriffen“ – Verwenden Sie immer HTTPS aktiviert
Konfiguration des Ursprungsservers des Opfers
Cloudflare-Ursprungszertifikat installiert (SSL/TLS aktiviert)
Authentifizierte Origin Pulls CA installiert (SSLVerifyClient aktiviert)
iptables lässt nur eingehenden Datenverkehr von Cloudflare-IPs auf Port 443 zu
Konfiguration des Cloudflare-Kontos des Angreifers
Domäne: attacker.test
DNS-A-Eintrag verweist auf: 203.0.113.42
Cloudflare-Einstellungen:
SSL/TLS-Verschlüsselungsmodus: „Vollständig“
Authentifizierte Origin-Pulls aktiviert
WAF Cloudflare Managed Ruleset deaktiviert
WAF Cloudflare OWASP Core Ruleset deaktiviert
Sicherheitsstufe: „Im Wesentlichen ausgeschaltet“
Schutzumgehung
Cloudflare WAF schützt den Ursprungsserver des Opfers vor potenziell böswilligen Eingaben.
GET https://victim.test/?test=cat%20/etc/passwd HTTP/2
< HTTP/2 403 Verboten
Cloudflare leitet die potenziell schädliche Eingabe unter Umgehung der WAF-Konfiguration des Opfers an den Ursprungsserver des Opfers weiter.
GET https://attacker.test/?test=cat%20/etc/passwd HTTP/2
< HTTP/2 200 OK
Empfehlung für Cloudflare-Kunden:
Der Mechanismus „Cloudflare-IP-Adressen auf die Zulassungsliste setzen“ sollte als Tiefenverteidigung betrachtet werden und nicht als einziger Mechanismus zum Schutz von Ursprungsservern. Der „Authenticated Origin Pulls“-Mechanismus sollte mit benutzerdefinierten Zertifikaten und nicht mit dem Cloudflare-Zertifikat konfiguriert werden. Andere Mechanismen zur Authentifizierung des Cloudflare-Mandanten (anstelle von Cloudflare selbst), die in der Dokumentation beschrieben werden, sowie ihre verschiedenen Kompromisse (z. B. die Ausführung von Code von Drittanbietern auf sensiblen Webservern) sollten beim Schutz der Ursprungsserver berücksichtigt werden.
Wir würden Cloudflare empfehlen, Schutzmechanismen gegen solche Angriffe zu implementieren und Kunden mit schwachen Konfigurationen zu warnen!!!
Mittlerweile hat ClownFlair den Schweregrad der beschriebenen Lücken von „informativ“ auf „hoch (7,5)“ gesetzt !!!
Zeitplan für die Offenlegung:
16.03.2023 Problem über HackerOne an Cloudflare gemeldet
16.03.2023 Problem von Cloudflare bestätigt und geschlossen (Fehlerinformation)
28.09.2023 Offenlegung (>180 Tage)
04.10.2023 Cloudflare hat den Schweregrad von informativ auf hoch angepasst (7,5)
04.10.2023 Cloudflare kündigte Verbesserungen der Dokumentation und des Dashboards an
Quellen:
Cloudflare
Die Heimat der Security-Researcher → Cert it ude Consulting GmbH, Barichgasse 40-42, 1030 Wien (AT)
Die Certitude Consulting GmbH → https://www.wearecode.red/