mirror of
				https://github.com/HackTricks-wiki/hacktricks.git
				synced 2025-10-10 18:36:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			142 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Scoprire CloudFlare
 | |
| 
 | |
| {{#include ../../banners/hacktricks-training.md}}
 | |
| 
 | |
| ## Tecniche comuni per scoprire Cloudflare
 | |
| 
 | |
| - Puoi utilizzare un servizio che ti fornisce i **record DNS storici** del dominio. Forse la pagina web è in esecuzione su un indirizzo IP utilizzato in precedenza.
 | |
| - Lo stesso potrebbe essere ottenuto **controllando i certificati SSL storici** che potrebbero puntare all'indirizzo IP originale.
 | |
| - Controlla anche i **record DNS di altri sottodomini che puntano direttamente agli IP**, poiché è possibile che altri sottodomini puntino allo stesso server (forse per offrire FTP, posta o qualsiasi altro servizio).
 | |
| - Se trovi un **SSRF all'interno dell'applicazione web** puoi abusarne per ottenere l'indirizzo IP del server.
 | |
| - Cerca una stringa unica della pagina web in browser come shodan (e forse google e simili?). Forse puoi trovare un indirizzo IP con quel contenuto.
 | |
| - In modo simile, invece di cercare una stringa unica, potresti cercare l'icona favicon con lo strumento: [https://github.com/karma9874/CloudFlare-IP](https://github.com/karma9874/CloudFlare-IP) o con [https://github.com/pielco11/fav-up](https://github.com/pielco11/fav-up)
 | |
| - Questo non funzionerà molto frequentemente perché il server deve inviare la stessa risposta quando viene accesso dall'indirizzo IP, ma non si sa mai.
 | |
| 
 | |
| ## Strumenti per scoprire Cloudflare
 | |
| 
 | |
| - Cerca il dominio all'interno di [http://www.crimeflare.org:82/cfs.html](http://www.crimeflare.org:82/cfs.html) o [https://crimeflare.herokuapp.com](https://crimeflare.herokuapp.com). Oppure usa lo strumento [CloudPeler](https://github.com/zidansec/CloudPeler) (che utilizza quella API)
 | |
| - Cerca il dominio in [https://leaked.site/index.php?resolver/cloudflare.0/](https://leaked.site/index.php?resolver/cloudflare.0/)
 | |
| - [**CloudFlair**](https://github.com/christophetd/CloudFlair) è uno strumento che cercherà utilizzando i certificati Censys che contengono il nome del dominio, poi cercherà gli IPv4 all'interno di quei certificati e infine cercherà di accedere alla pagina web in quegli IP.
 | |
| - [**CloakQuest3r**](https://github.com/spyboy-productions/CloakQuest3r): CloakQuest3r è un potente strumento Python meticolosamente progettato per scoprire il vero indirizzo IP dei siti web protetti da Cloudflare e altre alternative, un servizio ampiamente adottato per la sicurezza web e il miglioramento delle prestazioni. La sua missione principale è discernere accuratamente il vero indirizzo IP dei server web che sono nascosti dietro lo scudo protettivo di Cloudflare.
 | |
| - [Censys](https://search.censys.io/)
 | |
| - [Shodan](https://shodan.io/)
 | |
| - [Bypass-firewalls-by-DNS-history](https://github.com/vincentcox/bypass-firewalls-by-DNS-history)
 | |
| - Se hai un insieme di IP potenziali dove si trova la pagina web, potresti usare [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
 | |
| ```
 | |
| ## Scoprire Cloudflare dall'infrastruttura cloud
 | |
| 
 | |
| Nota che anche se questo è stato fatto per macchine AWS, potrebbe essere fatto per qualsiasi altro fornitore di cloud.
 | |
| 
 | |
| Per una migliore descrizione di questo processo controlla:
 | |
| 
 | |
| {{#ref}}
 | |
| https://trickest.com/blog/cloudflare-bypass-discover-ip-addresses-aws/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks
 | |
| {{#endref}}
 | |
| ```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
 | |
| ```
 | |
| ## Bypassare Cloudflare attraverso Cloudflare
 | |
| 
 | |
| ### Pulls di Origine Autenticati
 | |
| 
 | |
| Questo meccanismo si basa su **client** [**certificati SSL**](https://socradar.io/how-to-monitor-your-ssl-certificates-expiration-easily-and-why/) **per autenticare le connessioni** tra i server **reverse-proxy** di **Cloudflare** e il server **origine**, chiamato **mTLS**.
 | |
| 
 | |
| Invece di configurare il proprio certificato, i clienti possono semplicemente utilizzare il certificato di Cloudflare per consentire qualsiasi connessione da Cloudflare, **indipendentemente dal tenant**.
 | |
| 
 | |
| > [!CAUTION]
 | |
| > Pertanto, un attaccante potrebbe semplicemente impostare un **dominio in Cloudflare utilizzando il certificato di Cloudflare e puntarlo** all'indirizzo **IP** del dominio **vittima**. In questo modo, impostando il suo dominio completamente non protetto, Cloudflare non proteggerà le richieste inviate.
 | |
| 
 | |
| Ulteriori informazioni [**qui**](https://socradar.io/cloudflare-protection-bypass-vulnerability-on-threat-actors-radar/).
 | |
| 
 | |
| ### Indirizzi IP di Cloudflare in Lista di Autorizzazione
 | |
| 
 | |
| Questo **rifiuterà le connessioni che non provengono dagli** intervalli di indirizzi IP di **Cloudflare**. Questo è anche vulnerabile alla configurazione precedente in cui un attaccante può semplicemente **puntare il proprio dominio in Cloudflare** all'indirizzo **IP** delle **vittime** e attaccarlo.
 | |
| 
 | |
| Ulteriori informazioni [**qui**](https://socradar.io/cloudflare-protection-bypass-vulnerability-on-threat-actors-radar/).
 | |
| 
 | |
| ## Bypassare Cloudflare per scraping
 | |
| 
 | |
| ### Cache
 | |
| 
 | |
| A volte vuoi solo bypassare Cloudflare per estrarre solo la pagina web. Ci sono alcune opzioni per questo:
 | |
| 
 | |
| - Usa la cache di Google: `https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog`
 | |
| - Usa altri servizi di cache come [https://archive.org/web/](https://archive.org/web/)
 | |
| 
 | |
| ### Strumenti
 | |
| 
 | |
| Alcuni strumenti come i seguenti possono bypassare (o sono stati in grado di bypassare) la protezione di Cloudflare contro lo scraping:
 | |
| 
 | |
| - [https://github.com/sarperavci/CloudflareBypassForScraping](https://github.com/sarperavci/CloudflareBypassForScraping)
 | |
| 
 | |
| ### Risolutori Cloudflare
 | |
| 
 | |
| Sono stati sviluppati diversi risolutori Cloudflare:
 | |
| 
 | |
| - [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr)
 | |
| - [cloudscraper](https://github.com/VeNoMouS/cloudscraper) [Guida qui](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) \[Archiviato]
 | |
| - [CloudflareSolverRe](https://github.com/RyuzakiH/CloudflareSolverRe)
 | |
| 
 | |
| ### Browser Headless Fortificati <a href="#option-4-scrape-with-fortified-headless-browsers" id="option-4-scrape-with-fortified-headless-browsers"></a>
 | |
| 
 | |
| Usa un browser headless che non venga rilevato come un browser automatizzato (potresti doverlo personalizzare per questo). Alcune opzioni sono:
 | |
| 
 | |
| - **Puppeteer:** Il [plugin stealth](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth) per [puppeteer](https://github.com/puppeteer/puppeteer).
 | |
| - **Playwright:** Il [plugin stealth](https://www.npmjs.com/package/playwright-stealth) arriverà presto in Playwright. Segui gli sviluppi [qui](https://github.com/berstend/puppeteer-extra/issues/454) e [qui](https://github.com/berstend/puppeteer-extra/tree/master/packages/playwright-extra).
 | |
| - **Selenium:** Il [undetected-chromedriver](https://github.com/ultrafunkamsterdam/undetected-chromedriver) è una patch ottimizzata per Selenium Chromedriver.
 | |
| 
 | |
| ### Proxy Intelligente Con Bypass Integrato di Cloudflare <a href="#option-5-smart-proxy-with-cloudflare-built-in-bypass" id="option-5-smart-proxy-with-cloudflare-built-in-bypass"></a>
 | |
| 
 | |
| I **proxy intelligenti** vengono continuamente aggiornati da aziende specializzate, con l'obiettivo di superare le misure di sicurezza di Cloudflare (poiché è il loro business).
 | |
| 
 | |
| Alcuni di essi sono:
 | |
| 
 | |
| - [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) sono noti per i loro meccanismi proprietari di bypass di Cloudflare.
 | |
| 
 | |
| Per coloro che cercano una soluzione ottimizzata, il [ScrapeOps Proxy Aggregator](https://scrapeops.io/proxy-aggregator/) si distingue. Questo servizio integra oltre 20 fornitori di proxy in un'unica API, selezionando automaticamente il miglior e più conveniente proxy per i tuoi domini target, offrendo così un'opzione superiore per navigare nelle difese di Cloudflare.
 | |
| 
 | |
| ### Ingegneria Inversa della Protezione Anti-Bot di Cloudflare <a href="#option-6-reverse-engineer-cloudflare-anti-bot-protection" id="option-6-reverse-engineer-cloudflare-anti-bot-protection"></a>
 | |
| 
 | |
| L'ingegneria inversa delle misure anti-bot di Cloudflare è una tattica utilizzata dai fornitori di proxy intelligenti, adatta per scraping web esteso senza l'alto costo di eseguire molti browser headless.
 | |
| 
 | |
| **Vantaggi:** Questo metodo consente di creare un bypass estremamente efficiente che mira specificamente ai controlli di Cloudflare, ideale per operazioni su larga scala.
 | |
| 
 | |
| **Svantaggi:** Lo svantaggio è la complessità coinvolta nella comprensione e nell'inganno del sistema anti-bot deliberatamente oscuro di Cloudflare, richiedendo uno sforzo continuo per testare diverse strategie e aggiornare il bypass man mano che Cloudflare migliora le sue protezioni.
 | |
| 
 | |
| Trova ulteriori informazioni su come farlo nell'[articolo originale](https://scrapeops.io/web-scraping-playbook/how-to-bypass-cloudflare/).
 | |
| 
 | |
| ## Riferimenti
 | |
| 
 | |
| - [https://scrapeops.io/web-scraping-playbook/how-to-bypass-cloudflare/](https://scrapeops.io/web-scraping-playbook/how-to-bypass-cloudflare/)
 | |
| 
 | |
| {{#include ../../banners/hacktricks-training.md}}
 |