Açık kaynak zaafiyet tarama araçları içerisinde önemli bir yere sahip olan Owasp-ZAP için bir yazı dizisi oluşturmaya karar verdim. Gelişmiş bir yazılım olduğundan tek bir konuda anlatılmayacak kadar da fazla içeriğe sahip. Bu yüzden Burp Suite yazımdaki gibi parçalara ayırarak sizlere yazılım hakkında temel bilgiler vereceğim.
Bu bölümde ZAP’ı proxy olarak nasıl yapılabilendireceğimizi, crawl işleminin nasıl gerçekleştirileceğini ve tarama işleminin nasıl yapılıyor olduğundan bahsediyor olacağız.
Proxy olarak kullanmak
Tools > Options > Local Proxy altında Zap Proxy’inin hangi porttan istek beklediğini görebilirsiniz.
Tarayıcımızda proxy olarak artık bu ip ve portu verebiliriz. Ben burada sürekli ayar yapmak istemediğimden Burp Proxy yazımda da yazdığım gibi FoxyProxy eklentisini kullanıyorum.
Proxy yapılandırmasını yaptıktan sonra girdiğiniz siteleri ve geçminizi Sites ve History tablarında görebilirsiniz.
Upstream Proxy
Burp proxy konusunda yine bu konudan bahsetmiştik. Eğer bir kurumsal bir firmada çalışıyorsanız proxy kullanmıyor olmuş olmasınız düşük ihtimal. Zap ile araya girdiniz peki zap’ın de üstünde bir proxy var ise ve internete açılan kapı orasıysa ne yapacağız ? Bu durumda yardıma upstream proxy yetişmektedir. Yani siz isteğininiz zap’a, zap’ta bir üst katmandaki proxy’e gönderecektir. Bunu sadece şirket içerisinde gerekli olabileceğini düşünmeyin. Ayrıca bu özellikle isteğinizi herhangi bir proxy’den de geçirebilirsiniz. Tor kullanmak istersenizde bu özelliği kullanabilirsiniz. Örneğin zap’taki bir isteği Burp’e de bu özellik sayesinde gönderebilirsiniz.
Zap’ta bunu yapmak için Tools > Options > Connection > Use proxy chain bölümünde gerekli ayarlar yapılır. Eğer proxy sunucunuz kimlik doğrulama gerektiriyorsa da gerekli kullanıcı adı parola bilgileri girilir.
Örneğin yukarıdaki bilgiler ışığında upstream proxy olarak Burp proxy verirsem istek tarayıcıdan Zap’a, Zap’tan aşağıdaki gibi Burp’e düşecektir.
Sertifika sorununu bypass etme
Zap ile araya girdiğinizden dolayı https protokolünü kullanan bir siteye girmek istediğinizde tarayıcınızdan sertifika uyarısı alırsınız. Bu uyarıyı bypass etmek için ise CA sertifikası oluşturmak gerekecektir. Bunun için ZAP’dan Tools > Options > Dynamic SSL Certificate ‘e gideriz ve burada oluşturduğumuz sertifikayı tarayıcımızın otorite sertifikalar bölümüne ekleriz.
Quick Start
Zap’a ilk girdiğiniz hızlı tarama gerçekleştirebileceğiniz bir tab bulunuyor. Bu tab’a bir url adresi verir ve Attack derseniz sırasıyla aşağıdaki konularda da bahsedeceğimiz spider ve active scan işlemleri gerçekleştirilir.
Bu işlem sırasıda spider ve active scan tablarındaki hareketlilikleri görebilirsiniz.
Spider
Aynı Burp’teki gibi ZAP içerisinde de crawler olarak Spider isminde bir seçenek bulunmaktadır. Site bağlantılarını gezerek site yapısı hakkında size önemli bilgiler verebilir.
New Scan diyerek Scope tabında Select kısmında bir crawl edilecek adresi belirlersiniz. Scope seçerek sadece linkler içerisinde o url içerisindekileri gezebilirsiniz.
Crawl edeceksiniz ama ne kadar derine ineceksiniz, bekleme süresi vs. gibi detaylı bilgileri Advanced tabından gerçekleştirebilirsiniz. Tüm ayarları yaptıktan sonra Start Scan diyerek tarama işlemini gerçekleştirebilirsiniz.Tarama işlemi başladıktan sonra Sites kısmından spider’ın sonuçlarını hemen görebilirsiniz. History tabında sadece proxy istekleri gözüktüğünden bu tab’da yer almaz. Scope dışındaki linklerinde OUT_OF_SCOPE olarak flag lendiği görebilirsiniz.
Active Scan
Crawl işlemi yani spider çalıştıktan sonra active scan çalıştırılarak zaafiyetler tespit edilmeye çalışır. Bulunan açıklıklar Alerts tabında gösterilir. Active scan yapmak için active scan tabına girmenize de gerek yok aslında. History veya Sites kısımlarından seçili konuma sağ tıklayarakta hedef seçebilirsiniz.
İsterseniz tarama işlemini varsayılan tanım politikalarıyla yapmayabilirsiniz. Bunun için Show advanced options işaretlenerek gelişmiş bir tarama gerçekleştirilebilir.
Active scan için varsayılan ayarlarını Tools > Options > Active Scan ve Active Scan Input Vectors altında gerçekleştirebilirsiniz.
Alerts
Bu sekmede potansiyel açıklar gözükür. Alert’leri birer log gibi düşünürsek zap içerisindeki herhangi bir eklenti de alert çıkarabilir. Örneğin active scan alert oluşturur ve onlar da bu sekmede gözükür. Bu alerts’in sadece active scan tarafından kullanıldığı anlamına gelmez.
Ve bu tabta gösterilen açıklıklara birer flag atanır. Bu flagler aşağıdaki gibidir.
Bu bayraklardan high olanları detaylı incelemenizi öneririm. Bunların içine girerek atağımızı ve sorunumu görebilir, konu hakkında bilginiz yoksada açıklamasını okuyabilirsiniz.