hacktricks/network-services-pentesting/pentesting-web/uncovering-cloudflare.md

13 KiB

Aufdecken von CloudFlare

Erlernen Sie AWS-Hacking von Null auf Heldenniveau mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Häufige Techniken zum Aufdecken von Cloudflare

  • Sie können einen Dienst verwenden, der Ihnen die historischen DNS-Einträge der Domain liefert. Möglicherweise läuft die Webseite auf einer zuvor verwendeten IP-Adresse.
  • Ebenso könnte man dies erreichen, indem man historische SSL-Zertifikate überprüft, die auf die Ursprungs-IP-Adresse verweisen könnten.
  • Überprüfen Sie auch die DNS-Einträge anderer Subdomains, die direkt auf IPs verweisen, da es möglich ist, dass andere Subdomains auf denselben Server verweisen (vielleicht um FTP, E-Mail oder einen anderen Dienst anzubieten).
  • Wenn Sie eine SSRF innerhalb der Webanwendung finden, können Sie sie missbrauchen, um die IP-Adresse des Servers zu erhalten.
  • Suchen Sie nach einer eindeutigen Zeichenfolge der Webseite in Browsern wie Shodan (und vielleicht Google und ähnlichen?). Möglicherweise finden Sie eine IP-Adresse mit diesem Inhalt.
  • Auf ähnliche Weise könnten Sie anstelle einer eindeutigen Zeichenfolge nach dem Favicon-Symbol mit dem Tool suchen: https://github.com/karma9874/CloudFlare-IP oder mit https://github.com/pielco11/fav-up
  • Dies funktioniert nicht sehr häufig, da der Server dieselbe Antwort senden muss, wenn er über die IP-Adresse aufgerufen wird, aber man weiß nie.

Tools zum Aufdecken von Cloudflare

# You can check if the tool is working with
prips 1.0.0.0/30 | hakoriginfinder -h one.one.one.one

# If you know the company is using AWS you could use the previous tool to search the
## web page inside the EC2 IPs
DOMAIN=something.com
WIDE_REGION=us
for ir in `curl https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service=="EC2") | select(.region|test("^us")) | .ip_prefix'`; do
echo "Checking $ir"
prips $ir | hakoriginfinder -h "$DOMAIN"
done

Aufdecken von Cloudflare aus der Cloud-Infrastruktur

Beachten Sie, dass dies auch für AWS-Maschinen durchgeführt werden kann, aber auch für andere Cloud-Anbieter.

Für eine bessere Beschreibung dieses Prozesses siehe:

{% embed url="https://trickest.com/blog/cloudflare-bypass-discover-ip-addresses-aws/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

# Find open ports
sudo masscan --max-rate 10000 -p80,443 $(curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service=="EC2") | .ip_prefix' | tr '\n' ' ') | grep "open"  > all_open.txt
# Format results
cat all_open.txt | sed 's,.*port \(.*\)/tcp on \(.*\),\2:\1,' | tr -d " " > all_open_formated.txt
# Search actual web pages
httpx -silent -threads 200 -l all_open_formated.txt -random-agent -follow-redirects -json -no-color -o webs.json
# Format web results and remove eternal redirects
cat webs.json | jq -r "select((.failed==false) and (.chain_status_codes | length) < 9) | .url" | sort -u > aws_webs.json

# Search via Host header
httpx -json -no-color -list aws_webs.json -header Host: cloudflare.malwareworld.com -threads 250 -random-agent -follow-redirects -o web_checks.json

Umgehen von Cloudflare über Cloudflare

Authentifizierte Ursprungsabrufe

Dieser Mechanismus basiert auf Client-SSL-Zertifikaten, um Verbindungen zwischen den Cloudflare-Reverse-Proxy-Servern und dem Ursprungs-Server zu authentifizieren, was als mTLS bezeichnet wird.

Anstatt ein eigenes Zertifikat zu konfigurieren, können Kunden einfach Cloudflares Zertifikat verwenden, um jede Verbindung von Cloudflare zuzulassen, unabhängig vom Mieter.

{% hint style="danger" %} Daher könnte ein Angreifer einfach eine Domain in Cloudflare mit Cloudflares Zertifikat einrichten und sie auf die IP-Adresse der Opfer-Domain zeigen. Auf diese Weise, indem er seine Domain vollständig ungeschützt einrichtet, wird Cloudflare die gesendeten Anfragen nicht schützen. {% endhint %}

Weitere Informationen hier.

Erlauben von Cloudflare-IP-Adressen

Dies wird Verbindungen ablehnen, die nicht von Cloudflares IP-Adressbereichen stammen. Dies ist auch anfällig für das vorherige Setup, bei dem ein Angreifer einfach seine eigene Domain in Cloudflare auf die IP-Adresse des Opfers zeigt und es angreift.

Weitere Informationen hier.

Umgehen von Cloudflare für das Scraping

Cache

Manchmal möchten Sie Cloudflare einfach umgehen, um nur die Webseite zu scrapen. Hierfür gibt es einige Optionen:

  • Verwenden Sie den Google-Cache: https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog
  • Verwenden Sie andere Cache-Dienste wie https://archive.org/web/

Tools

Einige Tools wie die folgenden können Cloudflares Schutz vor dem Scrapen umgehen (oder konnten dies):

Cloudflare-Löser

Es wurden mehrere Cloudflare-Löser entwickelt:

Verstärkte Headless-Browser

Verwenden Sie einen Headless-Browser, der nicht als automatisierter Browser erkannt wird (möglicherweise müssen Sie ihn dafür anpassen). Einige Optionen sind:

Intelligenter Proxy mit integriertem Cloudflare-Bypass

Intelligente Proxy werden kontinuierlich von spezialisierten Unternehmen aktualisiert, um Cloudflares Sicherheitsmaßnahmen zu umgehen (da dies ihr Geschäft ist).

Einige davon sind:

Für diejenigen, die eine optimierte Lösung suchen, sticht der ScrapeOps Proxy Aggregator heraus. Dieser Service integriert über 20 Proxy-Anbieter in eine einzige API, wählt automatisch den besten und kostengünstigsten Proxy für Ihre Ziel-Domains aus und bietet somit eine überlegene Option zum Navigieren durch Cloudflares Verteidigungen.

Reverse Engineering von Cloudflares Anti-Bot-Schutz

Das Reverse Engineering der Anti-Bot-Maßnahmen von Cloudflare ist eine Taktik, die von intelligenten Proxy-Anbietern verwendet wird und sich für umfangreiches Web-Scraping ohne hohe Kosten für den Betrieb vieler Headless-Browser eignet.

Vorteile: Diese Methode ermöglicht die Erstellung eines äußerst effizienten Umgehungsmechanismus, der speziell auf Cloudflares Überprüfungen abzielt und ideal für groß angelegte Operationen ist.

Nachteile: Der Nachteil besteht in der Komplexität, Cloudflares absichtlich undurchsichtiges Anti-Bot-System zu verstehen und zu täuschen, was einen fortlaufenden Aufwand erfordert, um verschiedene Strategien zu testen und den Umgehungsweg zu aktualisieren, wenn Cloudflare seine Schutzmaßnahmen verbessert.

Weitere Informationen dazu finden Sie im Originalartikel.

Referenzen

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: