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

166 lines
12 KiB
Markdown

# Uncovering CloudFlare
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## Common Techniques to Uncover Cloudflare
* Jy kan 'n diens gebruik wat jou die **historiese DNS rekords** van die domein gee. Miskien loop die webblad op 'n IP adres wat voorheen gebruik is.
* Dieselfde kan bereik word deur **historiese SSL sertifikate** te kontroleer wat na die oorspronklike IP adres kan wys.
* Kontroleer ook **DNS rekords van ander subdomeine wat direk na IP's wys**, aangesien dit moontlik is dat ander subdomeine na dieselfde bediener wys (miskien om FTP, pos of enige ander diens aan te bied).
* As jy 'n **SSRF binne die webtoepassing** vind, kan jy dit misbruik om die IP adres van die bediener te verkry.
* Soek 'n unieke string van die webblad in blaaiers soos shodan (en miskien google en soortgelyke?). Miskien kan jy 'n IP adres met daardie inhoud vind.
* Op 'n soortgelyke manier, in plaas daarvan om na 'n unieke string te soek, kan jy soek na die favicon ikoon met die hulpmiddel: [https://github.com/karma9874/CloudFlare-IP](https://github.com/karma9874/CloudFlare-IP) of met [https://github.com/pielco11/fav-up](https://github.com/pielco11/fav-up)
* Dit sal nie baie gereeld werk nie, omdat die bediener dieselfde antwoord moet stuur wanneer dit deur die IP adres geakkommodeer word, maar jy weet nooit.
## Tools to uncover Cloudflare
* Soek vir die domein binne [http://www.crimeflare.org:82/cfs.html](http://www.crimeflare.org:82/cfs.html) of [https://crimeflare.herokuapp.com](https://crimeflare.herokuapp.com). Of gebruik die hulpmiddel [CloudPeler](https://github.com/zidansec/CloudPeler) (wat daardie API gebruik)
* Soek vir die domein in [https://leaked.site/index.php?resolver/cloudflare.0/](https://leaked.site/index.php?resolver/cloudflare.0/)
* [**CloudFlair**](https://github.com/christophetd/CloudFlair) is 'n hulpmiddel wat sal soek met behulp van Censys sertifikate wat die domeinnaam bevat, dan sal dit soek na IPv4's binne daardie sertifikate en uiteindelik sal dit probeer om toegang te verkry tot die webblad in daardie IP's.
* [**CloakQuest3r**](https://github.com/spyboy-productions/CloakQuest3r): CloakQuest3r is 'n kragtige Python hulpmiddel wat met sorg ontwerp is om die werklike IP adres van webwerwe wat deur Cloudflare en ander alternatiewe beskerm word, te ontdek, 'n wyd gebruikte websekuriteits- en prestasieverbeteringsdiens. Sy kernmissie is om die werklike IP adres van webbedieners wat agter Cloudflare se beskermende skild versteek is, akkuraat te onderskei.
* [Censys](https://search.censys.io/)
* [Shodan](https://shodan.io/)
* [Bypass-firewalls-by-DNS-history](https://github.com/vincentcox/bypass-firewalls-by-DNS-history)
* As jy 'n stel potensiële IP's het waar die webblad geleë is, kan jy [https://github.com/hakluke/hakoriginfinder](https://github.com/hakluke/hakoriginfinder) gebruik
```bash
# 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
```
## Ontdek Cloudflare van Wolkinfrastruktuur
Let daarop dat selfs al is dit gedoen vir AWS-masjiene, dit vir enige ander wolkverskaffer gedoen kan word.
Vir 'n beter beskrywing van hierdie proses, kyk:
{% embed url="https://trickest.com/blog/cloudflare-bypass-discover-ip-addresses-aws/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
```bash
# 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
```
## Om Cloudflare te omseil deur Cloudflare
### Geverifieerde Oorsprong Trekke
Hierdie meganisme staat op **klant** [**SSL sertifikate**](https://socradar.io/how-to-monitor-your-ssl-certificates-expiration-easily-and-why/) **om verbindings** tussen **Cloudflare se omgekeerde-proxy** bedieners en die **oorsprong** bediener te verifieer, wat **mTLS** genoem word.
In plaas daarvan om sy eie sertifikaat te konfigureer, kan kliënte eenvoudig Cloudflare se sertifikaat gebruik om enige verbinding van Cloudflare toe te laat, **ongeag die huurder**.
{% hint style="danger" %}
Daarom kan 'n aanvaller eenvoudig 'n **domein in Cloudflare instel met Cloudflare se sertifikaat en dit** na die **slagoffer** domein **IP** adres wys. Op hierdie manier, deur sy domein heeltemal onbeskermd te stel, sal Cloudflare nie die versoeke wat gestuur word beskerm nie.
{% endhint %}
Meer inligting [**hier**](https://socradar.io/cloudflare-protection-bypass-vulnerability-on-threat-actors-radar/).
### Toegelaat Cloudflare IP Adresse
Dit sal **verbindinge wat nie van Cloudflare se** IP adresreekse afkomstig is, **weier**. Dit is ook kwesbaar vir die vorige opstelling waar 'n aanvaller eenvoudig sy **eie domein in Cloudflare** na die **slagoffers IP** adres kan wys en dit aanval.
Meer inligting [**hier**](https://socradar.io/cloudflare-protection-bypass-vulnerability-on-threat-actors-radar/).
## Om Cloudflare te omseil vir scraping
### Kas
Soms wil jy net Cloudflare omseil om net die webblad te scrape. Daar is 'n paar opsies hiervoor:
* Gebruik Google kas: `https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog`
* Gebruik ander kasdienste soos [https://archive.org/web/](https://archive.org/web/)
### Gereedskap
Sommige gereedskap soos die volgende kan Cloudflare se beskerming teen scraping omseil (of was in staat om dit te doen):
* [https://github.com/sarperavci/CloudflareBypassForScraping](https://github.com/sarperavci/CloudflareBypassForScraping)
### Cloudflare Oplossers
Daar is 'n aantal Cloudflare oplossers ontwikkel:
* [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr)
* [cloudscraper](https://github.com/VeNoMouS/cloudscraper) [Gids hier](https://scrapeops.io/python-web-scraping-playbook/python-cloudscraper/)
* [cloudflare-scrape](https://github.com/Anorov/cloudflare-scrape)
* [CloudflareSolverRe](https://github.com/RyuzakiH/CloudflareSolverRe)
* [Cloudflare-IUAM-Solver](https://github.com/ninja-beans/cloudflare-iuam-solver)
* [cloudflare-bypass](https://github.com/devgianlu/cloudflare-bypass) \[Gearchiveer\]
* [CloudflareSolverRe](https://github.com/RyuzakiH/CloudflareSolverRe)
### Gesteunde Hooflose Blaaiers <a href="#option-4-scrape-with-fortified-headless-browsers" id="option-4-scrape-with-fortified-headless-browsers"></a>
Gebruik 'n hooflose blaaiers wat nie as 'n geoutomatiseerde blaaiers gedetecteer word nie (jy mag dit moet aanpas daarvoor). Sommige opsies is:
* **Puppeteer:** Die [stealth plugin](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth) vir [puppeteer](https://github.com/puppeteer/puppeteer).
* **Playwright:** Die [stealth plugin](https://www.npmjs.com/package/playwright-stealth) kom binnekort na Playwright. Volg ontwikkeling [hier](https://github.com/berstend/puppeteer-extra/issues/454) en [hier](https://github.com/berstend/puppeteer-extra/tree/master/packages/playwright-extra).
* **Selenium:** Die [undetected-chromedriver](https://github.com/ultrafunkamsterdam/undetected-chromedriver) 'n geoptimaliseerde Selenium Chromedriver-patch.
### Slim Proxie Met Cloudflare Ingeboude Omseiling <a href="#option-5-smart-proxy-with-cloudflare-built-in-bypass" id="option-5-smart-proxy-with-cloudflare-built-in-bypass"></a>
**Slim proxies** word deurlopend opgedateer deur gespesialiseerde maatskappye, met die doel om Cloudflare se sekuriteitsmaatreëls te oortref (soos dit hul besigheid is).
Sommige van hulle is:
* [ScraperAPI](https://www.scraperapi.com/?fp\_ref=scrapeops)
* [Scrapingbee](https://www.scrapingbee.com/?fpr=scrapeops)
* [Oxylabs](https://oxylabs.go2cloud.org/aff\_c?offer\_id=7\&aff\_id=379\&url\_id=32)
* [Smartproxy](https://prf.hn/click/camref:1100loxdG/\[p\_id:1100l442001]/destination:https%3A%2F%2Fsmartproxy.com%2Fscraping%2Fweb) is bekend vir hul eie Cloudflare omseilingsmeganismes.
Vir diegene wat 'n geoptimaliseerde oplossing soek, is die [ScrapeOps Proxy Aggregator](https://scrapeops.io/proxy-aggregator/) opvallend. Hierdie diens integreer meer as 20 proxy verskaffers in 'n enkele API, wat outomaties die beste en mees kostedoeltreffende proxy vir jou teikendomeine kies, en bied dus 'n beter opsie om Cloudflare se verdediging te navigeer.
### Omgekeerde Ingenieurswese van Cloudflare Anti-Bot Beskerming <a href="#option-6-reverse-engineer-cloudflare-anti-bot-protection" id="option-6-reverse-engineer-cloudflare-anti-bot-protection"></a>
Omgekeerde ingenieurswese van Cloudflare se anti-bot maatreëls is 'n taktiek wat deur slim proxie verskaffers gebruik word, geskik vir uitgebreide web scraping sonder die hoë koste van die bestuur van baie hooflose blaaiers.
**Voordele:** Hierdie metode stel in staat om 'n uiters doeltreffende omseiling te skep wat spesifiek Cloudflare se kontroles teiken, ideaal vir grootmaat operasies.
**Nadele:** Die nadeel is die kompleksiteit wat betrokke is by die verstaan en mislei van Cloudflare se doelbewus onduidelike anti-bot stelsel, wat voortdurende moeite vereis om verskillende strategieë te toets en die omseiling op te dateer soos Cloudflare sy beskerming verbeter.
Vind meer inligting oor hoe om dit te doen in die [oorspronklike artikel](https://scrapeops.io/web-scraping-playbook/how-to-bypass-cloudflare/).
## Verwysings
* [https://scrapeops.io/web-scraping-playbook/how-to-bypass-cloudflare/](https://scrapeops.io/web-scraping-playbook/how-to-bypass-cloudflare/)
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Ondersteun HackTricks</summary>
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}