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

13 KiB

Uncovering CloudFlare

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Common Techniques to Uncover Cloudflare

  • Sie können einen Dienst nutzen, der Ihnen die historischen DNS-Einträge der Domain gibt. Vielleicht läuft die Webseite auf einer IP-Adresse, die zuvor verwendet wurde.
  • Dasselbe könnte erreicht werden, indem man historische SSL-Zertifikate überprüft, die auf die ursprüngliche IP-Adresse verweisen könnten.
  • Überprüfen Sie auch die DNS-Einträge anderer Subdomains, die direkt auf IPs zeigen, da es möglich ist, dass andere Subdomains auf denselben Server zeigen (vielleicht um FTP, Mail oder einen anderen Dienst anzubieten).
  • Wenn Sie eine SSRF innerhalb der Webanwendung finden, können Sie diese ausnutzen, um die IP-Adresse des Servers zu erhalten.
  • Suchen Sie eine einzigartige Zeichenfolge der Webseite in Browsern wie Shodan (und vielleicht Google und ähnlichen?). Vielleicht finden Sie eine IP-Adresse mit diesem Inhalt.
  • In ähnlicher Weise könnten Sie anstelle einer einzigartigen Zeichenfolge nach dem Favicon-Icon mit dem Tool: https://github.com/karma9874/CloudFlare-IP oder mit https://github.com/pielco11/fav-up suchen.
  • Dies wird nicht sehr häufig funktionieren, da der Server dieselbe Antwort senden muss, wenn er über die IP-Adresse aufgerufen wird, aber man weiß ja nie.

Tools to uncover 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

Uncovering Cloudflare from Cloud infrastructure

Beachten Sie, dass dies, auch wenn es für AWS-Maschinen durchgeführt wurde, für jeden anderen Cloud-Anbieter durchgeführt werden kann.

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 durch Cloudflare

Authentifizierte Ursprungsabrufe

Dieser Mechanismus basiert auf Client SSL-Zertifikaten zur Authentifizierung von Verbindungen zwischen Cloudflares Reverse-Proxy-Servern und dem Ursprungs-Server, 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 Mandanten.

{% 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 völlig ungeschützt einrichtet, wird Cloudflare die gesendeten Anfragen nicht schützen. {% endhint %}

Weitere Informationen hier.

Erlaubte Cloudflare-IP-Adressen

Dies wird Verbindungen ablehnen, die nicht von Cloudflares IP-Adressbereichen 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 der Opfer-Domain zeigt und sie angreift.

Weitere Informationen hier.

Umgehen von Cloudflare zum Scraping

Cache

Manchmal möchte man einfach Cloudflare umgehen, um nur die Webseite zu scrapen. Es gibt einige Optionen dafür:

  • 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 gegen Scraping umgehen (oder konnten es umgehen):

Cloudflare-Löser

Es wurden eine Reihe von Cloudflare-Lösern 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 Proxys werden kontinuierlich von spezialisierten Unternehmen aktualisiert, die darauf abzielen, Cloudflares Sicherheitsmaßnahmen zu überlisten (da dies ihr Geschäft ist).

Einige von ihnen sind:

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

Reverse Engineering von Cloudflare Anti-Bot-Schutz

Das Reverse Engineering von Cloudflares Anti-Bot-Maßnahmen 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 eines äußerst effizienten Bypasses, der speziell auf Cloudflares Prüfungen abzielt, ideal für großangelegte Operationen.

Nachteile: Der Nachteil ist die Komplexität, die mit dem Verständnis und der Täuschung von Cloudflares absichtlich obskurem Anti-Bot-System verbunden ist, was fortlaufende Anstrengungen erfordert, um verschiedene Strategien zu testen und den Bypass zu aktualisieren, während Cloudflare seine Schutzmaßnahmen verbessert.

Weitere Informationen dazu finden Sie im ursprünglichen Artikel.

Referenzen

{% hint style="success" %} Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks
{% endhint %}