Burp Suite Nedir? Nasıl Kullanılır?
Şimdi tarayıcımızı açalım ve sibertalimhane.com’u tıklayalım. Burp Suite’te HTTP isteklerini durduma ayarı varsayılan olarak seçili olduğu için sayfa yüklenmeyecektir. Intercept sekmesinden bu ayarı ‘off’ yapmamız gerekir.
Seçenekler arasında Java 8-jre yazan seçeneği seçelim. Hata çözülecektir.
Yukarıdaki işlemler sonucu Burp Suite’i başarılı bir şekilde kurduk ve kullanıma hazır hale getirdik. Şimdi içeriğini inceleyelim.
Target -> Site map sekmesi tarayıcımızın istek göndermiş olduğu siteleri gösteriyor.
Sadece sibertalimhane.com ve google.com’a istek yapmış olmama rağmen tarayıcının istekte bulunduğu birçok site görünüyor. Bu durum tarayıcıların arka planda yapmış olduğu birçok istekten kaynaklanıyor. Google’a ulaşmadan önce reklam servisleri, istatistik&analiz servisleri gibi birçok kaynağa istek gönderiliyor. Ayrıca eriştiğimiz sitede CDN kütüphaneleri de kullanılıyor olabilir. Yazı kapsamına girmeyen bu konu hakkında bu şekilde kısa bir bilgi verip geçiyorum.
Proxy -> Intecept kısmı sunuculara giden istekleri durdurup görebildiğimiz kısım. Forward ile paket gönderilir, Drop ile ise droplanır. Giden isteklerin durdurulabilmesi için ‘Intercept on’ seçilmiş olmalıdır.
Son olarak, Hex kısmında ise giden isteğin byte olarak on altılık basamaktaki halini(hexadecimal) görüyoruz.
Proxy -> HTTP history sekmesinde, Burp’un açılışından itibaren yapmış olduğumuz istek geçmişini görüyoruz. İsteğin yapıldığı adres, istek türü (POST, GET, vs), istek durum kodu (HTTP request status code), istek uzunluğu,vs gibi bilgileri de görüntüleyebiliyoruz.
Yazının devamı için Metasploitable 2 makinesindeki zafiyetli uygulamaları kullanacağım. İlgili makineye buradan ulaşabilirsiniz.
Burp’te istek durdurmayı aktif edip(Intercept on) Metasploitable 2 makinesindeki uygulamalardan Damn Vulnerable Web Application (DVWA) uygulamasına giriş yapmaya çalışalım.
/dvwa/login.php adresine POST isteği yaptık. POST isteği olduğu için parametreler istek gövdesinde ‘username=test&password=test&Login=Login’ şeklinde iletiliyor.
Bu pencerede parametreleri istediğimiz gibi değiştirebilir, ardından hedef sunucuya gönderebiliriz. Kullanıcı adını ‘abc’ olarak, parolayı ise ‘deneme’ olarak değiştirip isteği gönderelim.
Görüldüğü gibi hedef sunucuda abc kullanıcı adlı ve deneme parolasına sahip herhangi bir kullanıcı mevcut değil.
İstek gönderildikten sonra Intercept kısmında kayboldu. Biz bu şekilde farklı kullanıcı adları ve parolaları denemek istiyorduk fakat istek kayboldu. Az önceki işlemleri her seferinde tekrar mı yapmak lazım? Tabi ki hayır. Burp’te ‘Repeater’ modülü tam da bu işe yarıyor. İstek üzerinde değişiklikler yapma ve bunları tekrar tekrar gönderme imkanı sağlıyor.
İlk olarak HTTP history’de, DVWA uygulamasına girmek için gönderdiğimiz isteği bulalım ve bunu Repeater’a gönderelim.
Sonrasında ise admin:123456, admin:123456789 ve admin:pass kullanıcı adı-parola çiftleri ile giriş yapmaya çalışalım ve sayfanın verdiği cevapları inceleyelim. Burp bizim için sunucudan gelen cevabı render ederek sunuyor.
Follow redirections ile sunucudan gelen sayfa yönlendirmelerini takip ediyoruz, tekrar denemek için isteğe geri dönüyor ve parametreleri istediğimiz gibi değiştirerek isteği yeniden gönderiyoruz.
Elimizde kullanıcı adı/mail adresi listesi olduğunu düşünelim. Bu hesaplara ait parolaları deneme-yanılma yöntemi ile(kaba kuvvet, sözlük saldırıları) bulmak istiyoruz. Parolaları Repeater’da tek tek yazıp göndererek mi deneyeceğiz? Ya da şirketimizde/okulumuzda kolaya kaçıp parolasını 123456 yapmış kişileri bulmak istiyoruz. Bu sefer de parola kısmını değiştirmeden sürekli mail adresi/kullanıcı adı mı deneyeceğiz?
Tabi ki hayır. Bunun için ‘Intruder’ adlı bir modül bulunmakta. Bu modül parametreler için çeşitli payload seti deneme işlemini otomatik olarak bizim için yapıyor.
Intruder modülü ile admin kullanıcısına sözlük saldırısı gerçekleştirerek bu modülü uygulamalı olarak görelim.
Önce isteği Intruder modülüne gönderiyoruz.
Target sekmesinde bulunan alanlar otomatik olarak doluyor. O nedenle orayı geçiyoruz. Positions kısmına geliyoruz. Burada farklı saldırı tipleri mevcut fakat en çok kullandığımız türler Sniper ve Cluster bomb. Eğer parametrelerden birini biliyor diğerini deneme yanılma ile bulmak istiyorsak, yani tek payload seti kullanacaksak Sniper’ı, ikisi için de deneme yanılma yapmak istiyorsak, yani iki payload seti kullanacaksak Cluster bomb’u kullanıyoruz.Burp, burada manipüle edilebilecek parametrelerin hepsini göstererek başına ve sonuna § işareti koyuyor.
Biz hangi parametreyi değiştirmek istiyorsak sadece onun başında ve sonunda § işareti olmalı. İlk olarak ‘Clear §’ diyerek seçimlerin hepsini temizliyor, daha sonrasında ise değiştirmek istediğimiz parametreleri ‘Add §’ butonunu kullanarak işaretliyoruz.
Payloads sekmesini inceleyim.
Gelen ayarlar varsayılan olarak sözlük saldırısı yapmak için ayarlıdır. Eğer kaba kuvvet saldırısı yapılmak istenirse Payload sets kısmından ‘Brute forcer’ seçeneği seçilmelidir.
Parola üretmek için karakter setinde olması istenen karakterler girilir, ardından minimum ve maksimum parola boyutları girilir. Burp, bizim için olası bütün ihtimaller ile kelimeler üretecektir. Biz de bunu kaba kuvvet saldırısı için kullanabiliriz. Varsayılan karakter setinde küçük harfler ve rakamlar bulunmaktadır. İstenirse özel karakterler(noktalama işaretleri, vs) ve büyük harfler de karakter setine eklenerek parola uzayı büyütülebilir.
Biz bu saldırıyı sözlük kullanarak yapacağız. Bunun için Payload type olarak Simple list seçelim. Alt tarafta Payload Options [Simple List] adlı bir kısım var. Deneyeceğimiz kelimeleri istersek tek tek buradan Add butonu ile ekleyebilir, istersek Load… butonu ile Kali Linux’ta mevcut olan birçok sözlükten birini kullanabiliriz.
Saldırdığımız sistem UNIX bir sistem olduğu için için Kali Linux’ta ‘/usr/share/wordlists/metasploit’ dizininde bulunan unix_passwords.txt kelime listesini kullanalım. Load… butonu ile unix_passwords.txt dosyasını yükleyelim.
Options sekmesinde en altta bulunan Redirections kısmından Follow redirections seçeneğini Always olarak seçelim çünkü daha önce Repeater modülünde gördüğümüz gibi, sunucuya istek yapıldığı zaman sayfa yönlendirmesi yapılıyordu. Sonuçları görebilmek için gidebildiğimiz yere kadar gidelim.
Şimdi izleyeceğimiz yol şu şekilde: Burp bize denediği parolaları ve dönen cevabın boyutunu söylüyor. Cevap boyutu en büyük olan parola admin parolasıdır diyebiliriz çünkü diğer parolalarda Login Failed uyarısı verip giriş ekranında kalacak fakat gerçek parolada sisteme giriş yapıp yeni bir sayfa açacak. O nedenle cevapların boyutlarını takip ediyor ve diğerlerine göre büyük olan var mı diye gözlemleyeceğiz.
Artık saldırı için her şey hazır. Sağ üstteki Start attack butonu ile saldırıyı başlatalım.
Gözlemlerimiz sonucu en yüksek cevap boyutunu ‘password’ parolası ile aldık. Bu parola cidden gerçek parola mı? Hemen deneyelim.