hacktricks/network-services-pentesting/pentesting-web/uncovering-cloudflare.md

13 KiB
Raw Blame History

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
{% endhint %}

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

# 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:

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:

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ı:

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
{% endhint %}