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

13 KiB

Scoprire CloudFlare

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

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 potrebbe essere ottenuto controllando i certificati SSL storici che potrebbero puntare all'indirizzo IP di origine.
  • 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 univoca della pagina web nei 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, potresti 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 dall'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 dall'infrastruttura cloud

Nota che anche se questo è stato fatto per le macchine AWS, potrebbe essere fatto per qualsiasi altro fornitore di servizi cloud.

Per una descrizione più dettagliata di questo processo controlla:

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

Eludere Cloudflare tramite Cloudflare

Autenticazione delle Origini

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 clienti 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 della vittima. In questo modo, impostando il suo dominio completamente non protetto, Cloudflare non proteggerà le richieste inviate. {% endhint %}

Maggiori informazioni qui.

Consentire solo gli Indirizzi IP di Cloudflare

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

Maggiori informazioni qui.

Eludere Cloudflare per lo scraping

Cache

A volte si desidera semplicemente eludere Cloudflare per fare lo 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/

Strumenti

Alcuni strumenti come i seguenti possono eludere (o sono stati in grado di eludere) la protezione di Cloudflare contro lo scraping:

Risolutori di Cloudflare

Sono stati sviluppati diversi risolutori di Cloudflare:

Browser Headless Fortificati

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

Proxy Intelligente con Elusione Integrata di Cloudflare

I proxy intelligenti sono continuamente aggiornati da aziende specializzate, con l'obiettivo di superare le misure di sicurezza di Cloudflare (poiché è il loro business).

Alcuni di essi sono:

Per coloro che cercano una soluzione ottimizzata, spicca il ScrapeOps Proxy Aggregator. Questo servizio integra oltre 20 fornitori 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'alto costo di eseguire molti browser headless.

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

Svantaggi: Il downside è la complessità coinvolta nel comprendere e ingannare il sistema anti-bot di Cloudflare deliberatamente oscuro, richiedendo uno sforzo continuo per testare diverse strategie e aggiornare l'elusione man mano che Cloudflare potenzia le sue protezioni.

Trova ulteriori informazioni su come fare ciò nell'articolo originale.

Riferimenti

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

Altri modi per supportare HackTricks: