13 KiB
Uncovering CloudFlare
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
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
- Wyszukaj domenę w http://www.crimeflare.org:82/cfs.html lub https://crimeflare.herokuapp.com. Lub użyj narzędzia CloudPeler (które używa tego API)
- Wyszukaj domenę w https://leaked.site/index.php?resolver/cloudflare.0/
- CloudFlair to narzędzie, które będzie wyszukiwać za pomocą certyfikatów Censys, które zawierają nazwę domeny, następnie wyszuka IPv4 w tych certyfikatach, a na koniec spróbuje uzyskać dostęp do strony internetowej na tych IP.
- CloakQuest3r: CloakQuest3r to potężne narzędzie Python, starannie zaprojektowane, aby odkryć prawdziwy adres IP stron internetowych chronionych przez Cloudflare i inne alternatywy, szeroko stosowaną usługę zabezpieczeń internetowych i poprawy wydajności. Jego główną misją jest dokładne rozpoznanie rzeczywistego adresu IP serwerów internetowych, które są ukryte za ochroną Cloudflare.
- Censys
- Shodan
- Bypass-firewalls-by-DNS-history
- Jeśli masz zestaw potencjalnych IP, gdzie znajduje się strona internetowa, możesz użyć 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
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ź:
{% 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
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ę.
{% hint style="danger" %} 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ń. {% endhint %}
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:
- FlareSolverr
- cloudscraper Przewodnik tutaj
- cloudflare-scrape
- CloudflareSolverRe
- Cloudflare-IUAM-Solver
- cloudflare-bypass [Zarchiwizowane]
- CloudflareSolverRe
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:
- Puppeteer: Wtyczka stealth dla puppeteer.
- Playwright: Wtyczka stealth wkrótce pojawi się w Playwright. Śledź rozwój tutaj i tutaj.
- Selenium: undetected-chromedriver to zoptymalizowana łatka do Selenium Chromedriver.
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:
- ScraperAPI
- Scrapingbee
- Oxylabs
- Smartproxy są znane z własnych mechanizmów obejścia Cloudflare.
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
{% hint style="success" %}
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
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się sztuczkami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.