hacktricks/network-services-pentesting/pentesting-web/uncovering-cloudflare.md
2024-02-10 13:03:23 +00:00

12 KiB

Scoprire CloudFlare

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

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 risultato potrebbe essere ottenuto verificando i certificati SSL storici che potrebbero puntare all'indirizzo IP di origine.
  • Verifica 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 sfruttarlo 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, anziché cercare una stringa univoca, puoi cercare l'icona favicon con lo strumento: https://github.com/karma9874/CloudFlare-IP o con https://github.com/pielco11/fav-up
  • Questo non funzionerà molto frequentemente perché il server deve inviare la stessa risposta quando viene accesso tramite l'indirizzo IP, ma non si sa mai.

Strumenti per scoprire Cloudflare

# 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 da macchine Cloud

Nota che anche se questo è stato fatto per macchine AWS, potrebbe essere fatto per qualsiasi altro provider cloud.

Per una descrizione più dettagliata di questo processo, consulta:

{% 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

Bypassare Cloudflare tramite Cloudflare

Autenticazione delle richieste di origine

Questo meccanismo si basa su certificati SSL del client per autenticare le connessioni tra i server reverse-proxy di Cloudflare e il server origine, chiamato mTLS.

Invece di configurare il proprio certificato, i client possono semplicemente utilizzare il certificato di Cloudflare per consentire qualsiasi connessione da Cloudflare, indipendentemente dal tenant.

{% hint style="danger" %} 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. {% endhint %}

Ulteriori informazioni qui.

Consentire solo gli indirizzi IP di Cloudflare

Questo rifiuterà le connessioni che non provengono dagli intervalli di indirizzi IP di Cloudflare. Anche questa configurazione è vulnerabile alla situazione precedente in cui un attaccante punta il proprio dominio in Cloudflare all'indirizzo IP della vittima e la attacca.

Ulteriori informazioni qui.

Bypassare Cloudflare per lo scraping

Cache

A volte si desidera bypassare Cloudflare solo per fare scraping della pagina web. Ci sono alcune opzioni per farlo:

  • Utilizzare la cache di Google: https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog
  • Utilizzare altri servizi di cache come https://archive.org/web/

Risolutori di Cloudflare

Sono stati sviluppati diversi risolutori di Cloudflare:

Browser headless rinforzati

Utilizzare un browser headless che non venga rilevato come un browser automatizzato (potrebbe essere necessario personalizzarlo per questo). Alcune opzioni sono:

Proxy intelligente con bypass integrato di Cloudflare

I proxy intelligenti vengono continuamente aggiornati da aziende specializzate, con l'obiettivo di eludere le misure di sicurezza di Cloudflare (poiché questa è la loro attività).

Alcuni di essi sono:

Per coloro che cercano una soluzione ottimizzata, spicca il ScrapeOps Proxy Aggregator. Questo servizio integra oltre 20 provider di proxy in un'unica API, selezionando automaticamente il proxy migliore e più conveniente per i tuoi domini di destinazione, offrendo così un'opzione superiore per navigare le difese di Cloudflare.

Ingegneria inversa della protezione anti-bot di Cloudflare

L'ingegneria inversa delle misure anti-bot di Cloudflare è una tattica utilizzata dai fornitori di proxy intelligenti, adatta per lo scraping web estensivo senza l'elevato costo di esecuzione di molti browser headless.

Vantaggi: Questo metodo consente la creazione di un bypass estremamente efficiente che mira specificamente ai controlli di Cloudflare, ideale per operazioni su larga scala.

Svantaggi: Lo svantaggio è la complessità nel comprendere e ingannare il sistema anti-bot di Cloudflare, deliberatamente oscuro, 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 fare ciò nell'articolo originale.

Riferimenti

Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks: