Odkrywanie CloudFlare
Reading time: 7 minutes
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Powszechne techniki odkrywania Cloudflare
- Możesz skorzystać z 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 w celu oferowania FTP, poczty lub jakiejkolwiek innej usługi).
- Jeśli znajdziesz SSRF w 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 tymi treściami.
- W podobny sposób, zamiast szukać unikalnego ciągu, możesz poszukać ikony 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 wysyłać tę samą odpowiedź, gdy jest dostępny przez adres IP, ale nigdy nie wiadomo.
Narzędzia do odkrywania Cloudflare
- Wyszukaj domenę w http://www.crimeflare.org:82/cfs.html lub https://crimeflare.herokuapp.com. Lub użyj narzędzia CloudPeler (które korzysta z 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 do odkrywania prawdziwego adresu 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 ochronnym płaszczem 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
Odkrywanie Cloudflare z infrastruktury chmurowej
Zauważ, że nawet jeśli to zostało zrobione dla maszyn AWS, można to zrobić dla dowolnego innego dostawcy chmurowego.
Aby uzyskać lepszy opis tego procesu, sprawdź:
{{#ref}} https://trickest.com/blog/cloudflare-bypass-discover-ip-addresses-aws/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks {{#endref}}
# 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 pobierania z serwera źródłowego
Ten mechanizm opiera się na certyfikatach SSL klienta 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ę.
ostrzeżenie
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 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 poprzednią konfigurację, w której 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 dla 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 bezgłowe
Użyj przeglądarki bezgłowej, 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 zabezpieczeń 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 najtańsze proxy dla Twoich docelowych domen, oferując w ten sposób lepszą opcję nawigacji przez zabezpieczenia Cloudflare.
Inżynieria wsteczna ochrony anty-botowej Cloudflare
Inżynieria wsteczna środków anty-botowych Cloudflare to taktyka stosowana przez dostawców inteligentnych proxy, odpowiednia do rozległego skrobania sieci bez wysokich kosztów uruchamiania wielu przeglądarek bezgłowych.
Zalety: Ta metoda pozwala na stworzenie niezwykle efektywnego obejścia, które celowo atakuje kontrole Cloudflare, idealne do operacji na dużą skalę.
Wady: Wadą jest złożoność związana z rozumieniem i oszukiwaniem celowo niejasnego systemu anty-botowego 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
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.