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

166 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
* Μπορείτε να χρησιμοποιήσετε κάποια υπηρεσία που σας δίνει τα **ιστορικά DNS records** του τομέα. Ίσως η ιστοσελίδα να τρέχει σε μια διεύθυνση IP που χρησιμοποιήθηκε στο παρελθόν.
* Το ίδιο θα μπορούσε να επιτευχθεί **ελέγχοντας ιστορικά SSL certificates** που θα μπορούσαν να δείχνουν στη διεύθυνση IP προέλευσης.
* Ελέγξτε επίσης **DNS records άλλων υποτομέων που δείχνουν απευθείας σε IPs**, καθώς είναι πιθανό άλλοι υποτομείς να δείχνουν στον ίδιο διακομιστή (ίσως για να προσφέρουν FTP, mail ή οποιαδήποτε άλλη υπηρεσία).
* Αν βρείτε ένα **SSRF μέσα στην εφαρμογή ιστού** μπορείτε να το εκμεταλλευτείτε για να αποκτήσετε τη διεύθυνση IP του διακομιστή.
* Αναζητήστε μια μοναδική αλφαριθμητική συμβολοσειρά της ιστοσελίδας σε προγράμματα περιήγησης όπως το shodan (και ίσως το google και παρόμοια;). Ίσως μπορέσετε να βρείτε μια διεύθυνση IP με αυτό το περιεχόμενο.
* Με παρόμοιο τρόπο, αντί να αναζητάτε μια μοναδική συμβολοσειρά, θα μπορούσατε να αναζητήσετε το favicon icon με το εργαλείο: [https://github.com/karma9874/CloudFlare-IP](https://github.com/karma9874/CloudFlare-IP) ή με [https://github.com/pielco11/fav-up](https://github.com/pielco11/fav-up)
* Αυτό δεν θα λειτουργήσει πολύ συχνά γιατί ο διακομιστής πρέπει να στείλει την ίδια απάντηση όταν προσπελάζεται από τη διεύθυνση IP, αλλά ποτέ δεν ξέρετε.
## Tools to uncover Cloudflare
* Αναζητήστε τον τομέα μέσα [http://www.crimeflare.org:82/cfs.html](http://www.crimeflare.org:82/cfs.html) ή [https://crimeflare.herokuapp.com](https://crimeflare.herokuapp.com). Ή χρησιμοποιήστε το εργαλείο [CloudPeler](https://github.com/zidansec/CloudPeler) (το οποίο χρησιμοποιεί αυτή την API)
* Αναζητήστε τον τομέα στο [https://leaked.site/index.php?resolver/cloudflare.0/](https://leaked.site/index.php?resolver/cloudflare.0/)
* [**CloudFlair**](https://github.com/christophetd/CloudFlair) είναι ένα εργαλείο που θα αναζητήσει χρησιμοποιώντας τα πιστοποιητικά Censys που περιέχουν το όνομα τομέα, στη συνέχεια θα αναζητήσει IPv4s μέσα σε αυτά τα πιστοποιητικά και τελικά θα προσπαθήσει να προσπελάσει την ιστοσελίδα σε αυτές τις IPs.
* [**CloakQuest3r**](https://github.com/spyboy-productions/CloakQuest3r): Το CloakQuest3r είναι ένα ισχυρό εργαλείο Python που έχει σχεδιαστεί προσεκτικά για να αποκαλύψει τη πραγματική διεύθυνση IP ιστοσελίδων που προστατεύονται από το Cloudflare και άλλες εναλλακτικές, μια ευρέως υιοθετημένη υπηρεσία ασφάλειας και βελτίωσης απόδοσης ιστού. Η κύρια αποστολή του είναι να διακρίνει με ακρίβεια τη πραγματική διεύθυνση IP των διακομιστών ιστού που είναι κρυμμένοι πίσω από την προστατευτική ασπίδα του Cloudflare.
* [Censys](https://search.censys.io/)
* [Shodan](https://shodan.io/)
* [Bypass-firewalls-by-DNS-history](https://github.com/vincentcox/bypass-firewalls-by-DNS-history)
* Αν έχετε ένα σύνολο πιθανών IPs όπου βρίσκεται η ιστοσελίδα, θα μπορούσατε να χρησιμοποιήσετε [https://github.com/hakluke/hakoriginfinder](https://github.com/hakluke/hakoriginfinder)
```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
```
## Uncovering Cloudflare from Cloud infrastructure
Σημειώστε ότι ακόμη και αν αυτό έγινε για μηχανές AWS, μπορεί να γίνει για οποιονδήποτε άλλο πάροχο cloud.
Για μια καλύτερη περιγραφή αυτής της διαδικασίας, ελέγξτε:
{% 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
```
## Παράκαμψη Cloudflare μέσω Cloudflare
### Αυθεντικοποιημένες Προβολές Προέλευσης
Αυτός ο μηχανισμός βασίζεται σε **client** [**SSL certificates**](https://socradar.io/how-to-monitor-your-ssl-certificates-expiration-easily-and-why/) **για την αυθεντικοποίηση των συνδέσεων** μεταξύ των **servers reverse-proxy** της **Cloudflare** και του **server** προέλευσης, που ονομάζεται **mTLS**.
Αντί να ρυθμίσουν το δικό τους πιστοποιητικό, οι πελάτες μπορούν απλά να χρησιμοποιήσουν το πιστοποιητικό της Cloudflare για να επιτρέψουν οποιαδήποτε σύνδεση από την Cloudflare, **ανεξαρτήτως του ενοικιαστή**.
{% hint style="danger" %}
Ως εκ τούτου, ένας επιτιθέμενος θα μπορούσε απλά να ρυθμίσει ένα **domain στην Cloudflare χρησιμοποιώντας το πιστοποιητικό της Cloudflare και να το κατευθύνει** στη διεύθυνση **IP** του **θύματος**. Με αυτόν τον τρόπο, ρυθμίζοντας το domain του εντελώς απροστάτευτο, η Cloudflare δεν θα προστατεύσει τα αιτήματα που αποστέλλονται.
{% endhint %}
Περισσότερες πληροφορίες [**εδώ**](https://socradar.io/cloudflare-protection-bypass-vulnerability-on-threat-actors-radar/).
### Λίστα Επιτρεπόμενων Διευθύνσεων IP της Cloudflare
Αυτό θα **απορρίψει τις συνδέσεις που δεν προέρχονται από τις** διευθύνσεις IP της **Cloudflare**. Αυτό είναι επίσης ευάλωτο στην προηγούμενη ρύθμιση όπου ένας επιτιθέμενος απλά **κατευθύνει το δικό του domain στην Cloudflare** στη διεύθυνση **IP** των θυμάτων και το επιτίθεται.
Περισσότερες πληροφορίες [**εδώ**](https://socradar.io/cloudflare-protection-bypass-vulnerability-on-threat-actors-radar/).
## Παράκαμψη Cloudflare για scraping
### Cache
Μερικές φορές απλά θέλετε να παρακάμψετε την Cloudflare για να κάνετε scraping της ιστοσελίδας. Υπάρχουν μερικές επιλογές για αυτό:
* Χρησιμοποιήστε την cache της Google: `https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog`
* Χρησιμοποιήστε άλλες υπηρεσίες cache όπως [https://archive.org/web/](https://archive.org/web/)
### Εργαλεία
Ορισμένα εργαλεία όπως τα παρακάτω μπορούν να παρακάμψουν (ή ήταν σε θέση να παρακάμψουν) την προστασία της Cloudflare κατά του scraping:
* [https://github.com/sarperavci/CloudflareBypassForScraping](https://github.com/sarperavci/CloudflareBypassForScraping)
### Cloudflare Solvers
Έχουν αναπτυχθεί αρκετοί λύτες Cloudflare:
* [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr)
* [cloudscraper](https://github.com/VeNoMouS/cloudscraper) [Οδηγός εδώ](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) \[Αρχειοθετημένο]
* [CloudflareSolverRe](https://github.com/RyuzakiH/CloudflareSolverRe)
### Ενισχυμένοι Headless Browsers <a href="#option-4-scrape-with-fortified-headless-browsers" id="option-4-scrape-with-fortified-headless-browsers"></a>
Χρησιμοποιήστε έναν headless browser που δεν ανιχνεύεται ως αυτοματοποιημένος browser (μπορεί να χρειαστεί να τον προσαρμόσετε γι' αυτό). Ορισμένες επιλογές είναι:
* **Puppeteer:** Το [stealth plugin](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth) για [puppeteer](https://github.com/puppeteer/puppeteer).
* **Playwright:** Το [stealth plugin](https://www.npmjs.com/package/playwright-stealth) έρχεται σύντομα στο Playwright. Ακολουθήστε τις εξελίξεις [εδώ](https://github.com/berstend/puppeteer-extra/issues/454) και [εδώ](https://github.com/berstend/puppeteer-extra/tree/master/packages/playwright-extra).
* **Selenium:** Το [undetected-chromedriver](https://github.com/ultrafunkamsterdam/undetected-chromedriver) είναι μια βελτιστοποιημένη επιδιόρθωση Selenium Chromedriver.
### Έξυπνος Proxy με Ενσωματωμένη Παράκαμψη Cloudflare <a href="#option-5-smart-proxy-with-cloudflare-built-in-bypass" id="option-5-smart-proxy-with-cloudflare-built-in-bypass"></a>
Οι **έξυπνοι proxies** ενημερώνονται συνεχώς από εξειδικευμένες εταιρείες, με στόχο να ξεπεράσουν τα μέτρα ασφαλείας της Cloudflare (καθώς αυτό είναι το επαγγελμα τους).
Ορισμένοι από αυτούς είναι:
* [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) είναι γνωστοί για τους ιδιόκτητους μηχανισμούς παράκαμψης της Cloudflare.
Για όσους αναζητούν μια βελτιστοποιημένη λύση, ο [ScrapeOps Proxy Aggregator](https://scrapeops.io/proxy-aggregator/) ξεχωρίζει. Αυτή η υπηρεσία ενσωματώνει πάνω από 20 παρόχους proxy σε μία μόνο API, επιλέγοντας αυτόματα τον καλύτερο και πιο οικονομικό proxy για τους στόχους σας, προσφέροντας έτσι μια ανώτερη επιλογή για την πλοήγηση στις άμυνες της Cloudflare.
### Αντίστροφη Μηχανική της Προστασίας κατά των Bots της Cloudflare <a href="#option-6-reverse-engineer-cloudflare-anti-bot-protection" id="option-6-reverse-engineer-cloudflare-anti-bot-protection"></a>
Η αντίστροφη μηχανική των μέτρων κατά των bots της Cloudflare είναι μια τακτική που χρησιμοποιούν οι πάροχοι έξυπνων proxy, κατάλληλη για εκτενή scraping ιστοσελίδων χωρίς το υψηλό κόστος λειτουργίας πολλών headless browsers.
**Πλεονεκτήματα:** Αυτή η μέθοδος επιτρέπει τη δημιουργία μιας εξαιρετικά αποτελεσματικής παράκαμψης που στοχεύει συγκεκριμένα τους ελέγχους της Cloudflare, ιδανική για μεγάλες κλίμακες.
**Μειονεκτήματα:** Το μειονέκτημα είναι η πολυπλοκότητα που εμπλέκεται στην κατανόηση και την εξαπάτηση του σκόπιμα ασαφούς συστήματος κατά των bots της Cloudflare, απαιτώντας συνεχή προσπάθεια για τη δοκιμή διαφορετικών στρατηγικών και την ενημέρωση της παράκαμψης καθώς η Cloudflare ενισχύει τις προστασίες της.
Βρείτε περισσότερες πληροφορίες σχετικά με το πώς να το κάνετε αυτό στο [πρωτότυπο άρθρο](https://scrapeops.io/web-scraping-playbook/how-to-bypass-cloudflare/).
## Αναφορές
* [https://scrapeops.io/web-scraping-playbook/how-to-bypass-cloudflare/](https://scrapeops.io/web-scraping-playbook/how-to-bypass-cloudflare/)
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο 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">\
Μάθετε & εξασκηθείτε στο 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>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}