hacktricks/network-services-pentesting/pentesting-web/uncovering-cloudflare.md
2024-02-11 02:07:06 +00:00

159 lines
12 KiB
Markdown

# Ontdekking van CloudFlare
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Andere manieren om HackTricks te ondersteunen:
* Als je je **bedrijf wilt adverteren in HackTricks** of **HackTricks in PDF wilt downloaden**, bekijk dan de [**ABONNEMENTSPAKKETTEN**](https://github.com/sponsors/carlospolop)!
* Koop de [**officiële PEASS & HackTricks-merchandise**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), onze collectie exclusieve [**NFT's**](https://opensea.io/collection/the-peass-family)
* **Sluit je aan bij de** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of de [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel je hacktrucs door PR's in te dienen bij de** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.
</details>
## Gemeenschappelijke technieken om Cloudflare te ontdekken
* Je kunt een service gebruiken die je de **historische DNS-records** van het domein geeft. Misschien draait de webpagina op een eerder gebruikte IP-adres.
* Hetzelfde kan worden bereikt door **historische SSL-certificaten te controleren** die naar het oorspronkelijke IP-adres kunnen wijzen.
* Controleer ook **DNS-records van andere subdomeinen die rechtstreeks naar IP-adressen wijzen**, omdat het mogelijk is dat andere subdomeinen naar dezelfde server wijzen (misschien om FTP, e-mail of een andere service aan te bieden).
* Als je een **SSRF binnen de webtoepassing** vindt, kun je deze misbruiken om het IP-adres van de server te verkrijgen.
* Zoek een unieke string van de webpagina in browsers zoals shodan (en misschien google en vergelijkbaar?). Misschien kun je een IP-adres vinden met die inhoud.
* Op een vergelijkbare manier kun je in plaats van naar een unieke string te zoeken, zoeken naar het favicon-pictogram met de tool: [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 werkt niet erg vaak omdat de server dezelfde respons moet sturen wanneer deze wordt benaderd via het IP-adres, maar je weet maar nooit.
## Tools om Cloudflare te ontdekken
* Zoek het domein op in [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 de tool [CloudPeler](https://github.com/zidansec/CloudPeler) (die die API gebruikt)
* Zoek het domein op in [https://leaked.site/index.php?resolver/cloudflare.0/](https://leaked.site/index.php?resolver/cloudflare.0/)
* [**CloudFlair**](https://github.com/christophetd/CloudFlair) is een tool die zoekt naar Censys-certificaten die de domeinnaam bevatten, vervolgens zoekt naar IPv4-adressen in die certificaten en tot slot probeert toegang te krijgen tot de webpagina op die IP-adressen.
* [Censys](https://search.censys.io/)
* [Shodan](https://shodan.io/)
* [Bypass-firewalls-by-DNS-history](https://github.com/vincentcox/bypass-firewalls-by-DNS-history)
* Als je een reeks potentiële IP-adressen hebt waar de webpagina zich bevindt, kun je [https://github.com/hakluke/hakoriginfinder](https://github.com/hakluke/hakoriginfinder) gebruiken
```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
```
## Ontdekking van Cloudflare vanaf Cloud-masjiene
Let wel, alhoewel dit gedoen is vir AWS-masjiene, kan dit gedoen word vir enige ander wolkverskaffer.
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
```
## Oorsteek van Cloudflare deur middel van Cloudflare
### Geauthentiseerde Oorsprong Trek
Hierdie meganisme steun op **kliënt** [**SSL-sertifikate**](https://socradar.io/how-to-monitor-your-ssl-certificates-expiration-easily-and-why/) **om verbinding te verifieer** tussen **Cloudflare se omgekeerde-proksi**-bedieners en die **oorsprong**-bediener, wat **mTLS** genoem word.
In plaas daarvan om sy eie sertifikaat te konfigureer, kan kliënte eenvoudig Cloudflare se sertifikaat gebruik om enige verbinding vanaf Cloudflare toe te laat, **onafhanklik van die huurder**.
{% hint style="danger" %}
Daarom kan 'n aanvaller net 'n **domein in Cloudflare stel met behulp van Cloudflare se sertifikaat en dit** na die **slagoffer**-domein se **IP**-adres wys. Op hierdie manier, deur sy domein heeltemal onbeskermd te stel, sal Cloudflare nie die gestuurde versoek beskerm nie.
{% endhint %}
Meer inligting [**hier**](https://socradar.io/cloudflare-protection-bypass-vulnerability-on-threat-actors-radar/).
### Toelaatlys van Cloudflare IP-adresse
Dit sal **verbindings wat nie vanaf Cloudflare se** IP-adresreeks **ontstaan nie, verwerp**. Dit is ook kwesbaar vir die vorige opset waar 'n aanvaller sy eie domein net in Cloudflare **na die slagoffer se IP**-adres wys en dit aanval.
Meer inligting [**hier**](https://socradar.io/cloudflare-protection-bypass-vulnerability-on-threat-actors-radar/).
## Oorsteek van Cloudflare vir skraping
### Cache
Soms wil jy net Cloudflare oorsteek om net die webblad te skraap. Daar is 'n paar opsies vir hierdie:
* Gebruik Google-cache: `https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog`
* Gebruik ander cache-diens soos [https://archive.org/web/](https://archive.org/web/)
### 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)
### Versterkte Koploosblaaier <a href="#option-4-scrape-with-fortified-headless-browsers" id="option-4-scrape-with-fortified-headless-browsers"></a>
Gebruik 'n koploosblaaier wat nie as 'n geoutomatiseerde blaaier opgespoor word nie (jy moet dit dalk aanpas vir daardie doel). 'n Paar opsies is:
* **Puppeteer:** Die [stealth-invoegtoepassing](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth) vir [puppeteer](https://github.com/puppeteer/puppeteer).
* **Playwright:** Die [stealth-invoegtoepassing](https://www.npmjs.com/package/playwright-stealth) kom binnekort na Playwright. Volg ontwikkelinge [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) is 'n geoptimeerde Selenium Chromedriver-patch.
### Slim Proksi Met Ingeboude Cloudflare-Oorsteek <a href="#option-5-smart-proxy-with-cloudflare-built-in-bypass" id="option-5-smart-proxy-with-cloudflare-built-in-bypass"></a>
**Slim proksi**-proksi's word deur gespesialiseerde maatskappye voortdurend opgedateer om Cloudflare se sekuriteitsmaatreëls te omseil (omdat 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) staan bekend vir hul eie Cloudflare-oorsteekmeganismes.
Vir diegene wat 'n geoptimeerde oplossing soek, steek die [ScrapeOps Proksi Aggregator](https://scrapeops.io/proxy-aggregator/) uit. Hierdie diens integreer meer as 20 proksi-verskaffers in 'n enkele API, kies outomaties die beste en koste-effektiewe proksi vir jou teikendomeine, en bied dus 'n uitstekende opsie vir die navigering van Cloudflare se verdedigings.
### Ontleed Cloudflare Anti-Bot Beskerming <a href="#option-6-reverse-engineer-cloudflare-anti-bot-protection" id="option-6-reverse-engineer-cloudflare-anti-bot-protection"></a>
Ontleed Cloudflare se anti-bot-maatreëls is 'n taktiek wat deur slim proksi-verskaffers gebruik word en is geskik vir omvattende web-skraping sonder die hoë koste van die gebruik van baie koploosblaaier.
**Voordele:** Hierdie metode maak die skepping van 'n uiters doeltreffende oorsteek moontlik wat spesifiek op Cloudflare se kontroles teiken, ideaal vir grootskaalse operasies.
**Nadele:** Die nadeel is die kompleksiteit wat gepaard gaan met die verstaan en mislei van Cloudflare se doelbewus onduidelike anti-bot-stelsel, wat voortdurende pogings vereis om verskillende strategieë te toets en die oorsteek by te werk 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/)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy jou **maatskappy in HackTricks wil adverteer** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks-uitrusting**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
</details>