13 KiB
Descubriendo CloudFlare
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén el swag oficial de PEASS & HackTricks
- Únete al 💬 grupo de Discord o al grupo de Telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Técnicas para intentar descubrir servidores web detrás de CloudFlare:
Técnicas
- También puedes utilizar algún servicio que te proporcione los registros DNS históricos del dominio. Tal vez la página web se esté ejecutando en una dirección IP utilizada anteriormente.
- Lo mismo se puede lograr verificando los certificados SSL históricos que podrían estar apuntando a la dirección IP de origen.
- Comprueba también los registros DNS de otros subdominios que apunten directamente a IPs, ya que es posible que otros subdominios estén apuntando al mismo servidor (quizás para ofrecer FTP, correo electrónico u otro servicio).
- Si encuentras un SSRF dentro de la aplicación web, puedes abusar de él para obtener la dirección IP del servidor.
Busca una cadena única de la página web en buscadores como Shodan (y tal vez Google y similares). Tal vez puedas encontrar una dirección IP con ese contenido.
- De manera similar, en lugar de buscar una cadena única, puedes buscar el icono del favicon con la herramienta: https://github.com/karma9874/CloudFlare-IP o con https://github.com/pielco11/fav-up
- Esto no funcionará con mucha frecuencia porque el servidor debe enviar la misma respuesta cuando se accede mediante la dirección IP, pero nunca se sabe.
Herramientas
- Busca el dominio en http://www.crimeflare.org:82/cfs.html o https://crimeflare.herokuapp.com. O utiliza la herramienta CloudPeler (que utiliza esa API)
- Busca el dominio en https://leaked.site/index.php?resolver/cloudflare.0/
- CloudFlair es una herramienta que buscará certificados de Censys que contengan el nombre de dominio, luego buscará direcciones IPv4 dentro de esos certificados y finalmente intentará acceder a la página web en esas IPs.
- Censys
- Shodan
- Bypass-firewalls-by-DNS-history
- Si tienes un conjunto de posibles IPs donde se encuentra la página web, puedes utilizar https://github.com/hakluke/hakoriginfinder
# 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
Descubriendo Cloudflare desde máquinas de AWS
Para obtener una mejor descripción de este proceso, 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
Bypassando Cloudflare através do Cloudflare
Autenticação de Origem Autenticada
Esse mecanismo depende de certificados SSL do cliente para autenticar as conexões entre os servidores de proxy reverso do Cloudflare e o servidor de origem, o que é chamado de mTLS.
Em vez de configurar seu próprio certificado, o cliente pode simplesmente usar o certificado do Cloudflare para permitir qualquer conexão do Cloudflare, independentemente do locatário.
{% hint style="danger" %} Portanto, um atacante pode simplesmente definir um domínio no Cloudflare usando o certificado do Cloudflare e apontá-lo para o endereço IP do domínio da vítima. Dessa forma, definindo seu domínio completamente desprotegido, o Cloudflare não protegerá as solicitações enviadas. {% endhint %}
Mais informações aqui.
Permitir apenas endereços IP do Cloudflare
Isso irá rejeitar conexões que não se originam dos intervalos de endereços IP do Cloudflare. Isso também é vulnerável à configuração anterior, onde um atacante simplesmente aponta seu próprio domínio no Cloudflare para o endereço IP da vítima e a ataca.
Mais informações aqui.
Bypass do Cloudflare para scraping
Cache
Às vezes, você só quer ignorar o Cloudflare para fazer o scraping da página da web. Existem algumas opções para isso:
- Usar o cache do Google:
https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog
- Usar outros serviços de cache, como https://archive.org/web/
Solucionadores do Cloudflare
Foram desenvolvidos vários solucionadores do Cloudflare:
- FlareSolverr
- cloudscraper Guia aqui
- cloudflare-scrape
- CloudflareSolverRe
- Cloudflare-IUAM-Solver
- cloudflare-bypass [Arquivado]
- CloudflareSolverRe
Navegadores Headless Fortificados
A outra opção é fazer todo o trabalho de scraping com um navegador headless que foi fortificado para se parecer com um navegador de usuário real:
- Puppeteer: O plugin stealth para puppeteer.
- Playwright: O plugin stealth está chegando em breve para o Playwright. Acompanhe os desenvolvimentos aqui e aqui.
- Selenium: O undetected-chromedriver, um patch otimizado do Selenium Chromedriver.
Proxy Inteligente com Bypass Integrado do Cloudflare
A alternativa ao uso de bypasses do Cloudflare de código aberto é usar proxies inteligentes que desenvolvem e mantêm seus próprios bypasses privados do Cloudflare.
Esses proxies geralmente são mais confiáveis, pois é mais difícil para o Cloudflare desenvolver correções para eles, e são desenvolvidos por empresas de proxy que têm motivação financeira para ficar um passo à frente do Cloudflare e corrigir seus bypasses assim que pararem de funcionar.
A maioria dos provedores de proxy inteligentes (ScraperAPI, Scrapingbee, Oxylabs, Smartproxy) possuem algum tipo de bypass do Cloudflare que funcionam em diferentes graus e variam em custo.
No entanto, uma das melhores opções é usar o ScrapeOps Proxy Aggregator, pois ele integra mais de 20 provedores de proxy na mesma API de proxy e encontra o provedor de proxy melhor/mais barato para seus domínios de destino.
Engenharia Reversa da Proteção Anti-Bot do Cloudflare
Essa abordagem funciona (e é o que muitas soluções de proxy inteligentes fazem), no entanto, não é para os fracos de coração.
Vantagens: A vantagem dessa abordagem é que, se você estiver fazendo scraping em grande escala e não quiser executar centenas (se não milhares) de instâncias caras de navegadores completos sem cabeça, você pode desenvolver o bypass do Cloudflare mais eficiente em termos de recursos possível. Um que seja projetado exclusivamente para passar nos testes de impressão digital do Cloudflare JS, TLS e IP.
Desvantagens: As desvantagens dessa abordagem são que você terá que mergulhar fundo em um sistema anti-bot que foi propositalmente difícil de entender do lado de fora e testar diferentes técnicas para enganar seu sistema de verificação. Em seguida, você terá que manter esse sistema à medida que o Cloudflare continua a desenvolver sua proteção anti-bot.
Referências
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de segurança cibernética? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Verifique os PLANOS DE ASSINATURA!
- Descubra The PEASS Family, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Únete al 💬 grupo de Discord o al grupo de Telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.