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
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Common Techniques to Uncover Cloudflare
- Vous pouvez utiliser un service qui vous donne les enregistrements DNS historiques du domaine. Peut-être que la page web fonctionne sur une adresse IP utilisée auparavant.
- La même chose pourrait être réalisée en vérifiant les certificats SSL historiques qui pourraient pointer vers l'adresse IP d'origine.
- Vérifiez également les enregistrements DNS d'autres sous-domaines pointant directement vers des IP, car il est possible que d'autres sous-domaines pointent vers le même serveur (peut-être pour offrir FTP, mail ou tout autre service).
- Si vous trouvez un SSRF à l'intérieur de l'application web, vous pouvez en abuser pour obtenir l'adresse IP du serveur.
- Recherchez une chaîne unique de la page web dans des navigateurs tels que shodan (et peut-être google et similaires ?). Peut-être que vous pouvez trouver une adresse IP avec ce contenu.
- De manière similaire, au lieu de chercher une chaîne unique, vous pourriez rechercher l'icône 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 envoyer la même réponse lorsqu'il est accédé par l'adresse IP, mais on ne sait jamais.
Tools to uncover Cloudflare
- Recherchez le domaine à l'intérieur de http://www.crimeflare.org:82/cfs.html ou https://crimeflare.herokuapp.com. Ou utilisez l'outil CloudPeler (qui utilise cette API)
- Recherchez le domaine dans https://leaked.site/index.php?resolver/cloudflare.0/
- CloudFlair est un outil qui recherchera en utilisant des certificats Censys contenant le nom de domaine, puis il recherchera des IPv4 à l'intérieur de ces certificats et enfin il essaiera d'accéder à la page web sur ces IP.
- CloakQuest3r : CloakQuest3r est un puissant outil Python méticuleusement conçu pour découvrir la véritable adresse IP des sites web protégés par Cloudflare et d'autres alternatives, un service largement adopté pour la sécurité web et l'amélioration des performances. Sa mission principale est de discerner avec précision l'adresse IP réelle des serveurs web qui sont dissimulés derrière le bouclier protecteur de Cloudflare.
- Censys
- Shodan
- Bypass-firewalls-by-DNS-history
- Si vous avez un ensemble d'IP potentielles où la page web est située, vous pourriez utiliser https://github.com/hakluke/hakoriginfinder
# 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
Notez que même si cela a été fait pour des machines AWS, cela pourrait être fait pour tout autre fournisseur de cloud.
Pour une meilleure description de ce processus, consultez :
{% 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
Contournement de Cloudflare via Cloudflare
Authenticated Origin Pulls
Ce mécanisme repose sur des certificats SSL client pour authentifier les connexions entre les serveurs reverse-proxy de Cloudflare et le serveur d'origine, ce qui s'appelle mTLS.
Au lieu de configurer son propre certificat, les clients peuvent simplement utiliser le certificat de Cloudflare pour autoriser toute connexion depuis Cloudflare, indépendamment du locataire.
{% hint style="danger" %} Par conséquent, un attaquant pourrait simplement définir 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. {% endhint %}
Plus d'infos ici.
Adresses IP Cloudflare sur liste blanche
Cela rejette les connexions qui ne proviennent pas des plages d'adresses IP de Cloudflare. Cela est également vulnérable à la configuration précédente où un attaquant peut simplement pointer son propre domaine dans Cloudflare vers l'adresse IP des victimes.
Plus d'infos ici.
Contournement de Cloudflare pour le scraping
Cache
Parfois, vous voulez juste contourner Cloudflare pour ne scraper que la page web. Il existe quelques options pour cela :
- Utiliser le cache de Google :
https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog
- Utiliser d'autres services de cache comme https://archive.org/web/
Outils
Certains outils comme les suivants peuvent contourner (ou ont pu contourner) la protection de Cloudflare contre le scraping :
Résolveurs Cloudflare
Un certain nombre de résolveurs Cloudflare ont été développés :
- FlareSolverr
- cloudscraper Guide ici
- cloudflare-scrape
- CloudflareSolverRe
- Cloudflare-IUAM-Solver
- cloudflare-bypass [Archivé]
- CloudflareSolverRe
Navigateurs sans tête renforcés
Utilisez un navigateur sans tête qui n'est pas détecté comme un navigateur automatisé (vous devrez peut-être le personnaliser pour cela). Quelques options sont :
- Puppeteer : Le plugin stealth pour puppeteer.
- Playwright : Le plugin stealth arrive bientôt sur Playwright. Suivez les développements ici et ici.
- Selenium : Le undetected-chromedriver un patch optimisé pour Selenium Chromedriver.
Proxy intelligent avec contournement intégré Cloudflare
Les proxies intelligents sont continuellement mis à jour par des entreprises spécialisées, visant à contourner les mesures de sécurité de Cloudflare (car c'est leur métier).
Certains d'entre eux sont :
- ScraperAPI
- Scrapingbee
- Oxylabs
- Smartproxy sont connus pour leurs mécanismes de contournement Cloudflare propriétaires.
Pour ceux qui recherchent une solution optimisée, l'Agrégateur de Proxies ScrapeOps se distingue. Ce service intègre plus de 20 fournisseurs de proxies dans une seule API, sélectionnant automatiquement le meilleur et le plus rentable pour vos domaines cibles, offrant ainsi une option supérieure pour naviguer dans les défenses de Cloudflare.
Ingénierie inverse de la protection anti-bot de Cloudflare
L'ingénierie inverse des mesures anti-bot de Cloudflare est une tactique utilisée par les fournisseurs de proxies intelligents, adaptée au scraping web à grande échelle sans le coût élevé de l'exécution de nombreux navigateurs sans tête.
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 dans la compréhension et la tromperie du 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 améliore ses protections.
Trouvez plus d'infos sur comment faire cela dans l'article original.
Références
{% hint style="success" %}
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)
Soutenir HackTricks
- Consultez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR aux HackTricks et HackTricks Cloud dépôts github.