Odkrywanie CloudFlare

Tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

Częste techniki odsłaniania Cloudflare

  • Możesz użyć serwisu, który udostępnia historyczne rekordy DNS domeny. Może strona działała kiedyś na innym IP address.
  • To samo można osiągnąć, sprawdzając historyczne certyfikaty SSL, które mogą wskazywać na origin IP address.
  • Sprawdź też rekordy DNS innych subdomains wskazujące bezpośrednio na IPs, ponieważ możliwe, że inne subdomeny wskazują na ten sam serwer (np. oferują FTP, mail lub inne usługi).
  • Jeśli znajdziesz SSRF w aplikacji webowej, możesz to wykorzystać, aby uzyskać IP address serwera.
  • Wyszukaj unikalny ciąg ze strony w wyszukiwarkach takich jak Shodan (a może Google i podobne). Być może znajdziesz IP address z taką zawartością.
  • Podobnie, zamiast szukać unikalnego ciągu, możesz wyszukać favicon za pomocą narzędzia: https://github.com/karma9874/CloudFlare-IP lub z https://github.com/pielco11/fav-up
  • To nie zadziała zbyt często, ponieważ serwer musi zwracać taką samą odpowiedź, gdy jest dostępny po IP address, ale nigdy nie wiadomo.

Narzędzia do odkrywania 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

Odkrywanie Cloudflare z infrastruktury chmurowej

Zauważ, że nawet jeśli zostało to wykonane dla maszyn AWS, można to zrobić dla dowolnego innego dostawcy chmury.

Aby uzyskać lepszy opis tego procesu, zobacz:

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

Omijanie Cloudflare przez Cloudflare

Authenticated Origin Pulls

Mechanizm ten opiera się na client SSL certificates do uwierzytelniania połączeń między Cloudflare’s reverse-proxy servers a origin server, co nazywa się mTLS.

Zamiast konfigurować własny certificate, klienci mogą po prostu użyć Cloudflare’s certificate, aby akceptować dowolne połączenie z Cloudflare, bez względu na tenant.

Caution

W związku z tym atakujący mógłby ustawić domenę w Cloudflare używając Cloudflare’s certificate i skierować ją na IP adres domeny ofiary. W ten sposób, ustawiając swoją domenę całkowicie niechronioną, Cloudflare nie będzie chronić wysyłanych żądań.

Więcej informacji here.

Allowlist Cloudflare IP Addresses

To będzie odrzucać połączenia, które nie pochodzą z zakresów IP Cloudflare. To także jest podatne na poprzednią konfigurację, w której atakujący po prostu wskazuje swoją domenę w Cloudflare na IP ofiary i atakuje ją.

Więcej informacji here.

Bypass Cloudflare for scraping

Cache

Czasami chcesz po prostu ominąć Cloudflare, aby pobrać stronę do scrape’owania. Masz kilka opcji:

  • Użyj Google cache: https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog
  • Użyj innych usług cache, takich jak https://archive.org/web/

Tools

Niektóre narzędzia, jak poniższe, potrafią ominąć (lub potrafiły ominąć) ochronę Cloudflare przed scrapingiem:

Cloudflare Solvers

Powstało kilka rozwiązań typu Cloudflare solver:

Fortified Headless Browsers

Użyj headless browser, który nie jest wykrywany jako przeglądarka automatyczna (może być konieczne jego dostosowanie). Niektóre opcje:

  • Puppeteer: The stealth plugin for puppeteer.
  • Playwright: The stealth plugin is coming to Playwright soon. Follow developments here and here.
  • Selenium: SeleniumBase to nowoczesny framework do automatyzacji przeglądarki z wbudowanymi możliwościami stealth. Oferuje dwa tryby: UC Mode, zoptymalizowana poprawka Selenium ChromeDriver oparta na undetected-chromedriver, oraz CDP Mode, która może omijać wykrywanie botów, rozwiązywać CAPTCHA i wykorzystywać zaawansowane metody z Chrome DevTools Protocol.

Smart Proxy With Cloudflare Built-In Bypass

Smart proxies są stale aktualizowane przez wyspecjalizowane firmy, które starają się przechytrzyć zabezpieczenia Cloudflare (to ich biznes).

Niektóre z nich to:

Dla szukających zoptymalizowanego rozwiązania, ScrapeOps Proxy Aggregator wyróżnia się. Usługa integruje ponad 20 dostawców proxy w jednym API, automatycznie wybierając najlepsze i najbardziej opłacalne proxy dla docelowych domen, oferując lepszą opcję do radzenia sobie z obroną Cloudflare.

Reverse Engineer Cloudflare Anti-Bot Protection

Reverse engineering mechanizmów anti-bot Cloudflare to taktyka stosowana przez smart proxy providers, odpowiednia do rozległego web scrapingu bez dużych kosztów uruchamiania wielu headless browsers.

Zalety: Metoda ta pozwala stworzyć niezwykle wydajne obejście, które celuje w konkretne kontrole Cloudflare, idealne dla operacji na dużą skalę.

Wady: Minusem jest złożoność związana ze zrozumieniem i oszukiwaniem celowo zamaskowanego systemu anti-bot Cloudflare, wymagająca ciągłego wysiłku w testowaniu różnych strategii i aktualizowaniu obejścia w miarę ulepszania ochrony przez Cloudflare.

Więcej informacji o tym, jak to zrobić, znajdziesz w original article.

References

Tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks