Proxy'ler; trafiğin araya girilerek yakalanmasını, değiştirilmesini ve yönlendirilmesini mümkün kılarak siber güvenlik değerlendirmelerini kolaylaştırır. Bu, pentest sırasında zafiyetleri tespit etmek ve denetimlerde uyumluluğu sağlamak için kritiktir. Aracı olarak çalışırlar ve güvenlik uzmanlarının istemci ile sunucu arasındaki ağ trafiği akışlarını gözlemlemesine, değiştirmesine ve kontrol etmesine izin verirler. Bu kontrol; saldırı senaryolarını simüle etmek, sistem davranışını baskı altında analiz etmek ve güvenlik kontrollerini doğrulamak için temel öneme sahiptir.
Pentest'te proxy'lerin rolü
Sızma testlerinde proxy'ler, saldırgan davranışını simüle etmek ve uygulamalar ile ağlardaki zafiyetleri keşfetmek için vazgeçilmez araçlardır. Doğrudan istemci-sunucu etkileşimlerinde çoğu zaman mümkün olmayan, iletişim üzerinde ayrıntılı bir kontrol sunarlar.
Yakalama ve değiştirme
Proxy'ler istek ve yanıtların yakalanmasını sağlar; böylece test uzmanları bunların içeriğini, başlıklarını ve parametrelerini hedefe ulaşmadan önce inceleyebilir. Bu yetenek şunlar için kritiktir:
- Enjeksiyon açıklarını tespit etmek: SQL injection, command injection veya cross-site scripting (XSS) testleri için parametreleri değiştirmek.
- İstemci tarafı kontrolleri aşmak: verileri istemci tarafı doğrulamasından sonra, ancak sunucu işlemesinden önce değiştirmek.
- Oturum token'larını manipüle etmek: session fixation, session hijacking veya güvensiz doğrudan nesne referansları (IDOR) testleri yapmak.
- Fuzzing: çökme ya da zafiyetleri ortaya çıkarmak için otomatik olarak çok sayıda bozuk veya beklenmedik girdi göndermek.
# Örnek: bir HTTP GET isteğini yakalamak için proxy ile curl kullanımı
# Proxy (örneğin Burp Suite) localhost:8080 üzerinde dinleyecek şekilde yapılandırılmalıdır
curl -x http://localhost:8080 http://example.com/api/data
Kısıtlamaları aşma
Proxy'ler trafiği farklı ağ yolları üzerinden yönlendirerek ağ tabanlı güvenlik kontrollerinin aşılmasına yardımcı olabilir:
- Güvenlik duvarından kaçınma: trafiği izin verilen bir proxy portu üzerinden yönlendirerek, çevre güvenlik duvarları tarafından engellenebilecek iç kaynaklara veya belirli portlara erişmek.
- IP tabanlı erişim kontrolleri: web uygulamalarının uyguladığı IP kara listelerini veya coğrafi kısıtlamaları aşmak için farklı IP adreslerine sahip proxy'ler (örneğin residential veya veri merkezi proxy'leri) kullanmak.
- Ağ segmentasyonu: proxy zincirleri ya da belirli proxy çıkış noktaları yapılandırarak farklı ağ segmentlerinden gelen saldırıları simüle etmek.
Anonimlik ve gizleme
Pentest yetkili olarak yapılsa da, belirli senaryolarda bir miktar anonimlik veya gizleme faydalı olabilir:
- Dış tehditleri simüle etmek: test uzmanının gerçek IP'sini açığa çıkarmadan, sistemlerin bilinmeyen veya coğrafi olarak farklı konumlardan gelen trafiğe nasıl tepki verdiğini test etmek.
- Tespitten kaçınmak: saldırı tespit/önleme sistemlerinin (IDS/IPS) test faaliyetlerini anında zararlı olarak işaretlemesini zorlaştırmak; böylece tam alarm tetiklenmeden önce daha kapsamlı test yapılabilir.
- Rate limiting testi: dağıtık hizmet reddi (DDoS) saldırılarını veya çeşitli kaynaklardan gelen kaba kuvvet denemelerini simüle etmek için birden fazla proxy IP'si kullanmak.
Güvenlik denetimi için proxy'ler
Güvenlik denetimi; uyumluluğu ve etkinliği sağlamak amacıyla güvenlik kontrollerinin, politikalarının ve prosedürlerinin sistematik biçimde gözden geçirilmesini kapsar. Proxy'ler doğrulanabilir loglar ve trafik üzerinde kontrol sunarak bu süreci destekler.
Trafik izleme ve analizi
Proxy'ler yakalanan tüm trafiği loglayarak denetim amacıyla kapsamlı bir iletişim kaydı sunabilir:
- Uyumluluk doğrulaması: tüm uygulama trafiğinin zorunlu şifreleme (TLS), belirli başlık gereksinimleri veya veri temizleme kuralları gibi belirlenmiş güvenlik politikalarına uyduğundan emin olmak.
- Davranış analizi: hatalı yapılandırmalara ya da politika ihlallerine işaret edebilecek anormal trafik desenlerini, beklenmedik API çağrılarını veya yetkisiz veri erişim denemelerini tespit etmek.
- Olay sonrası analiz: bir güvenlik olayının veya test aşamasının ardından proxy loglarını inceleyerek olayların sırasını anlamak, kök nedeni belirlemek ve bulguları belgelemek.
Uyumluluk ve politika uygulama
Proxy'ler, aktarım hâlindeki trafiği inceleyerek ve gerektiğinde değiştirerek güvenlik politikalarını uygulayabilir:
- Veri sızıntısı önleme (DLP): giden trafiği inceleyerek hassas verilerin (örneğin kredi kartı numaraları, PII) ağdan çıkmasını engellemek.
- İçerik filtreleme: zararlı sitelere erişimi engellemek veya kurumsal gezinme politikalarını uygulamak.
- Güvenlik başlığı ekleme: tüm yanıtların gerekli güvenlik başlıklarını (örneğin HSTS, CSP, X-Frame-Options) içermesini sağlamak; eksikse bunları eklemek.
Saldırgan davranışını simüle etme
Denetim çoğu zaman sistemlerin gerçek dünya tehditlerine nasıl yanıt vereceğini anlamayı gerektirir. Proxy'ler çeşitli saldırı vektörlerinin simüle edilmesini mümkün kılarak bunu kolaylaştırır:
- Zararlı yazılım dağıtımı simülasyonu: uç nokta korumasının ve ağ güvenlik kontrollerinin, simüle edilmiş zararlı yazılım indirmelerine veya komuta-kontrol (C2) iletişimine karşı etkinliğini test etmek.
- Oltalama kampanyası testi: denetim altyapısını doğrudan ifşa etmeden kullanıcı etkileşimini ve sistem yanıtlarını izlemek için test amaçlı oltalama denemelerini bir proxy üzerinden yönlendirmek.
- Uygulama mantığı testi: uygulama mantığının, bir saldırganın deneyebileceği zararlı girdileri veya beklenmedik işlem dizilerini doğru şekilde ele aldığını doğrulamak.
Kullanılan proxy türleri
Farklı proxy türleri, belirli siber güvenlik görevlerine uygun farklı işlevler sunar.
HTTP/S proxy'ler
Bu proxy'ler uygulama katmanında (Katman 7) çalışır ve HTTP ile HTTPS trafiğini işlemek üzere tasarlanmıştır.
- Kullanım alanları: web uygulaması pentest'i, API güvenlik testleri, içerik filtreleme, web trafiği analizi.
- Özellikler: HTTP/S başlıklarını, gövdesini ve parametrelerini inceleyip değiştirebilir. HTTPS trafiği için SSL/TLS yakalaması gerekir; bu da proxy'nin kök sertifikasının istemciye kurulmasını içerir.
SOCKS proxy'ler
SOCKS (Socket Secure) proxy'leri daha alt bir katmanda (Katman 5 — oturum katmanı) çalışır ve yalnızca HTTP/S değil, her türlü ağ trafiğini işleyebilir.
- Kullanım alanları: HTTP/S dışı trafiği tünellemek (örneğin SSH, RDP, özel protokoller), genel ağ erişimi için güvenlik duvarlarını aşmak, proxy zincirlemek.
- Özellikler: protokolden bağımsızdır; genellikle anonimlik için ya da uygulama katmanı incelemesinin gerekmediği veya mümkün olmadığı durumlarda trafiği yönlendirmek için kullanılır. SOCKS5, kimlik doğrulamayı ve UDP trafiğini destekler.
| Özellik | HTTP/S proxy | SOCKS proxy |
|---|---|---|
| Katman | Uygulama katmanı (L7) | Oturum katmanı (L5) |
| Protokoller | HTTP, HTTPS | Herhangi bir TCP/UDP protokolü |
| Trafik görünürlüğü | Tam HTTP/S istek/yanıt ayrıntıları | Ham verinin tünellenmesi; protokole daha az özgü |
| Değiştirme | HTTP/S başlık/gövdesini kolayca değiştirme | Kapsüllenmiş veride sınırlı ya da hiç değişiklik yok |
| Şifreleme | HTTPS için SSL/TLS yakalaması gerekir | Şifreli trafiği çözmeden tünelleyebilir |
| Kullanım alanı | Web uygulama güvenliği, API testi, web filtreleme | Genel ağ erişimi, tünelleme, anonimlik |
Ters proxy'ler
İstemcilerin bağlandığı ileri (forward) proxy'lerin aksine, ters proxy'ler bir veya daha fazla web sunucusunun önünde konumlanır. İstemciler ters proxy'ye bağlanır, o da istekleri uygun arka uç sunucuya iletir.
- Kullanım alanları: yük dengeleme, web uygulama güvenlik duvarları (WAF), SSL/TLS sonlandırma, önbellekleme, arka uç sunucuları doğrudan maruz kalmaktan korumak.
- Özellikler: arka uç sunucu IP'lerini gizleyerek, zararlı istekleri uygulamaya ulaşmadan filtreleyerek ve SSL/TLS işlemesini devralarak güvenliği artırır.
Şeffaf proxy'ler
Şeffaf proxy, istemci tarafında herhangi bir yapılandırma gerektirmeden trafiği yakalar. Ağ cihazları (yönlendiriciler, güvenlik duvarları) trafiği proxy'ye yönlendirir.
- Kullanım alanları: ağ genelinde içerik filtrelemesi uygulamak, tüm iç ağ trafiğini izlemek, kullanıcı müdahalesi olmadan kurumsal politikayı uygulamak.
- Özellikler: son kullanıcıya görünmezdir; kurumsal ortamlarda genellikle denetim ve uyumluluk için kullanılır. Yakalama araçlarına izin verecek şekilde açıkça yapılandırılmadığında güvenlik testlerini zorlaştırabilir.
Pratik uygulamalar ve araçlar
Proxy'ler, çeşitli test ve denetim faaliyetlerini kolaylaştırmak için çok sayıda siber güvenlik aracına entegre edilmiştir.
Web uygulaması pentest'i (Burp Suite, OWASP ZAP)
Burp Suite ve OWASP ZAP gibi araçlar, web trafiği için yakalayıcı proxy olarak çalışır.
- İşlevsellik: HTTP/S istek ve yanıtlarını yakalamak, incelemek, değiştirmek ve yeniden göndermek. Otomatik tarama, manuel test, fuzzing ve kod çözme özellikleri içerirler.
- Kullanım: test uzmanları tarayıcılarını veya uygulamalarını trafiği proxy üzerinden geçirecek şekilde yapılandırır; böylece uygulama davranışını analiz edip XSS, CSRF, SQLi ve mantık hataları gibi zafiyetleri keşfedebilirler.
Ağ taraması (Nmap)
Nmap esas olarak alt ağ katmanlarında çalışsa da, proxy'ler onun erişimini genişletebilir veya bıraktığı izi değiştirebilir.
- İşlevsellik: Nmap, başka türlü erişilemeyen hedefleri taramak veya tarayıcının kaynağını gizlemek için SOCKS4/SOCKS5 proxy'leri kullanacak şekilde yapılandırılabilir.
- Kullanım:
nmap --proxy "socks5://proxy_ip:proxy_port" target_ipbir proxy üzerinden tarama yapmayı sağlar; doğrudan bağlantının engellendiği veya anonimliğin istendiği senaryolarda kullanışlıdır.
API güvenlik testi
API uç noktaları, JSON/XML yüklerini analiz edip değiştirmek için genellikle proxy'lerle test edilir.
- İşlevsellik: Postman, Insomnia gibi araçlar veya özel scriptler, API çağrılarını yakalayıcı bir proxy üzerinden yönlendirecek şekilde yapılandırılabilir. Bu, test uzmanlarının API isteklerini değiştirmesine ve kimlik doğrulama atlatma, bozuk nesne düzeyi yetkilendirme ya da veri sızıntısı testleri yapmasına olanak tanır.
- Kullanım: API trafiğini yakalamak, API mantığındaki, veri işlemedeki ve erişim kontrol mekanizmalarındaki zafiyetleri belirlemeye yardımcı olur.
Mobil uygulama testi
Mobil uygulamalar arka uç API'leriyle iletişim kurar; bu da ağ davranışlarını analiz etmek için proxy'leri vazgeçilmez kılar.
- İşlevsellik: mobil cihazlar bir proxy kullanacak şekilde yapılandırılır ve test uzmanları uygulama ile arka ucu arasındaki trafiği yakalayıp inceleyebilir. Bu; koda gömülü kimlik bilgilerini, güvensiz veri saklamayı, zayıf kimlik doğrulamayı veya API etkileşimlerindeki zafiyetleri tespit etmek için kritiktir.
- Zorluklar: SSL Pinning, HTTPS trafiğinin proxy tarafından yakalanabilmesi için genellikle atlatma mekanizmaları gerektirir.
En iyi uygulamalar ve dikkat edilmesi gerekenler
Siber güvenlik değerlendirmelerinde proxy'lerin etkili ve etik biçimde kullanılması, belirli uygulamalara uyulmasını gerektirir.
Etik hususlar
- Yetkilendirme: size ait olmayan sistemlerde trafiği yakalamak veya değiştirmek için proxy kullanmadan önce daima açık ve yazılı yetki alın. Yetkisiz yakalama yasa dışı olabilir.
- Kapsam: kesinlikle tanımlanmış çalışma kapsamı içinde hareket edin. Üzerinde anlaşılan hedeflerin dışındaki sistemlere giden ya da onlardan gelen trafiği proxy üzerinden geçirmeyin.
- Veri işleme: proxy üzerinden geçebilecek hassas verilere dikkat edin. Yakalanan verilerin gizlilik düzenlemelerine ve müşteri sözleşmelerine uygun şekilde işlenmesini, saklanmasını ve silinmesini sağlayın.
Performans ve güvenilirlik
- Proxy zinciri gecikmesi: zincirde birden fazla proxy kullanmak ciddi gecikme yaratabilir ve verimi düşürerek test verimliliğini olumsuz etkileyebilir.
- Kaynak tahsisi: proxy sunucusunun ya da proxy aracını çalıştıran iş istasyonunun, beklenen trafik hacmini darboğaz olmadan karşılayacak yeterli CPU, RAM ve ağ bant genişliğine sahip olduğundan emin olun.
- Kararlılık: kritik test aşamalarında çökme veya veri kaybı yaşamamak için sağlam proxy çözümleri ve araçları seçin.
Loglama ve ilişkilendirme
- Kapsamlı loglama: proxy'leri zaman damgaları, kaynak/hedef IP'ler, istek/yanıt başlıkları ve gövde içeriği dâhil tüm ilgili trafik ayrıntılarını loglayacak şekilde yapılandırın. Bu; denetim, olay müdahalesi ve bulguların belgelenmesi için hayati önemdedir.
- İlişkilendirme: ekip ortamlarında, proxy yapılandırmalarının veya trafik desenlerinin eylemleri belirli test uzmanlarına ya da araçlara net biçimde bağlamaya izin verdiğinden emin olun.
Proxy zincirleme
- Katmanlı anonimlik/kontrol: birden fazla proxy'yi zincirlemek (örneğin bir SOCKS proxy'sini bir HTTP proxy'sine) ek anonimlik katmanları sağlayabilir veya farklı ağlar üzerinden karmaşık yönlendirmeye izin verebilir.
- Özel kullanım alanları: gelişmiş sızma testlerinde karmaşık saldırı yollarını simüle etmek, birden fazla ağ segmentini geçmek veya farklı proxy işlevlerini birleştirmek için kullanılır.
- Karmaşıklık: proxy zincirlerini yönetmek kurulum ve sorun giderme sürecine karmaşıklık ekler.
