Uncovering CloudFlare

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Técnicas Comuns para Descobrir o Cloudflare

  • Você pode usar algum serviço que forneça os registros históricos de DNS do domínio. Talvez a página da web esteja sendo executada em um endereço IP usado anteriormente.

  • O mesmo pode ser alcançado verificando os certificados SSL históricos que podem estar apontando para o endereço IP de origem.

  • Verifique também os registros de DNS de outros subdomínios apontando diretamente para IPs, pois é possível que outros subdomínios estejam apontando para o mesmo servidor (talvez para oferecer FTP, e-mail ou qualquer outro serviço).

  • Se você encontrar um SSRF dentro da aplicação web, pode abusá-lo para obter o endereço IP do servidor.

  • Procure uma string única da página da web em navegadores como shodan (e talvez google e similares?). Talvez você possa encontrar um endereço IP com esse conteúdo.

  • De maneira semelhante, em vez de procurar uma string única, você pode procurar pelo ícone de favicon com a ferramenta: https://github.com/karma9874/CloudFlare-IP ou com https://github.com/pielco11/fav-up

  • Isso não funcionará com muita frequência porque o servidor deve enviar a mesma resposta quando é acessado pelo endereço IP, mas nunca se sabe.

Ferramentas para Descobrir o 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

Descobrindo o Cloudflare da infraestrutura na nuvem

Note que mesmo que isso tenha sido feito para máquinas da AWS, poderia ser feito para qualquer outro provedor de nuvem.

Para uma melhor descrição desse processo, confira:

# 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 o Cloudflare através do Cloudflare

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, chamado de mTLS.

Em vez de configurar seu próprio certificado, os clientes podem simplesmente usar o certificado do Cloudflare para permitir qualquer conexão do Cloudflare, independentemente do locatário.

Portanto, um atacante poderia simplesmente configurar 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, configurando seu domínio completamente desprotegido, o Cloudflare não protegerá as solicitações enviadas.

Mais informações aqui.

Permitir 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 apenas 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 raspar a página da web. Existem algumas opções para isso:

  • Use o cache do Google: https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog

  • Use outros serviços de cache como https://archive.org/web/

Ferramentas

Algumas ferramentas como as seguintes podem ignorar (ou foram capazes de ignorar) a proteção do Cloudflare contra scraping:

Solucionadores do Cloudflare

Vários solucionadores do Cloudflare foram desenvolvidos:

Navegadores Headless Fortificados

Use um navegador headless que não seja detectado como um navegador automatizado (você pode precisar personalizá-lo para isso). Algumas opções são:

Proxy Inteligente com Bypass Incorporado do Cloudflare

Os proxies inteligentes são continuamente atualizados por empresas especializadas, visando contornar as medidas de segurança do Cloudflare (pois esse é o seu negócio).

Alguns deles são:

Para aqueles que buscam uma solução otimizada, o Agregador de Proxy ScrapeOps se destaca. Este serviço integra mais de 20 provedores de proxy em uma única API, selecionando automaticamente o proxy melhor e mais econômico para seus domínios de destino, oferecendo assim uma opção superior para navegar pelas defesas do Cloudflare.

Engenharia Reversa da Proteção Anti-Bot do Cloudflare

A engenharia reversa das medidas anti-bot do Cloudflare é uma tática usada por provedores de proxy inteligentes, adequada para raspagem extensiva na web sem o alto custo de executar muitos navegadores headless.

Vantagens: Este método permite a criação de um bypass extremamente eficiente que visa especificamente as verificações do Cloudflare, ideal para operações em grande escala.

Desvantagens: A desvantagem é a complexidade envolvida em entender e enganar o sistema anti-bot deliberadamente obscuro do Cloudflare, exigindo esforço contínuo para testar diferentes estratégias e atualizar o bypass à medida que o Cloudflare aprimora suas proteções.

Encontre mais informações sobre como fazer isso no artigo original.

Referências

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Last updated