12 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 y 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 usar algún servicio que te dé los registros históricos de DNS del dominio. Tal vez la página web se esté ejecutando en una dirección IP utilizada anteriormente.
- Lo mismo se puede lograr comprobando 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 apuntan directamente a IPs, ya que es posible que otros subdominios estén apuntando al mismo servidor (tal vez para ofrecer FTP, correo electrónico o cualquier 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 navegadores 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 de favicon con la herramienta: [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)
* Esto no funcionará con mucha frecuencia porque el servidor debe enviar la misma respuesta cuando se accede por la dirección IP, pero nunca se sabe.
Herramientas
- Busca el dominio dentro de 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á utilizando los certificados de Censys que contienen el nombre de dominio, luego buscará IPv4 dentro de esos certificados y finalmente intentará acceder a la página web en esos IPs.
- Censys
- Shodan
- Bypass-firewalls-by-DNS-history
- Si tienes un conjunto de IPs potenciales donde se encuentra la página web, puedes usar 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, consulte:
{% 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
Bypass de Cloudflare para hacer scraping
Caché
A veces solo quieres hacer scraping de una página web y saltarte Cloudflare. Hay algunas opciones para esto:
- Usa la caché de Google:
https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog
- Usa otros servicios de caché como https://archive.org/web/
Solucionadores de Cloudflare
Se han desarrollado varios solucionadores de Cloudflare:
- FlareSolverr
- cloudscraper Guía aquí
- cloudflare-scrape
- CloudflareSolverRe
- Cloudflare-IUAM-Solver
- cloudflare-bypass [Archivado]
- CloudflareSolverRe
Navegadores sin cabeza fortificados
La otra opción es hacer todo el trabajo de scraping con un navegador sin cabeza que ha sido fortificado para parecerse al navegador de un usuario real:
- Puppeteer: El plugin stealth para puppeteer.
- Playwright: El plugin stealth llegará pronto a Playwright. Sigue los desarrollos aquí y aquí.
- Selenium: El undetected-chromedriver es un parche optimizado de Selenium Chromedriver.
Proxy inteligente con bypass integrado de Cloudflare
La alternativa a usar bypasses de Cloudflare de código abierto es usar proxies inteligentes que desarrollen y mantengan sus propios bypasses privados de Cloudflare.
Estos suelen ser más confiables ya que es más difícil para Cloudflare desarrollar parches para ellos, y son desarrollados por compañías de proxy que están financieramente motivadas para estar un paso por delante de Cloudflare y arreglar sus bypasses en el momento en que dejen de funcionar.
La mayoría de los proveedores de proxy inteligentes (ScraperAPI, Scrapingbee, Oxylabs, Smartproxy) tienen algún tipo de bypass de Cloudflare que funciona en diferentes grados y varía en costo.
Sin embargo, una de las mejores opciones es usar el Agregador de Proxy de ScrapeOps ya que integra más de 20 proveedores de proxy en la misma API de proxy y encuentra el proveedor de proxy mejor y más barato para tus dominios objetivo.
Ingeniería inversa de la protección anti-bot de Cloudflare
Este enfoque funciona (y es lo que hacen muchas soluciones de proxy inteligentes), sin embargo, no es para los débiles de corazón.
Ventajas: La ventaja de este enfoque es que si estás haciendo scraping a gran escala y no quieres ejecutar cientos (si no miles) de costosas instancias completas de navegadores sin cabeza, puedes desarrollar el bypass de Cloudflare más eficiente en recursos posible. Uno que esté diseñado únicamente para pasar las pruebas de huellas digitales de JS, TLS e IP de Cloudflare.
Desventajas: Las desventajas de este enfoque es que tendrás que sumergirte profundamente en un sistema anti-bot que ha sido hecho a propósito difícil de entender desde el exterior, y probar diferentes técnicas para engañar su sistema de verificación. Luego, mantener este sistema a medida que Cloudflare continúa desarrollando su protección anti-bot.
Referencias
☁️ 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 de NFTs exclusivos.
- Consigue el swag oficial de PEASS y HackTricks
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.