hacktricks/network-services-pentesting/pentesting-web/uncovering-cloudflare.md
2024-02-10 15:36:32 +00:00

12 KiB

Aufdecken von CloudFlare

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Gemeinsame Techniken zur Aufdeckung von Cloudflare

  • Sie können einen Dienst verwenden, der Ihnen die historischen DNS-Einträge der Domain gibt. Möglicherweise läuft die Webseite auf einer zuvor verwendeten IP-Adresse.
  • Das Gleiche könnte erreicht werden, indem Sie historische SSL-Zertifikate überprüfen, die auf die Ursprungs-IP-Adresse verweisen könnten.
  • Überprüfen Sie auch 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 in 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 zur Aufdeckung 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 von Cloud-Maschinen

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

Umgehung von Cloudflare über Cloudflare

Authentifizierte Origin Pulls

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

Anstatt ein eigenes Zertifikat zu konfigurieren, können Kunden einfach das Zertifikat von Cloudflare verwenden, um eine Verbindung von Cloudflare zu ermöglichen, 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 lassen. Auf diese Weise, indem er seine Domain vollständig ungeschützt einrichtet, schützt Cloudflare die gesendeten Anfragen nicht. {% endhint %}

Weitere Informationen finden Sie hier.

Zulassen von Cloudflare-IP-Adressen

Dadurch werden Verbindungen abgelehnt, die nicht von den IP-Adressbereichen von Cloudflare stammen. Dies ist auch anfällig für die vorherige Konfiguration, bei der ein Angreifer einfach seine eigene Domain in Cloudflare auf die IP-Adresse des Opfers zeigen lässt und es angreift.

Weitere Informationen finden Sie hier.

Umgehung von Cloudflare für das Scraping

Cache

Manchmal möchten Sie Cloudflare 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/

Cloudflare Solvers

Es wurden verschiedene Cloudflare Solvers 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 integrierter Cloudflare-Umgehung

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

Einige von ihnen 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 und wählt automatisch den besten und kostengünstigsten Proxy für Ihre Ziel-Domains aus, was eine überlegene Option zum Navigieren durch Cloudflares Verteidigung bietet.

Reverse Engineering des Cloudflare Anti-Bot-Schutzes

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 eignet, ohne die hohen Kosten für den Betrieb vieler Headless-Browser.

Vorteile: Diese Methode ermöglicht die Erstellung einer äußerst effizienten Umgehung, die speziell auf die Überprüfungen von Cloudflare abzielt und sich ideal für groß angelegte Operationen eignet.

Nachteile: Der Nachteil besteht in der Komplexität, die mit dem Verständnis und der Täuschung des bewusst undurchsichtigen Anti-Bot-Systems von Cloudflare verbunden ist. Es erfordert fortlaufende Anstrengungen, um verschiedene Strategien zu testen und die Umgehung zu aktualisieren, während Cloudflare seinen Schutz verbessert.

Weitere Informationen dazu finden Sie im Originalartikel.

Referenzen

Lernen Sie das Hacken von AWS von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Weitere Möglichkeiten, HackTricks zu unterstützen: