Uncovering CloudFlare

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Common Techniques to Uncover Cloudflare

  • Możesz użyć usługi, która daje ci historyczne rekordy DNS domeny. Może strona internetowa działa na adresie IP używanym wcześniej.

  • To samo można osiągnąć sprawdzając historyczne certyfikaty SSL, które mogą wskazywać na oryginalny adres IP.

  • Sprawdź również rekordy DNS innych subdomen wskazujących bezpośrednio na IP, ponieważ możliwe, że inne subdomeny wskazują na ten sam serwer (może aby oferować FTP, pocztę lub jakąkolwiek inną usługę).

  • Jeśli znajdziesz SSRF wewnątrz aplikacji webowej, możesz to wykorzystać, aby uzyskać adres IP serwera.

  • Wyszukaj unikalny ciąg ze strony internetowej w przeglądarkach takich jak shodan (a może google i podobne?). Może znajdziesz adres IP z tą treścią.

  • W podobny sposób, zamiast szukać unikalnego ciągu, możesz wyszukiwać ikonę favicon za pomocą narzędzia: https://github.com/karma9874/CloudFlare-IP lub z https://github.com/pielco11/fav-up

  • To nie będzie działać zbyt często, ponieważ serwer musi wysyłać tę samą odpowiedź, gdy jest dostępny przez adres IP, ale nigdy nie wiadomo.

Tools to uncover 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

Uncovering Cloudflare from Cloud infrastructure

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

Aby uzyskać lepszy opis tego procesu, sprawdź:

# 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

Obejście Cloudflare przez Cloudflare

Uwierzytelnione pobieranie z serwera źródłowego

Ten mechanizm opiera się na certyfikatach SSL klienta SSL certificates do uwierzytelniania połączeń między serwerami proxy odwrotnym Cloudflare a serwerem źródłowym, co nazywa się mTLS.

Zamiast konfigurować własny certyfikat, klienci mogą po prostu użyć certyfikatu Cloudflare, aby umożliwić każde połączenie z Cloudflare, bez względu na najemcę.

Dlatego atakujący może po prostu ustawić domenę w Cloudflare, używając certyfikatu Cloudflare i skierować ją na adres IP domeny ofiary. W ten sposób, ustawiając swoją domenę całkowicie niechronioną, Cloudflare nie ochroni wysyłanych żądań.

Więcej informacji tutaj.

Lista dozwolonych adresów IP Cloudflare

To odrzuci połączenia, które nie pochodzą z zakresów adresów IP Cloudflare. To również jest podatne na wcześniejsze ustawienie, w którym atakujący po prostu skieruje swoją własną domenę w Cloudflare na adres IP ofiary i zaatakuje ją.

Więcej informacji tutaj.

Obejście Cloudflare w celu skrobania

Cache

Czasami chcesz po prostu obejść Cloudflare, aby tylko skrobać stronę internetową. Istnieje kilka opcji na to:

  • Użyj pamięci podręcznej Google: https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog

  • Użyj innych usług pamięci podręcznej, takich jak https://archive.org/web/

Narzędzia

Niektóre narzędzia, takie jak poniższe, mogą obejść (lub były w stanie obejść) ochronę Cloudflare przed skrobaniem:

Rozwiązania Cloudflare

Opracowano szereg rozwiązań Cloudflare:

Wzmocnione przeglądarki bez interfejsu graficznego

Użyj przeglądarki bez interfejsu graficznego, która nie jest wykrywana jako zautomatyzowana przeglądarka (możesz potrzebować ją dostosować do tego). Niektóre opcje to:

Inteligentny proxy z wbudowanym obejściem Cloudflare

Inteligentne proxy są ciągle aktualizowane przez wyspecjalizowane firmy, mające na celu przechytrzenie środków bezpieczeństwa Cloudflare (to ich biznes).

Niektóre z nich to:

Dla tych, którzy szukają zoptymalizowanego rozwiązania, ScrapeOps Proxy Aggregator wyróżnia się. Ta usługa integruje ponad 20 dostawców proxy w jednym API, automatycznie wybierając najlepsze i najbardziej opłacalne proxy dla Twoich docelowych domen, oferując w ten sposób lepszą opcję nawigacji przez zabezpieczenia Cloudflare.

Inżynieria wsteczna ochrony przed botami Cloudflare

Inżynieria wsteczna środków ochrony przed botami Cloudflare to taktyka stosowana przez dostawców inteligentnych proxy, odpowiednia do rozległego skrobania sieci bez wysokich kosztów uruchamiania wielu przeglądarek bez interfejsu graficznego.

Zalety: Ta metoda pozwala na stworzenie niezwykle efektywnego obejścia, które celuje w kontrole Cloudflare, idealne do operacji na dużą skalę.

Wady: Wadą jest złożoność związana z rozumieniem i oszukiwaniem celowo niejasnego systemu ochrony przed botami Cloudflare, co wymaga ciągłego wysiłku w testowaniu różnych strategii i aktualizacji obejścia, gdy Cloudflare wzmacnia swoje zabezpieczenia.

Znajdź więcej informacji na temat tego, jak to zrobić w oryginalnym artykule.

Odnośniki

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)

Wsparcie dla HackTricks

Last updated