Uncovering CloudFlare

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Powszechne Techniki Odkrywania Cloudflare

  • Możesz skorzystać z usługi, która udostępnia historyczne rekordy DNS domeny. Być 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 adres IP źródłowy.

  • Sprawdź również rekordy DNS innych subdomen wskazujących bezpośrednio na adresy IP, ponieważ możliwe jest, że inne subdomeny wskazują na ten sam serwer (być może w celu oferowania FTP, poczty lub innej usługi).

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

  • Wyszukaj unikalny ciąg znaków strony internetowej w przeglądarkach takich jak shodan (a być może google i podobne?). Być może znajdziesz adres IP z tym treścią.

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

  • To nie będzie działać zbyt często, ponieważ serwer musi wysłać tę samą odpowiedź, gdy jest odwoływany przez adres IP, ale nigdy nie wiesz.

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 w infrastrukturze chmurowej

Należy zauważyć, że nawet jeśli ta czynność została wykonana dla maszyn AWS, można ją wykonać 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

Ominięcie Cloudflare poprzez Cloudflare

Uwierzytelnione Pochodzenie Pobierania

Ten mechanizm polega na certyfikatach SSL klienta do uwierzytelniania połączeń między serwerami odwrotnego proxy Cloudflare a serwerem pochodzenia, który jest nazywany mTLS.

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

Dlatego atakujący mógłby 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 będzie chronił wysyłanych żądań.

Więcej informacji tutaj.

Pozwól na adresy IP Cloudflare na białej liście

To spowoduje, że połączenia niepochodzące z adresów IP Cloudflare zostaną odrzucone. Jest to również podatne na wcześniejszą konfigurację, w której atakujący po prostu skieruje swoją własną domenę w Cloudflare na adres IP ofiary i ją zaatakuje.

Więcej informacji tutaj.

Ominięcie Cloudflare dla scrapingu

Pamięć podręczna

Czasami chcesz po prostu ominąć Cloudflare, aby tylko przeszukiwać stronę internetową. Istnieją na to pewne opcje:

  • 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ą ominąć (lub były w stanie ominąć) ochronę Cloudflare przed scrapowaniem:

Rozwiązania Cloudflare

Zostało opracowanych kilka rozwiązań Cloudflare:

Wzmocnione przeglądarki bezinterfejsowe

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

Inteligentny Proxy z wbudowanym ominięciem Cloudflare

Inteligentne proxy są ciągle aktualizowane przez specjalizowane firmy, dążąc do obejścia środków bezpieczeństwa Cloudflare (ponieważ to ich działalność).

Niektóre z nich to:

Dla tych, którzy szukają zoptymalizowanego rozwiązania, wyróżnia się Aggregator Proxy ScrapeOps. Ta usługa integruje ponad 20 dostawców proxy w jedno API, automatycznie wybierając najlepszy i najbardziej opłacalny proxy dla twoich domen docelowych, oferując tym samym doskonałą opcję do omijania obrony Cloudflare.

Odwrócenie Ochrony Przeciwbota Cloudflare

Odwracanie ochrony przeciwbota Cloudflare to taktyka stosowana przez dostawców inteligentnych proxy, odpowiednia do rozległego przeszukiwania stron internetowych bez wysokich kosztów związanych z uruchamianiem wielu przeglądarek bez interfejsu.

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

Wady: Wadą jest złożoność związana z zrozumieniem i oszukiwaniem celowo niejasnego systemu przeciwbota Cloudflare, wymagająca ciągłego wysiłku w testowaniu różnych strategii i aktualizacji ominięcia w miarę udoskonalania swojej ochrony przez Cloudflare.

Dowiedz się więcej na temat tego, jak to zrobić w oryginalnym artykule.

Referencje

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated