ZAP
Last updated
Last updated
ZAP (Zed Attack Proxy) ücretsiz, açık kaynaklı bir sızma testi aracı ve güvenlik tarayıcısıdır. Birincil işlevi, hem siber güvenlik uzmanlarına hem de alana yeni giriş yapanlara web uygulamalarındaki güvenlik açıklarını bulma konusunda yardımcı olmaktır. ZAP, web uygulamalarının geliştirme ve test aşamalarında ve ayrıca yayımlanmış olan (deployed) web sitelerinin güvenlik testlerinde de kullanılabilir. Geliştiricilerden ve siber güvenlik meraklılarından oluşan geniş ve aktif bir topluluk tarafından desteklenen ZAP, sık sık güncelleme ve yama alır. The Software Security Project (SSP) çatısı altında geliştirilmeye devam edilmektedir.
ZAP, "MITM (Man-in-the-Middle)" proxy'sini kullanarak, tarayıcınız ile web sunucusu arasındaki HTTP/HTTPS trafiğini yakalamanıza ve analiz etmenize olanak tanır. Bu, isteklerin(requests)/yanıtların(responses) manuel olarak test edilmesine ve değiştirilmesine olanak tanır.
XSS, SQL injection ve daha fazlasını içeren çok çeşitli zafiyetleri tespit etmek için hem pasif (trafik analizi) hem de aktif (payload'lar göndererek) olarak gerçekleştirebilirsiniz.
ZAP'in dâhilî fuzzing özelliklerini kullanarak uygulamanızın esnekliğini hatalı biçimlendirilmiş (malformed) veya beklenmedik verilere karşı test edebilirsiniz.
Genişletilmiş penetrasyon testleri için gizli sayfaları, dizinleri ve işlevleri keşfetmek üzere bir web uygulamasını otomatik olarak tarayabilirsiniz.
Belirlenen güvenlik açıklarını özetleyen ve önerilen düzeltme adımlarını sunan çeşitli formatlarda (XML, HTML vb.) ayrıntılı raporlar oluşturabilirsiniz.
ZAP Marketplace'te bulunan Eklentiler (Add-ons), taramaları özelleştirmenize ve aracın işlevselliğini belirli ihtiyaçlara göre genişletmenize olanak tanır.
ZAP'in Download sayfasından indirin ve kurun.
ZAP'in çalışması için Java 11+ sürümünün gerekli olduğunu unutmayın.
ZAP'i ilk başlattığınızda, ZAP oturumuna (session) devam etmek isteyip istemediğiniz sorulacaktır. Varsayılan olarak, ZAP oturumları her zaman bir HSQLDB veritabanındaki diske varsayılan ad ve konumla kaydedilir. Oturuma devam etmezseniz ZAP'tan çıktığınızda bu dosyalar silinir. Bir oturumu sürdürmeyi (persisting) seçerseniz, oturum bilgileri daha sonra erişebilmeniz için yerel veri tabanına kaydedilecek ve dosyaların kaydedilmesi için özel adlar ve konumlar sağlayabileceksiniz.
Şimdilik 'Hayır, bu oturumu şu anda sürdürmek istemiyorum'u seçin ve ardından Başlat'a tıklayın. ZAP oturumları şimdilik sürdürülmeyecek.
Menü Çubuğu (Menu Bar) – Otomatik ve manuel araçların çoğuna erişim sağlar.
Araç Çubuğu (Toolbar) – En sık kullanılan özelliklere kolay erişim sağlayan düğmeler içerir.
Ağaç Penceresi (Tree Window) – Sitenin tree yapısını ve Scripts ağacını görüntüler.
Çalışma Alanı Penceresi (Workspace Window) – istekleri, yanıtları ve scriptleri görüntüler ve bunları düzenlemenizi sağlar.
Bilgi Penceresi (Information Window) – Otomatik ve manuel araçların ayrıntılarını görüntüler.
Alt Bilgi (Footer) – Bulunan alertlerin bir özetini ve ana otomatik araçların durumunu görüntüler.
Otomatik tarama yapmak için Çalışma Alanındaki Automated Scan'e tıklayın:
Test etmek istediğiniz sitenin adresini girin ve ⚡Attack'e tıklayın.
Geleneksel ZAP spider'ı web uygulamasından gelen yanıtlardaki HTML'i inceleyerek bağlantıları keşfeder. Bu spider hızlıdır ancak JavaScript kullanarak bağlantılar oluşturan bir AJAX web uygulamasını keşfederken her zaman en etkili yöntem olmayabilir. AJAX uygulamaları için ZAP'in AJAX spider'ının daha etkili olması muhtemeldir. Bu spider, daha sonra oluşturulan bağlantıları takip eden tarayıcıları çağırarak web uygulamasını tarar. Tarama, testi yavaşlatmamak için arka planda gerçekleştirilir.
Bu yöntem, web uygulaması sayfalarında gezinerek pasif tarama kullanır:
Pasif taramanın ardından ZAP, aktif taramayla payload'lar göndererek keşfedilen sayfalara saldırı gerçekleştirmeye başlar:
Yavuzlar'da bir zafiyete rastlayamadık tabii 😁. Birazdan zayifetli bir sitede test yapacağız.
Footer bölümü, test sırasında bulunan ve web uygulamasındaki olası zafiyetleri ifade etmek için kullanılan, risk kategorilerine ayrılmış Alert'leri içerir:
Bir alerte tıklarsanız, keşfedilen güvenlik açığı ve birçok ek bilgi Bilgi Penceresinde görüntülenir.
Hackviser'ın Basic SQL Injection labındaki zafiyetli web uygulamasını tarayalım; bu web uygulaması içinde SQLi zafiyeti barındıran bir login sayfası:
Taramadan sonra, ZAP aşağıdaki Alert'leri listeledi:
Yukarıda görüldüğü üzere ZAP bu sitede bir SQL Injection zafiyetinin olabileceğini söylüyor:
Yukarıda zafiyetin olduğu adresi, risk seviyesini, zafiyetin varlığından ne kadar emin olunduğunu, hangi parametrelerde zafiyet olduğunu ve gönderilen payload gibi birçok bilgiye erişebilirsiniz.
Manuel Taramanın sınırlı imkanlarını genişletmek için ZAP'in Manuel Keşfetme özelliğini de kullanabilirsiniz.
Oturum açma sayfasıyla korunan sayfalar pasif tarama sırasında keşfedilemez çünkü ZAP'in kimlik doğrulama (authentication) işlevini yapılandırmadığınız sürece ZAP gerekli kimlik doğrulamayı gerçekleştirmeyecektir. Pasif taramada keşif veya otomatik saldırıda gerçekleştirilen saldırı türleri üzerinde çok fazla kontrole sahip değiliz. ZAP, pasif taramanın dışında keşif ve saldırılar için birçok ek seçenek sunuyor.
The Heads Up Display
Heads Up Display (HUD), ZAP işlevselliğine doğrudan tarayıcıdan erişim sağlayan yenilikçi bir arayüzdür. Web güvenliğine yeni başlayan kişiler için idealdir ve aynı zamanda deneyimli pentesterlar için de önemli güvenlik bilgileri ve işlevleri sağlarken bir uygulamanın işlevselliğine odaklanmasına da olanak tanır.
OWASP ZAP, ister profesyonel bir pentester, ister yeni başlayan bir web güvenliği meraklısı olun, yararlı bir araçtır. Otomatik, manuel test yetenekleri ve güçlü topluluk desteğinden oluşur ve testlerinizi kolaylaştırabilir. Yaptığınız bu testlerle beraber siber güvenlik yolculuğunuzda kendinize birçok bilgi ve deneyim katabilir, yolunuza bu araçtan yardım alarak devam edebilirsiniz. Sürekli güncellenen ve sağlam bir destek altyapısına sahip olan bu tool, her geçen gün büyümeye ve değişmeye devam ediyor. Tıpkı senin gibi dostum. Happy hacking!