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
- Alanın tarihi DNS kayıtlarını veren bir hizmet kullanabilirsiniz. Belki web sayfası daha önce kullanılan bir IP adresinde çalışıyordur.
- Tarihi SSL sertifikalarını kontrol ederek de aynı sonuca ulaşabilirsiniz; bu sertifikalar orijinal IP adresine işaret ediyor olabilir.
- Ayrıca IP'lere doğrudan işaret eden diğer alt alan adlarının DNS kayıtlarını kontrol edin; diğer alt alan adlarının aynı sunucuya işaret etmesi mümkündür (belki FTP, mail veya başka bir hizmet sunmak için).
- Eğer web uygulaması içinde bir SSRF bulursanız, bunu sunucunun IP adresini elde etmek için kötüye kullanabilirsiniz.
- Shodan gibi tarayıcılarda web sayfasının benzersiz bir dizesini arayın (belki google ve benzerlerinde?). Belki bu içerikle bir IP adresi bulabilirsiniz.
- Benzer bir şekilde, benzersiz bir dize aramak yerine, https://github.com/karma9874/CloudFlare-IP aracıyla veya https://github.com/pielco11/fav-up ile favicon simgesini arayabilirsiniz.
- Bu çok sık çalışmayacak çünkü sunucu IP adresiyle erişildiğinde aynı yanıtı göndermelidir, ama asla bilemezsiniz.
Tools to uncover Cloudflare
- Alan adını http://www.crimeflare.org:82/cfs.html veya https://crimeflare.herokuapp.com içinde arayın. Ya da CloudPeler aracını kullanın (bu API'yi kullanır).
- Alan adını https://leaked.site/index.php?resolver/cloudflare.0/ içinde arayın.
- CloudFlair, alan adını içeren Censys sertifikalarını kullanarak arama yapacak bir araçtır, ardından bu sertifikalar içindeki IPv4'leri arayacak ve nihayetinde bu IP'lerdeki web sayfasına erişmeye çalışacaktır.
- CloakQuest3r: CloakQuest3r, Cloudflare ve diğer alternatifler tarafından korunan web sitelerinin gerçek IP adresini ortaya çıkarmak için titizlikle hazırlanmış güçlü bir Python aracıdır. Temel misyonu, Cloudflare'ın koruyucu kalkanının arkasında gizlenmiş web sunucularının gerçek IP adresini doğru bir şekilde belirlemektir.
- Censys
- Shodan
- Bypass-firewalls-by-DNS-history
- Web sayfasının bulunduğu potansiyel IP'ler setine sahipseniz, https://github.com/hakluke/hakoriginfinder kullanabilirsiniz.
# 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
Not edin ki bu AWS makineleri için yapılmış olsa da, bu herhangi bir başka bulut sağlayıcısı için de yapılabilir.
Bu sürecin daha iyi bir tanımı için kontrol edin:
{% 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
Cloudflare'ı Cloudflare ile Aşmak
Kimlik Doğrulamalı Kaynak Çekimleri
Bu mekanizma, Cloudflare’ın ters proxy sunucuları ile kaynak sunucusu arasındaki bağlantıları kimlik doğrulamak için istemci SSL sertifikaları kullanır ve buna mTLS denir.
Kendi sertifikasını yapılandırmak yerine, müşteriler Cloudflare’ın sertifikasını kullanarak Cloudflare'dan gelen herhangi bir bağlantıya izin verebilirler, kiracıdan bağımsız olarak.
{% hint style="danger" %} Bu nedenle, bir saldırgan sadece Cloudflare'da bir alan adı ayarlayıp Cloudflare'ın sertifikasını kullanarak bunu kurban alan adı IP adresine yönlendirebilir. Bu şekilde, alan adını tamamen korumasız bırakarak, Cloudflare gönderilen istekleri korumayacaktır. {% endhint %}
Daha fazla bilgi burada.
Cloudflare IP Adreslerini Beyaz Listeye Alma
Bu, Cloudflare’ın IP adresi aralıklarından gelmeyen bağlantıları reddedecektir. Bu, bir saldırganın sadece Cloudflare'da kendi alan adını kurbanın IP adresine yönlendirmesi durumunda önceki kurulum için de savunmasızdır.
Daha fazla bilgi burada.
Scraping için Cloudflare'ı Aşmak
Önbellek
Bazen sadece web sayfasını kazımak için Cloudflare'ı aşmak istersiniz. Bunun için bazı seçenekler vardır:
- Google önbelleğini kullanın:
https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog
- https://archive.org/web/ gibi diğer önbellek hizmetlerini kullanın.
Araçlar
Aşağıdaki gibi bazı araçlar, Cloudflare'ın scraping'e karşı korumasını aşabilir (veya aşabilmiştir):
Cloudflare Çözücüleri
Bir dizi Cloudflare çözücüsü geliştirilmiştir:
- FlareSolverr
- cloudscraper Rehber burada
- cloudflare-scrape
- CloudflareSolverRe
- Cloudflare-IUAM-Solver
- cloudflare-bypass [Arşivlendi]
- CloudflareSolverRe
Güçlendirilmiş Başsız Tarayıcılar
Otomatik bir tarayıcı olarak algılanmayan bir başsız tarayıcı kullanın (bunun için özelleştirmeniz gerekebilir). Bazı seçenekler:
- Puppeteer: puppeteer için gizlilik eklentisi.
- Playwright: gizlilik eklentisi yakında Playwright'a geliyor. Gelişmeleri burada ve burada takip edin.
- Selenium: undetected-chromedriver optimize edilmiş bir Selenium Chromedriver yaması.
Cloudflare Yerleşik Bypass ile Akıllı Proxy
Akıllı proxyler, Cloudflare'ın güvenlik önlemlerini aşmayı hedefleyen özel şirketler tarafından sürekli güncellenmektedir (çünkü bu onların işidir).
Bunlardan bazıları:
- ScraperAPI
- Scrapingbee
- Oxylabs
- Smartproxy kendi Cloudflare bypass mekanizmaları ile tanınmaktadır.
Optimize edilmiş bir çözüm arayanlar için, ScrapeOps Proxy Aggregator öne çıkmaktadır. Bu hizmet, 20'den fazla proxy sağlayıcısını tek bir API'de entegre ederek, hedef alan adlarınız için en iyi ve en maliyet etkin proxy'yi otomatik olarak seçer ve böylece Cloudflare'ın savunmalarını aşmak için üstün bir seçenek sunar.
Cloudflare Anti-Bot Korumasını Tersine Mühendislik
Cloudflare'ın anti-bot önlemlerini tersine mühendislik yapmak, akıllı proxy sağlayıcıları tarafından kullanılan bir taktiktir ve çok sayıda başsız tarayıcı çalıştırmanın yüksek maliyetinden kaçınarak geniş çaplı web scraping için uygundur.
Avantajlar: Bu yöntem, Cloudflare'ın kontrollerini hedef alan son derece verimli bir bypass oluşturulmasına olanak tanır, büyük ölçekli operasyonlar için idealdir.
Dezavantajlar: Dezavantajı, Cloudflare'ın kasıtlı olarak belirsiz anti-bot sistemini anlamak ve kandırmakla ilgili karmaşıklıktır; bu, farklı stratejileri test etmek ve Cloudflare korumalarını güçlendirdikçe bypass'ı güncellemek için sürekli çaba gerektirir.
Bunu nasıl yapacağınız hakkında daha fazla bilgi için orijinal makaleye bakın.
Referanslar
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da 🐦 @hacktricks_live bizi takip edin.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.