OWASP-ZAP NEDİR ? NE AMAÇLA KULLANILIR ?
OWASP-ZAP, web uygulamalarındaki güvenlik açıklarını taramak amacıyla open source olarak JAVA ile yazılmış cross-platform masaüstü uygulamasıdır.
OWASP-ZAP dünyadaki en popüler web zaafiyet tarayıcılarından biridir. Open-source olması ve otomatik tarama özelliği nedeniyle muadillerinden
bir adım öne çıkar. Web geliştiricileri,ethical hackerlar, güvenlik uzmanları tarafından profesyonel maksatla kullanılır.
OWASP-ZAP nasıl kurulur?
https://www.zaproxy.org/download/ ‘ı ziyaret ettiğinizde aşağıdaki ekranla karşılaşırsınız:
Windows kullanıcıları kendi işletim sistemi mimarilerine göre indirip kurabilirler.Ekstra paket kurmaya gerek yoktur.MacOs kullanıcılarıda kendi mimarilerine
uygun yada Cross Platform Package seçeneğini seçerek kurulum yapabilirler GNU/Linux kullanıcıları Linux installer seçeneğini seçerek “*.sh” uzantısıyla
biten bash komut dosyasını indirerek kuruluma başlayabilirler.
Burada genellikle yeni başlayan kullanıcılara yönelik döküman oluşturduğumuz için Linux makine üzerine nasıl kurulduğunu detaylı bir şekilde anlatalım.
//Kali Linuxun önceki dağıtımlarında OWASP-ZAP yüklü gelirken son dağıtımlarında içerisinde bulunmamakta siz kendiniz yüklemelisiniz. Hadi nasıl kurulduğuna bakalım
İndirdiğimiz dosyayı çalıştıralım.
Dosyayı çalıştıramadığımızı görüyoruz. Yukarıdada bahsettiğim gibi OWASP-ZAP, Java ile yazıldığı için JVM(Java Virtual Machine) bilgisayarınızda yüklü olması
gerekmektedir. Eğer Kali Linux üzerinde çalıştırıyorsanız JVM yüklü olduğu için direk kurulumu gerçekleştirebilirsiniz.Biz yinede diğer dağıtımlar üzerinde kuru-
lum gerçekleştirecekler için JVM nasıl kurulur gösterelim.Sistemimde Arch Linux kullandığım için “ sudo pacman -S jre-openjdk” diyerek pacman paket yükle-
yicisi ile kurulumu gerçekleştiriyorum. Debian yada Ubuntu tabanlı sistem kullananlar apt paket yöneticiyle “sudo apt install default-jdk” komutuyla kurulumu
gerçekleştirebilirler. Javanın daha fazla kurulum seçeneği için https://www.java.com/tr/download/ sitesini ziyaret edin.
Javayı kurduğumuza göre kurulumu tamamlayalım aşağıda komutları verdikten sonra GUI üzerinden kuruluma devam edebilirsiniz.
Kurulum bitti ve OWASP-ZAP sistemimizde çalışır vaziyette ancak ZAP’ın nasıl çalıştığını teorik olarak bir inceleyelim.
OWASP-ZAP nasıl çalışır?
OWASP-ZAP ın açılımı Zed Attack Proxy, adındanda anlaşılacağı üzere uygulama üzerinden yaptığınız tüm istekler proxy üzerinden gerçekleşmekte. ZAP
kurduğunuzda default olarak 8080 portuna bir proxy server kurmuş oluyorsunuz. Bu ayarı değiştirmek isterseniz Tools → Options → Local Proxies sek-
mesi altından düzenleyebilirsiniz. Aşağıdaki resimde olduğu gibi
Çalıştığını kontrol etmek için tarayıcınızdan 8080 portuna bağlandığınızda aşağıdaki ekranla karşılaşmalısınız.
ZAP ile gönderdiğiniz request(istek) aşağıda akış şemasındaki gibi bir bağlantı sağlar.
OWASP-ZAP ile kendi tarayıcınız üzerinden aktif bir oturum açabilirsiniz. Bu tarayıcınızla ziyaret ettiğiniz siteler üzerinde gezinerek tarama yapmanıza
imkan tanıyor. Ben tarayıcı olarak firefox kullanıyorum ve bunu nasıl yaptığımızı firefox üzerinden gösterelim.
Firefox → Settings→ General(Sekme) → Network Settings → Settings
OWASP-ZAP Spider NEDİR ?
OWASP-ZAP ın içerisinde bulunan spider ekranı verdiğiniz URL nin içerisinde HTML taglarını kontrol ederek oluşan bağlantıları keşfeder. Aşağıdaki
resimde gördüğünüz gibi hangi tür bir bağlantı kullandığını ve sayfanın ne dönderdiğini listeler.
Manuel Request Editor nedir ?
Bir web sayfasına yaptığınız taramalarda bazı bilgileri kendiniz düzenlemek isteyebilirsiniz. İşte böyle durumlarda kontrol edeceğiniz bağlantının
üstüne gelerek Sağ Tık ile Open/Resend with Request Editor diyerek editörü açabilirsiniz.
Aktif tarama nasıl yapılır ?
Örnek olması açısından kendi localhost adresimi Aktif tarama ile tarayalım.
Yukarıdaki resimde gördüğünüz gibi Active Scan sekmesinin altından New Scan diyoruz.
Start Scan diyerek tarama başlatıyoruz. Ve bize neleri taradığını gösteriyor.
Tarama sonuçlarını Alerts sekmesinin altında tek tek açıklamaları,çözüm yolları ve kullandığı payloadlara kadar içeren detaylı bir çıktı mesajı veriyor.
Gördüğünüz gibi bize Medium riske sahip bir sonuç verdi. Risk bayraklarından(flag) bahsedeyim. ZAP beş adet bayrak döndürebiliyor. High,Medium,Low
ve Informational bunlar zaten fikir yürütmeyle anlaşılabilecek şeyler olduğu için bahsetmiyoruz ancak yeni başlayanları ilgilendiren False Positive olacak.
False Positive / False Negative Nedir ?
False Positive yapılan test sonucunda verilen doğru çıktının aslında yanlış olma durumuna denir. False Negative de bu durumun tam zıttıdır. Bu tarz o-
tomatize edilmiş programlarla çalışırken karşılaşabileceğimiz bu problemi aşmak için taradığımız açığın Manuel olarakta nasıl gerçekleştiğini bilmek-
ten geçer.Her ne kadar doğru sonuçlar versede her zaman elle kontrol etmekte fayda var.
OWASP-ZAP Eklentiler
OWASP-ZAP üzerinde kullanabileceğiniz çeşitli eklentiler bulunmakta bunlara erişmek için Tools → Options → Extensions sekmesi altından inceleye-
bilirsiniz. Kullanabileceğiniz eklentileri görmek için ise arayüzde bulunan Manage Add-ons seçeneğine tıklayın.
Manage Add-ons ‘a tıkladıktan sonra Marketplace sekmesinden indirebileceğiniz eklentiler gözüküyor.Ben upload la alakalı eklentilere bakıyorum.
OWASP-ZAP ile Basit Bir Tarama
OWASP-ZAP hakkında temel bilgileri verdiğimize göre gelin. Basitçe bir penetrasyon testi gerçekleştirelim. Sanal makinama içinde zaafiyet barındı-
ran bir işletim sistemi kurdum. Indirip incelemek isteyenler için https://www.vulnhub.com/entry/owasp-broken-web-applications-project-12,46/ adresi bırakalım.
Local adresim : http://172.16.58.132/zapwave bu adrese otomatik tarama başlatıyorum ve aşağıdaki alert çıktılarını veriyor.
Gördüğünüz gibi riskin HIGH olduğunu ve bu açığı tararken hangi payloadı kullandığını Attack değerinin karşısında verdi. URL yi kendi tarayıcımda
açtığımda payloadı biraz değiştirerek gerçekten böyle bir XSS açığının mevcut olduğunu gözlemliyorum.
OWASP-ZAP ile yapabilecekleriniz bunlarla sınırlı değil tabiki içerisinde kullanabileceğiniz. API desteği, Gönderdiğiniz HTTP isteklerini düzenleyebi-
leceğiniz bir editör, encode/decode/hash ekranı ve daha fazlası mevcut bu döküman sadece giriş niteliğinde olup bilgilendirme amaçlıdır. OWASP
dışında NetSparker,Acunetix,Burpsuite gibi farklı web vulnerability application scannerları deneyebilirsiniz.Fikir sahibi olmanız açısından BurpSuite
ve OWASP-ZAP ı karşılaştıran bir görseli aşağıya ekliyorum.Penetrasyon testi gerçekleştirirken farklı web güvenlik araçlarıyla taramayı ihmal etmeyin.
OWASP-ZAP, web uygulamalarındaki güvenlik açıklarını taramak amacıyla open source olarak JAVA ile yazılmış cross-platform masaüstü uygulamasıdır.
OWASP-ZAP dünyadaki en popüler web zaafiyet tarayıcılarından biridir. Open-source olması ve otomatik tarama özelliği nedeniyle muadillerinden
bir adım öne çıkar. Web geliştiricileri,ethical hackerlar, güvenlik uzmanları tarafından profesyonel maksatla kullanılır.
OWASP-ZAP nasıl kurulur?
https://www.zaproxy.org/download/ ‘ı ziyaret ettiğinizde aşağıdaki ekranla karşılaşırsınız:
Windows kullanıcıları kendi işletim sistemi mimarilerine göre indirip kurabilirler.Ekstra paket kurmaya gerek yoktur.MacOs kullanıcılarıda kendi mimarilerine
uygun yada Cross Platform Package seçeneğini seçerek kurulum yapabilirler GNU/Linux kullanıcıları Linux installer seçeneğini seçerek “*.sh” uzantısıyla
biten bash komut dosyasını indirerek kuruluma başlayabilirler.
Burada genellikle yeni başlayan kullanıcılara yönelik döküman oluşturduğumuz için Linux makine üzerine nasıl kurulduğunu detaylı bir şekilde anlatalım.
//Kali Linuxun önceki dağıtımlarında OWASP-ZAP yüklü gelirken son dağıtımlarında içerisinde bulunmamakta siz kendiniz yüklemelisiniz. Hadi nasıl kurulduğuna bakalım
İndirdiğimiz dosyayı çalıştıralım.
Dosyayı çalıştıramadığımızı görüyoruz. Yukarıdada bahsettiğim gibi OWASP-ZAP, Java ile yazıldığı için JVM(Java Virtual Machine) bilgisayarınızda yüklü olması
gerekmektedir. Eğer Kali Linux üzerinde çalıştırıyorsanız JVM yüklü olduğu için direk kurulumu gerçekleştirebilirsiniz.Biz yinede diğer dağıtımlar üzerinde kuru-
lum gerçekleştirecekler için JVM nasıl kurulur gösterelim.Sistemimde Arch Linux kullandığım için “ sudo pacman -S jre-openjdk” diyerek pacman paket yükle-
yicisi ile kurulumu gerçekleştiriyorum. Debian yada Ubuntu tabanlı sistem kullananlar apt paket yöneticiyle “sudo apt install default-jdk” komutuyla kurulumu
gerçekleştirebilirler. Javanın daha fazla kurulum seçeneği için https://www.java.com/tr/download/ sitesini ziyaret edin.
Javayı kurduğumuza göre kurulumu tamamlayalım aşağıda komutları verdikten sonra GUI üzerinden kuruluma devam edebilirsiniz.
Kurulum bitti ve OWASP-ZAP sistemimizde çalışır vaziyette ancak ZAP’ın nasıl çalıştığını teorik olarak bir inceleyelim.
OWASP-ZAP nasıl çalışır?
OWASP-ZAP ın açılımı Zed Attack Proxy, adındanda anlaşılacağı üzere uygulama üzerinden yaptığınız tüm istekler proxy üzerinden gerçekleşmekte. ZAP
kurduğunuzda default olarak 8080 portuna bir proxy server kurmuş oluyorsunuz. Bu ayarı değiştirmek isterseniz Tools → Options → Local Proxies sek-
mesi altından düzenleyebilirsiniz. Aşağıdaki resimde olduğu gibi
Çalıştığını kontrol etmek için tarayıcınızdan 8080 portuna bağlandığınızda aşağıdaki ekranla karşılaşmalısınız.
ZAP ile gönderdiğiniz request(istek) aşağıda akış şemasındaki gibi bir bağlantı sağlar.
OWASP-ZAP ile kendi tarayıcınız üzerinden aktif bir oturum açabilirsiniz. Bu tarayıcınızla ziyaret ettiğiniz siteler üzerinde gezinerek tarama yapmanıza
imkan tanıyor. Ben tarayıcı olarak firefox kullanıyorum ve bunu nasıl yaptığımızı firefox üzerinden gösterelim.
Firefox → Settings→ General(Sekme) → Network Settings → Settings
OWASP-ZAP Spider NEDİR ?
OWASP-ZAP ın içerisinde bulunan spider ekranı verdiğiniz URL nin içerisinde HTML taglarını kontrol ederek oluşan bağlantıları keşfeder. Aşağıdaki
resimde gördüğünüz gibi hangi tür bir bağlantı kullandığını ve sayfanın ne dönderdiğini listeler.
Manuel Request Editor nedir ?
Bir web sayfasına yaptığınız taramalarda bazı bilgileri kendiniz düzenlemek isteyebilirsiniz. İşte böyle durumlarda kontrol edeceğiniz bağlantının
üstüne gelerek Sağ Tık ile Open/Resend with Request Editor diyerek editörü açabilirsiniz.
Aktif tarama nasıl yapılır ?
Örnek olması açısından kendi localhost adresimi Aktif tarama ile tarayalım.
Yukarıdaki resimde gördüğünüz gibi Active Scan sekmesinin altından New Scan diyoruz.
Start Scan diyerek tarama başlatıyoruz. Ve bize neleri taradığını gösteriyor.
Tarama sonuçlarını Alerts sekmesinin altında tek tek açıklamaları,çözüm yolları ve kullandığı payloadlara kadar içeren detaylı bir çıktı mesajı veriyor.
Gördüğünüz gibi bize Medium riske sahip bir sonuç verdi. Risk bayraklarından(flag) bahsedeyim. ZAP beş adet bayrak döndürebiliyor. High,Medium,Low
ve Informational bunlar zaten fikir yürütmeyle anlaşılabilecek şeyler olduğu için bahsetmiyoruz ancak yeni başlayanları ilgilendiren False Positive olacak.
False Positive / False Negative Nedir ?
False Positive yapılan test sonucunda verilen doğru çıktının aslında yanlış olma durumuna denir. False Negative de bu durumun tam zıttıdır. Bu tarz o-
tomatize edilmiş programlarla çalışırken karşılaşabileceğimiz bu problemi aşmak için taradığımız açığın Manuel olarakta nasıl gerçekleştiğini bilmek-
ten geçer.Her ne kadar doğru sonuçlar versede her zaman elle kontrol etmekte fayda var.
OWASP-ZAP Eklentiler
OWASP-ZAP üzerinde kullanabileceğiniz çeşitli eklentiler bulunmakta bunlara erişmek için Tools → Options → Extensions sekmesi altından inceleye-
bilirsiniz. Kullanabileceğiniz eklentileri görmek için ise arayüzde bulunan Manage Add-ons seçeneğine tıklayın.
Manage Add-ons ‘a tıkladıktan sonra Marketplace sekmesinden indirebileceğiniz eklentiler gözüküyor.Ben upload la alakalı eklentilere bakıyorum.
OWASP-ZAP ile Basit Bir Tarama
OWASP-ZAP hakkında temel bilgileri verdiğimize göre gelin. Basitçe bir penetrasyon testi gerçekleştirelim. Sanal makinama içinde zaafiyet barındı-
ran bir işletim sistemi kurdum. Indirip incelemek isteyenler için https://www.vulnhub.com/entry/owasp-broken-web-applications-project-12,46/ adresi bırakalım.
Local adresim : http://172.16.58.132/zapwave bu adrese otomatik tarama başlatıyorum ve aşağıdaki alert çıktılarını veriyor.
Gördüğünüz gibi riskin HIGH olduğunu ve bu açığı tararken hangi payloadı kullandığını Attack değerinin karşısında verdi. URL yi kendi tarayıcımda
açtığımda payloadı biraz değiştirerek gerçekten böyle bir XSS açığının mevcut olduğunu gözlemliyorum.
OWASP-ZAP ile yapabilecekleriniz bunlarla sınırlı değil tabiki içerisinde kullanabileceğiniz. API desteği, Gönderdiğiniz HTTP isteklerini düzenleyebi-
leceğiniz bir editör, encode/decode/hash ekranı ve daha fazlası mevcut bu döküman sadece giriş niteliğinde olup bilgilendirme amaçlıdır. OWASP
dışında NetSparker,Acunetix,Burpsuite gibi farklı web vulnerability application scannerları deneyebilirsiniz.Fikir sahibi olmanız açısından BurpSuite
ve OWASP-ZAP ı karşılaştıran bir görseli aşağıya ekliyorum.Penetrasyon testi gerçekleştirirken farklı web güvenlik araçlarıyla taramayı ihmal etmeyin.
Bu döküman Cyber-Akademi Lojistik Destek Tim tarafından oluşturulmuştur.
Kullanılan kaynaklar:
https://www.youtube.com/watch?v=SmY8D8VTWdI
https://groups.google.com/g/zaproxy-users?pli=1
https://www.zaproxy.org/docs/