WAF Arkasındaki Maskeyi Düşürmek: Gerçek IP Adresi Avcılığı
Siber kalkanları bypass ederek hedefi çıplak bırakma teknikleri (Offensive Reconnaissance)
Web Uygulaması Güvenlik Duvarları (WAF) modern siteleri koruyan en önemli kalkanlardır. Bu teknik rehberde, bir Red Team operasyonunun başında WAF arkasına gizlenmiş gerçek kaynak IP adreslerinin (Origin IP) tarihsel DNS kayıtları, SSL sertifika şeffaflık logları ve MX kayıtları üzerinden nasıl avlandığını; curl ve /etc/hosts ile WAF'ın nasıl bypass edildiğini ve Blue Team tarafında bu sızıntının nasıl kapatılacağını inceliyoruz.
Giriş
Hedef aldığınız kurumsal web sitesine sızmak için gelişmiş zafiyet tarayıcılarınızı çalıştırdınız, ancak attığınız her ofansif istek Cloudflare, Akamai veya benzeri bir WAF (Web Application Firewall) duvarına çarparak engellendi mi? Modern siber dünyada şirketler, sunucularını doğrudan internete açmak yerine bu siber kalkanların arkasına gizlerler. Bu durum, saldırganların veya sızma testi uzmanlarının (pentester) doğrudan sunucuya ulaşmasını ve işletim sistemi seviyesinde zafiyet araması yapmasını tamamen engeller.
Ancak Red Team operasyonlarında çok iyi bilinen bir gerçek vardır: Koruma kalkanı ne kadar güçlü olursa olsun, eğer sunucunun internete bakan Origin IP (Gerçek IP) adresi bir şekilde dışarıya sızdıysa, WAF tamamen işlevsiz hale getirilebilir. Saldırganlar gerçek IP adresini bulduklarında, güvenlik duvarını tamamen bypass ederek doğrudan ana sunucuya saldırabilirler. Bu rehberde, siber kalkanların arkasındaki o gizli maskeyi düşürmek için kullanılan en etkili ofansif keşif tekniklerini adım adım ele alacağız.
WAF Nasıl Çalışır ve Gerçek IP Neden Ölümcül Bir Zayıflıktır?
Normal şartlarda WAF arkasındaki bir sisteme istek attığınızda, trafiğiniz önce güvenlik duvarının sunucularına gider. WAF, gelen istekte zararlı bir SQL enjeksiyonu (SQLi) veya XSS kodu olup olmadığını denetler; eğer istek temizse bunu arkasındaki gerçek sunucuya iletir. Yani WAF, web sitesi için bir fedai görevi görür.
Ancak bu yapılandırmanın en büyük zayıf noktası, sunucunun internetle olan bağının değil, sadece alan adının (domain) WAF’a yönlendirilmiş olmasıdır. Bir Red Team analisti olarak eğer korunan web sitesinin gerçek IP adresini tespit edebilirseniz, tarayıcınıza veya ofansif araçlarınıza “Ben alan adına değil, doğrudan bu IP adresine istek atmak istiyorum” talimatı vererek güvenlik duvarını (WAF) tamamen devre dışı bırakabilirsiniz. Doğrudan sunucuya ulaştığınızda ise artık ne hız limitlerine (rate limit) takılırsınız ne de WAF’ın koruyucu filtrelerine.
Gerçek IP Adresini Avlama Teknikleri (Offensive Reconnaissance)
Bir siber güvenlik uzmanı olarak hedef sunucunun gerçek IP adresini bulmak için kullanabileceğiniz en popüler ve etkili üç ofansif metodu inceleyelim:
1. Tarihsel DNS Kayıtlarının İzini Sürmek (DNS History)
Şirketler genellikle web sitelerini ilk kurduklarında WAF kullanmazlar. Site kurulur, sunucuya bir IP adresi tanımlanır ve aylar sonra siber saldırı korkusuyla sitenin önüne Cloudflare gibi bir kalkan konulur. İşte bu geçiş anı, arkada silinmez bir iz bırakır.
Saldırganlar, sitenin WAF arkasına geçmeden önceki eski DNS (A) kayıtlarını tarayarak gerçek IP adresini saniyeler içinde bulabilirler. Bunun için hedef sisteme hiçbir paket göndermeden tamamen pasif olarak viewdns.info veya securitytrails.com gibi platformlar üzerinden alan adının geçmiş IP coğrafyası incelenir.
2. SSL/TLS Sertifika Şeffaflığı Kayıtları (Certificate Transparency Logs)
Modern web sitelerinin tamamı trafiği şifrelemek için SSL/TLS sertifikası kullanır. Bu sertifikalar tescil edildiğinde, siber güvenlik dünyasında şeffaflığı sağlamak adına “Certificate Transparency Logs” (Sertifika Şeffaflığı Kayıtları) adı verilen halka açık veri tabanlarına kaydedilir.
WAF servisleri (örneğin Cloudflare), kendi arkasına saklanan siteler için otomatik olarak bir SSL sertifikası üretir. Ancak bazen sistem yöneticileri, ana sunucunun kendisine de doğrudan şirket alan adına ait özel bir SSL sertifikası tanımlar. Saldırganlar, Shodan gibi küresel cihaz arama motorları üzerinden tüm interneti tarayarak hedef şirketin SSL sertifikasını (örneğin sertifika seri numarasını veya parmak izini) barındıran ama WAF ağına ait olmayan “çıplak” IP adreslerini saniyeler içinde teyit edebilirler.
3. E-Posta Sunucularından (MX) Sızan IP Bilgileri
Eğer hedef kurum, web sitesiyle aynı sunucu üzerinden bir de mail sunucusu barındırıyorsa veya mail sunucusunun DNS yapılandırmasında (MX kaydı) dikkatsizlik yapıldıysa bu durum tam bir siber sızıntıya yol açar. Kurumun web sitesinden dışarıya atılan herhangi bir otomatik e-posta (örneğin şifre sıfırlama veya bülten üyeliği e-postası), alıcının sunucusuna ulaştığında e-postanın ham kaynak kodlarında (email headers) e-postayı asıl gönderen ana sunucunun gerçek IP adresini (“Received: from”) açıkça ele verebilir.
“curl” ile WAF Bypass Operasyonu
Yukarıdaki ofansif keşif tekniklerinden birini kullanarak hedef web sitesinin (hedef.com) arkasındaki gerçek kaynak IP adresinin “192.168.10.25” olduğunu tespit ettiğinizi varsayalım.
Bu aşamadan sonra, tarayıcınızın veya sızma testi araçlarınızın WAF kalkanına takılmaması için sistemi nasıl manipüle edeceğinizi ve “curl” aracıyla doğrudan ana sunucuya nasıl ofansif istek atacağınızı inceleyelim.
1. Host Header Manipülasyonu ile Doğrudan Erişim
Eğer tarayıcınıza doğrudan https://192.168.10.25 yazarsanız, sunucu büyük ihtimalle “Bad Request” (Hatalı İstek) hatası verecektir; çünkü sunucu arkada hangi web sitesini çalıştırdığını anlamak için HTTP isteklerinin içindeki “Host” başlığına bakar.
WAF’ı tamamen devre dışı bırakıp doğrudan ana sunucunun kalbine curl ile istek göndermek için “Host” başlığını elinizle şu şekilde manipüle edebilirsiniz:
curl -H "Host: hedef.com" https://192.168.10.25/admin-paneli -k
Teknik Açıklama: Bu komutla istek doğrudan internetteki Cloudflare/WAF sunucularına değil, sizin bulduğunuz 192.168.10.25 gerçek IP adresine gider. Ancak sunucunun kafasının karışmaması için içeride “Ben aslında hedef.com sitesinin admin panelini istiyorum” demiş oluyorsunuz. -k parametresi ise sunucudaki olası sertifika uyumsuzluğu hatalarını yok sayarak bağlantıyı zorlar. Böylece WAF’ın tüm kuralları ve hız limitleri tamamen bypass edilmiş olur.
Yukarıdaki yöntem bazen HTTPS (SSL) el sıkışması sırasında sorunlar çıkarabilir çünkü sertifika hedef.com için düzenlenmiştir ama sen 192.168.10.25 IP’sine istek atıyorsundur.
Bunu aşmanın ve bilgisayarına “hedef.com sitesini DNS’e sorma, direkt bu IP’de ara” demenin en temiz yolu “–resolve” parametresidir:
curl --resolve hedef.com:443:192.168.10.25 https://hedef.com/admin-paneli -k
Bu komut ne yapıyor? hedef.com’un 443 portu (HTTPS) için 192.168.10.25 IP’sini kullanmasını curl’e zorlar. Böylece hem Host başlığı otomatik olarak doğru gider hem de bağlantı daha kararlı olur.
2. Yerel DNS Dosyasını (Host) Sabitleme Yöntemi
Eğer sadece curl ile değil, sızma testi sırasında kullandığınız Burp Suite, Nikto veya Dirsearch gibi zafiyet tarama araçlarının tamamının otomatik olarak WAF’ı bypass etmesini istiyorsanız, bilgisayarınızın yerel DNS çözümleme mantığını değiştirebilirsiniz.
Linux veya macOS sisteminizde /etc/hosts dosyasını (Windows için C:\Windows\System32\drivers\etc\hosts) yetkili olarak açıp en alt satıra şu eşleşmeyi ekleyebilirsiniz:
192.168.10.25 https://www.hedef.com
Teknik Açıklama: Bu satırı eklediğiniz an, bilgisayarınız internetteki küresel DNS sunucularına sorgu atmayı bırakır. Artık terminalinizden veya tarayıcınızdan hedef.com adresine yapacağınız her istek, WAF kalkanına uğramadan doğrudan 192.168.10.25 IP adresine teslim edilir. Sunucu üzerinde gerçekleştireceğiniz tüm dizin tarama (dirbusting) veya SQL enjeksiyon testleri WAF tarafından asla engellenemez.
Mavi Takım (Blue Team) İçin Savunma: Bu Sızıntı Nasıl Önlenir?
Bir Red Team analisti olarak siber kalkanların nasıl aşılacağını bilmek kadar, bu açığın savunma tarafında nasıl kapatılacağını raporlamak da görevimizin bir parçasıdır. Kurumsal sistem yöneticileri, gerçek IP sızıntılarını önlemek için şu sıkılaştırma (hardening) adımlarını uygulamalıdır:
Sadece WAF IP’lerine İzin Vermek (Firewall Whitelisting): Ana sunucunun önündeki donanımsal güvenlik duvarı (Firewall) öyle bir yapılandırılmalıdır ki, internetten gelen tüm genel trafik (0.0.0.0/0) engellenmeli; sunucuya SADECE WAF servisinin (örneğin Cloudflare’in resmi IP bloklarının) istek göndermesine izin verilmelidir. Böylece saldırgan gerçek IP’yi bulsa bile doğrudan istek atamaz.
Eski IP Adreslerini Değiştirmek: Bir web sitesi WAF arkasına taşındığı an, ana sunucunun dış dünyadaki IP adresi de mutlaka değiştirilebilir. Böylece saldırganların tarihsel DNS kayıtlarında bulacağı eski IP adresleri tamamen boşa çıkmış olur.
Sertifika Güvenliği: Ana sunucu üzerinde kullanılan SSL sertifikaları doğrudan kurumsal alan adını (wildcard olarak) açıkça barındırmamalı, gerekirse sadece WAF seviyesinde sonlandırılmalıdır.
Sonuç
Web Uygulaması Güvenlik Duvarları, siber defansın harika birer parçası olsa da, tek başlarına mutlak güvenliği sağlamazlar. Altyapı geçiş süreçlerinde, mail sunucusu yapılandırmalarında veya SSL sertifikalarında yapılan küçük bir dikkatsizlik, milyon dolarlık siber kalkanları tek bir curl komutuyla işlevsiz bırakabilir. Gerçek bir siber dayanıklılık için dış ağ yüzeyindeki sızıntı noktaları düzenli olarak denetlenmeli ve sunucular sadece yetkili proxy ağlarına yanıt verecek şekilde sıkılaştırılmalıdır.
Kaynakça
- The Recon Playbook — Finding Hidden Endpoints Like a Pro: https://medium.com/@maxwellcross/the-recon-playbook-finding-hidden-endpoints-like-a-pro-a48b8dea3d3f
- Cloudflare Learning Center — What is a WAF (Web Application Firewall)?: https://www.cloudflare.com/learning/ddos/glossary/web-application-firewall-waf/
- OWASP Top 10 — Security Misconfiguration (A05:2021): https://owasp.org/Top10/A05_2021-Security_Misconfiguration/
Sen de yaz, arşivde yerini al
AltaySec Arşiv'e katkı ver — uzmanlığını Türkçe siber güvenlik literatürüne kat.
Yazar Ol