7 Eylül 2014 Pazar

Netsparker Web Uygulamaları Güvenlik Tarayıcısı Analizi

Netsparker
Netsparker Web Application Vulnerability Scanner
                  Biz güvenlik uzmanları araştırmalarımızı ve sızma testlerini yaparken yapay zeka araçlara çok fazla güvenmediğimizden dolayı öncelikle birçok bulguyu manuel olarak bulmaya özen gösteriyoruz. Bu manuel taramaları gerçekleştirmeden öncesinde ve sonrasında tabi ki gözden kaçan detaylar için otomatize araçların kullanılması işlerimizi kolaylaştırıyor. Piyasada bulunan web application vulnerability scanner (WVS) olarak isimlendirdiğimiz araçlar incelendiğinde, bunlardan başlıca öne çıkan araçlarda önem verilen konuların başında tabiki bulunan güvenlik açığının doğruluk (False-Positive) oranı vardır.
Piyasada gerçekten iyi bir doğruluk oranına sahip olan Netsparker tarayıcısını inceledim ve incelemelerimde gözüme çarpan şeyleri sizinle paylaşmak istiyorum.
Öncelikle Netsparker 'ı kuracağınız bilgisayarda eğer Net framework 4.0 yüklü değilse program çalışması için gerek duyduğu bu frameworkün kurulmasını istiyor.
Eğer siz de güncel olmayan (Windows update leri açık olmayan) bir bilgisayarda Net framework 4.0 'ı kurmaya çalışırsanız aşağıdaki gibi bir hata ile karşılaşabilirsiniz:

HRESULT 0xc8000222
HRESULT 0xc8000222 Hatası

Hatanın giderilmesi için internette bulduğum şu çözümü sırayla uygularsanız sonuca varırsınız:

HRESULT  0xc8000222 Hatası çözümü:
> Başlata tıklayın.
> "Programları ve Dosyaları Ara" bölümüne cmd yazın listeye gelen arama sonucundaki  cmd.exe'nin üstüne sağ tıklayın ve açılan pencereden Yönetici Olarak Çalıştır 'ı seçin.
> Komut istemi satırına net stop WuAuServ yazın ve enter tuşuna basın böylece windows update hizmetini durduracaksınız.
> Windows tuşu + R tuşlarına basın. Çalıştır açılacaktır.  %windir% yazın ve enter tuşuna bastığınızda windows klasörü gelecektir.
> Açılan Windows klasörünün içinde bulunan SoftwareDistribution isimli klasörü bulun ve sağ tuşla tıklayın ve yeniden adlandırın. Klasör adını örneğin SD2 yapın.
> "Programları ve Dosyaları Ara" bölümünden 2.adımda yaptığımız gibi cmd yi tekrar yönetici olarak çalıştırın.
> Komut satırına  net start WuAuServ yazın enter tuşuna basın böylece Windows update yeniden başlatılacaktır.
> Bilgisayarı yeniden başlatın.
> Kurulumu şimdi tekrar deneyin.


                Diğer çoğu güvenlik tarayıcısında olmayan birçok özgün özelliği Netsparker 'da bulmanız mümkün. Program kullanıcıya birçok seçenek sunarak oldukça esnek bırakılmış.
Mesela crawling dediğimiz dizinlerin listelenmesi, yani url lerin keşfi bölümü bile kullanıcının isteğine göre attack ile beraber yapılsın veya yapılmasın diye seçeneklendirilmiş. Örneğin crawling & attacking seçeneği aynı anda bulunmasa bir websitesinin ne kadar uzun sürede crawling edileceğini bilmediğinizden dolayı bu süreç oldukça uzun sürebilir ve güvenlik açıklarını bulma kısmı attack sürecine çok çok geç başlayabilirdiniz. Bu yüzden bir süre url topladıktan sonra crawling & attacking sürecine geçme seçeneği varsayılan özellik olarak aktif. Aynı şekilde ben bir uygulamanın dizinlerini listelettirmek istiyorsam gereksiz sorgular olmadan sadece crawling seçeneğini de kullanabiliyorum.
Bu program piyasada rakibi olan Acunetix gibi programlara nazaran daha az sorgu ile iş yapıyor. Bu da hoşuma giden özelliklerden bir tanesi oldu. Gönderilen paketleri incelediğinizde az sayıda sorguyla yapılabilecek işlerde israfa kaçılmamış. Fakat yine de özellikle blind sql tespitinde farklı bir algoritma ile sorgular daha da azaltılabilir.

                Programda karşılaştığım eksiklerden bir tanesi user-agent üzerinde bulunabilecek muhtemel güvenlik açıklarını taramaması. Bildiğiniz üzere user-agent stringi manuel olarak tarayıcıda değişiklik yapılarak gönderilebilir. Bazı webmasterlar bu user-agent stringini websiteleri üzerinde veritabanlarında, sayfaya yansıyan veya yansımayan bölümlerinde değerlendirirken filitrelemeye tabi tutmayabiliyorlar. Burada bulunabilecek muhtemel güvenlik açıklarının tespiti için güvenlik tarayıcılarında user-agent taraması oldukça önemlidir. Çoğu tarayıcı, sorguların kendi programından yapıldığını loglar üzerinde göstermek adına sadece özel bir user-agent tanımlayarak gönderiyor. Bu gönderilen user-agent sorguları içerisinde tabi ki diğer inputlarda yapıldığı gibi güvenlik testleri yapılmalı ve sonuçları değerlendirilmelidir.
Netsparker ile user-agent değişkeninde sql injection güvenlik açığı bıraktığım bir uygulamamı taradım fakat bulgularda bununla ilgili bir tespite rastlayamadım. Bazı websitelerinde yine user-agent değişkeni sayfa içerisinde ziyaretçilerin tarayıcı bilgilerini sayfa içerisinde göstermek adına kullanılıyor, burada bu değişkenin filitreden geçirilmediği alanlarda xss açıklarının tespiti için de tarayıcı tarafından user-agent taraması önemlidir.
Programın yeni sürümlerinde bununla ilgili bir çalışma yapılması güzel olacaktır.

             XSS güvenlik açıklarını tararken json çıktılarını muhtemel xss açığı olarak bildirmesine bir çözüm üretilmeli. Bu çözüm güvenlik açığı doğruluğu (false/positive) oranına ciddi katkı sağlayacaktır.
Tabi ki json çıktılarının muhtemel xss açığı detay kısmında programın kendine ait doğruluk onay oranı düşük verilse de xss 'in tespitindeki metodoloji kodlarla biraz daha farklı yorumlanarak sunulabilir.

              Netsparker üzerinde yaptığım incelemelerde gözüme çarpan bir şey de admin panel bulucu modülü biraz daha zengin olabilir. Örneğin piyasada çok fazla sitede rastladığım "siteadı-admin" tipi varyasyonlarda bilgi toplama araçlarındaki bölüme eklenebilir. Mesela deneme.com/deneme-admin şeklinde birçok yönetim paneli dizini bulunduğunu şuana kadar yaptığım çalışmalardan biliyorum. Bunun gibi daha farklı admin panel wordlisti oluşturulabilir diye düşünüyorum.

             Olumlu veya olumsuz yansımaları tartışılabilir bir özelliği de server bazı sorgulara geç cevap verdiğinde o sorguyu es geçiyor. Burada es geçilen sorgu, programın taramanın son kısmında yaptığı açık doğrulama kontrolünde tekrar gözden geçirilmeli.

            Sonuç olarak ilk izlenimlerime göre Netsparker güvenlik tarayıcısını ben tavsiye edilebilecek kadar çok kullanışlı ve güzel buldum. Fiyat olarak şirketlere tavsiye edebileceğim bir fiyat aralığında. Eğer bilgi-işlem personelinizin pentest doğrulama ve ilk müdahale ihtiyacını karşılama bakımından bir arayış içerisindeyseniz, seçiminizi öncelikle Netsparker yönünde kullanabilirsiniz. Netsparker 'ı kullandığım süreç içerisinde güncellemeleriyle gelen yeni dahil ettiği ve göze çarpan kullanışlı fonksiyonlarını öneri olarak yazıma dahil edeceğim. Ürünü verdiğim bağlantıdan indirebilirsiniz. Download Netsparker Demo

             Duyumlarıma göre yakın dostlarımdan Yasir Taşdemir 'in kodlama aşamasında olduğu ve birçok modülünü tamamladığını bildiğim TurkSec Scanner isimli bir web güvenlik tarayıcısı var. Şuana kadar kodladığı bölümlerini incelediğimde gerçekten çok farklı algoritmalarla piyasadaki araçlarla yarışabilecek türden iddialı gözüküyor. Hatta şuana kadar incelediğim araçlarda rastlamadığım türden farklı, kullanışlı algoritma ve sorguları var. İleride bu güvenlik tarayıcısının da diğer tarayıcılara göre olumlu ve olumsuz yanlarından bahsedeceğim.

Emrullah Akdemir ~

Alexa Değeri