Découvrir CloudFlare

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Techniques courantes pour découvrir CloudFlare

  • Vous pouvez utiliser un service qui vous fournit les enregistrements DNS historiques du domaine. Il est possible que la page web tourne sur une adresse IP utilisée auparavant.
  • Il est aussi possible d’y parvenir en vérifiant les certificats SSL historiques qui pourraient pointer vers l’adresse IP d’origine.
  • Vérifiez aussi les enregistrements DNS d’autres sous-domaines pointant directement vers des IPs, car il est possible que d’autres sous-domaines pointent vers le même serveur (par exemple pour FTP, mail ou tout autre service).
  • Si vous trouvez une SSRF dans l’application web, vous pouvez l’exploiter pour obtenir l’adresse IP du serveur.
  • Recherchez une chaîne unique de la page web dans des moteurs comme shodan (et peut‑être google et similaires). Vous pourriez trouver une adresse IP avec ce contenu.
  • De la même façon, au lieu de chercher une chaîne unique vous pouvez rechercher le favicon avec l’outil: https://github.com/karma9874/CloudFlare-IP ou avec https://github.com/pielco11/fav-up
  • Cela ne fonctionnera pas très fréquemment car le serveur doit renvoyer la même réponse lorsqu’on y accède via l’adresse IP, mais on ne sait jamais.

Outils pour découvrir 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

Découvrir Cloudflare depuis une infrastructure cloud

Notez que même si cela a été fait pour des machines AWS, cela peut être réalisé pour n’importe quel autre fournisseur cloud.

Pour une description plus complète de ce processus, consultez :

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

Bypassing Cloudflare through Cloudflare

Authenticated Origin Pulls

Ce mécanisme repose sur les client SSL certificates pour authentifier les connexions entre les serveurs Cloudflare’s reverse-proxy et le serveur origin, ce qui est appelé mTLS.

Au lieu de configurer son propre certificat, les clients peuvent simplement utiliser le certificat de Cloudflare pour autoriser toute connexion depuis Cloudflare, quelle que soit le tenant.

Caution

Par conséquent, un attaquant pourrait simplement configurer un domaine dans Cloudflare en utilisant le certificat de Cloudflare et le pointer vers l’adresse IP du domaine victime. De cette manière, en configurant son domaine complètement non protégé, Cloudflare ne protégera pas les requêtes envoyées.

More info here.

Allowlist Cloudflare IP Addresses

Cela rejette les connexions qui n’émanent pas des plages d’adresses IP de Cloudflare. Ceci est également vulnérable à la configuration précédente où un attaquant pointe simplement son propre domaine dans Cloudflare vers l’adresse IP de la victime et l’attaque.

More info here.

Bypass Cloudflare for scraping

Cache

Parfois vous voulez simplement bypass Cloudflare pour uniquement scraper la page web. Voici quelques options pour cela :

  • Use Google cache: https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog
  • Use other cache services such as https://archive.org/web/

Tools

Some tools like the following ones can bypass (or were able to bypass) Cloudflare’s protection against scraping:

Cloudflare Solvers

Il y a eu plusieurs solveurs Cloudflare développés :

Fortified Headless Browsers

Utilisez un headless browser qui n’est pas détecté comme un navigateur automatisé (vous devrez peut-être le personnaliser pour cela). Quelques options :

  • Puppeteer: The stealth plugin for puppeteer.
  • Playwright: The stealth plugin is coming to Playwright soon. Follow developments here and here.
  • Selenium: SeleniumBase is a modern browser automation framework featuring built-in stealth capabilities. It offers two modes: UC Mode, an optimized Selenium ChromeDriver patch based on undetected-chromedriver, and CDP Mode, which can bypass bot detection, solve CAPTCHAs, and leverage advanced methods from the Chrome DevTools Protocol.

Smart Proxy With Cloudflare Built-In Bypass

Les smart proxies sont continuellement mis à jour par des sociétés spécialisées, visant à contourner les mesures de sécurité de Cloudflare (puisque c’est leur métier).

Parmi eux :

Pour ceux qui cherchent une solution optimisée, le ScrapeOps Proxy Aggregator se démarque. Ce service intègre plus de 20 fournisseurs de proxy dans une API unique, sélectionnant automatiquement le proxy le plus adapté et rentable pour vos domaines cibles, offrant ainsi une option supérieure pour naviguer dans les défenses de Cloudflare.

Reverse Engineer Cloudflare Anti-Bot Protection

Le reverse engineering des mesures anti-bot de Cloudflare est une tactique utilisée par les fournisseurs de smart proxies, adaptée pour le scraping à grande échelle sans le coût élevé d’exécution de nombreux headless browsers.

Avantages : Cette méthode permet de créer un contournement extrêmement efficace qui cible spécifiquement les vérifications de Cloudflare, idéal pour des opérations à grande échelle.

Inconvénients : L’inconvénient est la complexité impliquée pour comprendre et tromper le système anti-bot délibérément obscur de Cloudflare, nécessitant un effort continu pour tester différentes stratégies et mettre à jour le contournement à mesure que Cloudflare renforce ses protections.

Find more info about how to do this in the original article.

References

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks