Burp Suite Programına Genel Bakış

Merhaba arkadaşlar,

Bu makalemizde Web uygulamaları ile alakalı genelde kullanılan Burp Suite aracını sizlerle anlatıyor olacağım.Burp Suite genel olarak Web uygulamalarının güvenliğini test etmek için kullanılan grafik arayüze sahip bir pentest aracıdır.Bu program Java ile yazılmış olup PortSwigger Web Security tarafından geliştirilmiştir.

Bu programın üç sürümü var. Ücretsiz olarak indirilebilen bir Community Sürümü, bir Deneme Süresinden sonra satın alınabilecek bir Profesyonel Sürüm ve bir Enterprise sürümü. Community sürümü, trial olduğundan ötürü programın genel işlevselliği önemli ölçüde azaltıldığını hatırlatmakta fayda var diye düşünüyorum.

Burp Suite üzerinde Proxy sunucusu, tarayıcı ve davetsiz misafir gibi temel işlevlere ek olarak, araç aynı zamanda bir örümcek, tekrarlayıcı, kod çözücü, karşılaştırıcı, genişletici ve sıralayıcı gibi daha gelişmiş seçenekleride sunmaktadır.Bunlardan biraz bahsetmek gerekirse;

HTTP Proxy:Bu özelliği aslında bir nevi MITM modülü gibidir.Sistem bir web proxy sunucusu olarak çalışır ve tarayıcı ile hedef web sunucularıarasında bir nevi dinleme modunda olur. Bu, her iki yönde geçen ham trafiğin ele geçirilmesine, incelenmesine ve değiştirilmesine izin verir.

Scanner: Web uygulamalarının otomatik güvenlik açığı taramalarını gerçekleştirmek için kullanılan bir web uygulaması güvenlik tarayıcısı.

Attacker:Bu araç web uygulamalarına otomatik saldırılar yapabilir. Araç, zararlı HTTP istekleri oluşturabilen yapılandırılabilir bir algoritma sunar. Davetsiz misafir aracı, SQL Enjeksiyonları, Siteler Arası Komut Dosyası Oluşturma, parametre manipülasyonu ve kaba kuvvet saldırılarına duyarlı güvenlik açıklarını test edebilir ve tespit edebilir.

Spider:Web uygulamalarını otomatik olarak taramak için bir araç. Bir uygulamanın içeriğini ve işlevselliğini haritalama işlemini hızlandırmak için manuel haritalama teknikleriyle birlikte kullanılabilir.

Repeater:Bir uygulamayı manuel olarak test etmek için kullanılabilecek basit bir araçtır. Sunucuya yapılan istekleri değiştirmek, yeniden göndermek ve sonuçları gözlemlemek için kullanılabilir.

Decoder:Kodlanmış verileri kanonik şekline dönüştürmek için veya ham verileri çeşitli kodlanmış ve karma biçimlere dönüştürmek için bir araçtır. Sezgisel teknikleri kullanarak birkaçkodlama formatını akıllıca tanıyabilir.

Comparator:Herhangi iki veri öğesi arasında karşılaştırma (görsel “fark”) yapmak için bir araç.

Genişletici – Güvenlik test cihazının Burp uzantılarını yüklemesini, güvenlik test edicilerinin kendi veya üçüncü taraf kodunu (BAppStore) kullanarak Burp işlevselliğini arttırmasını sağlar.

Sorter:Bir veri öğeleri örneğindeki rastgelelik kalitesini analiz etmek için bir araç. CSRF belirteçleri, şifre sıfırlama belirteçleri gibi bir uygulamanın oturum belirteçlerini veya öngörülemeyen diğer önemli veri öğelerini test etmek için kullanılabilir.

Burp Suit ile alakalı genel bilgiler verdikten sonra dilerseniz bir uygulama ile beraber programın nasıl çalıştığını hep birlikte görelim.Burp Suit kalide default olarak yüklü gelmektedir.Ama yüklü değilsede internet üzerinden paketlerini indirip kurabilirsiniz.

Kali Linux içerisinde Burp Suit programını ilk açtığımızda karşımıza Proje oluşturma ekranı gelmekte.Bu proje oluşturma ekranında dilerseniz varsayılan proje (Temporary) ,disk üzerinde bir proje oluşturmak ve kaydetmek isterseniz hemen alttaki seçeneği veya varolan projenizi açmak isterseniz (Open existing) seçeneğini kullanabilirsiniz.Ben ilk seçeneği seçerek devam ediyorum.

Konfigürasyon sekmesine geldiğimizde isterseniz Burp Suite default konfigürasyonunu kullanabilir veya önceden oluşturduğunuz özel konfigürasyonu import edebilirsiniz.Ben default kullanacağımdan ötürü dokunmadan devam ediyorum.

Karşımıza Burp Suite ekranı gelmekte.Buradan kısaca bahsetmek gerekirse bir çok farklı modül olduğunu söyleyebilirim.Bizim kullanacağımız modüller genelde Target-Proxy-Spider-Scanner modülleri olucak. <

Öncelikle Burp Suit ile testler yapmadan önce programı browser ile hedef sunucu arasına konuşlandırmamız gerekiyor.Bunun için ilgili browser’ın proxy ayarlarını yaparak programa ait proxy adresini ilgili kullanacağımız browser a setting kısmına yazmamız lazım.Default olarak 127.0.0.1 8080 olarak tanımlıdır.Bozmuyoruz arkadaşlar aynen bu adresi direk kullanacağımız tarayıcının ayarlar kısmına tanıtıyoruz.

Scop kısmı ise esasında Hedef kapsam yapılandırması, Burp’a paket çapında bir düzeyde, şu anki çalışmanızın hedefi olan ana bilgisayarların ve URL’lerin tam olarak ne oluşturduğunu söylemenizi sağlar. Hedef kapsamı, kabaca şu an ilgilendiğiniz ve saldırmak isteyen öğeler olarak düşünebilirsiniz.

Tabi bu scoplar içinde ayrı ayrı önemli noktaları mevcut.Bunları irdelemek gerekirse;

*Yalnızca kapsam dahilindeki öğeleri göstermek için hedef site haritası ve Proxy geçmişindeki görüntüleme filtrelerini ayarlayabilirsiniz.

*Proxy’ye yalnızca kapsam dahilindeki istekleri ve yanıtları kesmesini söyleyebilirsiniz.

*Davetsiz misafir ve Yineleyiciyi, kapsam dahilindeki herhangi bir URL’ye yönlendirmeleri takip edecek şekilde yapılandırabilirsiniz.

*Burp’a şu anki hedefinizin ne olduğunu söyleyerek, Burp’un bu tür çok sayıda eylemi uygun şekilde gerçekleştirmesini sağlayabilirsiniz, yalnızca ilgilendiğiniz ve saldırmak isteyen öğeleri hedefleyebilirsiniz. Her durumda, hedef kapsamı ve ilgili davranışı bireysel araçlar düzeyinde daha da hassas şekilde ayarlayabilirsiniz.

Bir sonraki adımımız hedef sitenin tespiti ve bunun analizinin yapılması.Burada önceki makalelerde sıkça kullandığımız google dork search yöntemi ile test yapacağımız açıklığı bulunan web sitelerini listeliyoruz.Bundan sonraki süreçte ise bu siteyi ziyaret eder iken capture olayını başlatarak “Intercept is off” butonuna tıklamamız gerekiyor.

Bu aşamada ilgili  siteye bağlantı yaptığımız vakit görüldüğü üzere ilgili isteğin analizi bize yansıyor ve değerleri çekerek bize iletiyor.Bu aşamada daha detaylı analiz için bazı konfigürasyonlar yapmamız gerekiyor.Bunun için ilgili bölüm üzerinde boş alana sağ click yaparak “Send to Intruder” seçeneğini seçiyoruz.

Intruder kısmında ise varolan zafiyeti analiz veya istismar edebilmek için belirli parametreleri anlamamız gerekiyor.Get methodu ile çekilen veride php?id=1 olan bölümü ve kodun tamamını Add butonuna tıklayarak ekliyoruz.Bu arada bunların ne işe yaradıklarını anlatmak gerekir ise;

Add Methodu :Verinin bulunduğu panelde hiçbir metin seçilmezse, imleç konumuna tek bir yük yükü işaretçisi ekler. Bir metin seçtiyseniz, seçilen metni içine alan bir çift işaretleyici eklenir.

TemizleMethodu: Bu, tüm konum işaretleyicilerini ya tüm şablondan ya da şablonun seçilen kısmından kaldırır.

Auto Methodu: Bu, yükleri konumlandırmanın ve yük işaretleyicilerini buna göre yerleştirmenin yararlı olabileceği konusunda bir tahminde bulunur. Bu, tüylenmeye uygun konumları hızlı bir şekilde işaretlemek için kullanışlıdır, ancak daha özelleştirilmiş saldırılar için manuel konumlandırma gereklidir. Bazı metin seçtiyseniz, işaretçiler yalnızca seçili metnin içine yerleştirilir; Aksi takdirde tüm istek şablonu boyunca yerleştirilirler. İşaretleyicilerin otomatik olarak yerleştirilmesi, yükleri URL sorgu dizesi parametreleri, gövde parametreleri, çerezler, çok parçalı parametre özellikleri (örneğin, dosya yüklemelerinde dosya adı), XML verileri ve öğe özellikleri ve JSON parametreleri dahil olmak üzere çeşitli istek parametresi değerlerine yerleştirir. Intruder menüsündeki bir seçenek aracılığıyla otomatik yük konumlarının mevcut parametre değerlerinin yerine mi ekleneceğini yoksa ekleneceğini de yapılandırabilirsiniz. İsteğin bir alt kısmı, ancak mesaj gövdesinin tamamı değil, XML veya JSON kullanarak biçimlendirilmiş veri içeriyorsa, yüklenen yükleri otomatik olarak biçimlendirilmiş veri bloğunu manuel olarak seçerek ve “Otomatik” seçeneğini kullanarak yerleştirebilirsiniz. içindeki yükü konumlandırma düğmesi. Bu, örneğin, çok parçalı bir parametre değeri XML veya JSON formatında veri içerdiğinde yararlıdır.

Yenile Methodu:Gerekirse, istek şablonu düzenleyicisinin sözdizimi renklendirmesini yeniler.

Sil Methodu: Bu, istek şablonunun tamamını siler.

Positions seçeneği ise attak yapar iken hangi modülü kullanabileceğimizin listesini bize sunan alandır.Burdaki seçenekleri kısaca özetlemek gerekirse;

Sniper Seçeneği: Bu tek bir taşıma yükü kümesi kullanır. Her bir payload pozisyonunu sırayla hedefler ve her bir payload’ı sırasıyla bu pozisyona yerleştirir. Belirli bir istek için hedeflenmeyen pozisyonlar etkilenmez – konum işaretleyicileri kaldırılır ve şablonda aralarında görünen kapalı metinler değişmeden kalır. Bu saldırı türü, ortak güvenlik açıkları için ayrı ayrı bir dizi istek parametresinin tutturulması için kullanışlıdır. Saldırıda üretilen toplam istek sayısı, konum sayısının ve ayarlanmış olan veri yükündeki yük sayısının ürünüdür. 

Battering Ram Seçeneği: Yükler üzerinden yinelenir ve aynı yükü aynı anda tanımlanmış olan tüm yük konumlarına yerleştirir. Bu saldırı türü, bir saldırının istek içinde birden fazla yere aynı girişin eklenmesini gerektirdiği durumlarda kullanışlıdır (örneğin, bir Cookie içindeki bir kullanıcı adı ve bir body parametresi). Saldırıda üretilen toplam istek sayısı, yüklenen yükteki yüklerin sayısıdır. 

Pitchfork Seçeneği: Bu, birden fazla faydalı yük setini kullanır. Tanımlanan her pozisyon için farklı bir taşıma yükü vardır (en fazla 20). Saldırı tüm faydalı yük setlerini aynı anda tekrar eder ve bir faydalı yükü tanımlanmış her pozisyona yerleştirir. Başka bir deyişle, ilk talep ilk yükü 1 nolu yükten 1 nolu pozisyona, ilk 2 nolu yükün 2 nolu pozisyona; ikinci talep, ikinci yükü 1 set yükünden 1 pozisyonuna ve ikinci yükünü 2 set yükünden 2 pozisyonuna, vb. yerleştirecektir. Bu saldırı tipi, bir saldırının farklı ama ilgili girdilerin birden fazla yere yerleştirilmesini gerektirdiği durumlarda kullanışlıdır. istek (örneğin bir parametrede bir kullanıcı adı ve başka bir parametrede bu kullanıcı adına karşılık gelen bilinen bir kimlik numarası). Saldırıda üretilen toplam istek sayısı, en küçük yükteki setteki yüklerin sayısıdır. 

Cluster Bomb Seçeneği: Bu özellik birden fazla yük kapasitesi seti kullanır. Tanımlanan her pozisyon için farklı bir taşıma yükü vardır (en fazla 20). Saldırı, sırayla belirlenen her bir yük yükü boyunca yinelenir, böylece yük yükü kombinasyonlarının tüm izinleri test edilir. Bir başka deyişle, iki taşıma yükü konumu varsa, saldırı ilk yükü 2 numaralı yük yükünden 2 konumuna getirecek ve 1. konumdaki yük 1’deki tüm yükler boyunca yineleyecektir; daha sonra ikinci yükü 2 nolu yükten 2 nolu yüke yerleştirecek ve 1 nolu konumdaki 1 nolu yük vagonu içindeki tüm yükleri yineleyecektir. Bu saldırı tipi, bir saldırının birden fazla yere farklı ve ilgisiz veya bilinmeyen bir giriş yapması gereken durumlarda kullanışlıdır. istek içinde (örneğin, kimlik bilgilerini tahmin ederken, bir parametrede bir kullanıcı adı ve başka bir parametrede bir şifre). Saldırıda üretilen toplam istek sayısı, tüm tanımlanmış veri yükü kümelerindeki veri yükü sayısının ürünüdür – bu aşırı büyük olabilir.

Payload kısmında ise hedef siteyi test etmek istediğimiz parametreleri bu alanda input edebilmekteyiz.Öğe listeleri kullanan çeşitli yük türlerinde, ortak kullanıcı adları ve parolalar, özet dizeleri vb. Intruder menüsünden oluşturulan listeleri düzenlemek veya kullanmak için kendi yük dosyanızı içeren dizini seçebilir ve ayrıca tüm Burp’un yerleşik yük listesi listelerini özelbir dizine kopyalayabilirsiniz. Oluşturduğumuz payload türü, birden fazla öğe listesini yapılandırmanıza ve listelerdeki tüm öğelerin izinlerini kullanarak yükleri oluşturmanıza olanak sağlar. Belirli bir şablona göre karakterlerin veya diğer öğelerin özel permütasyonlarını oluşturmak için kullanabiliriz.Oluşturulan Payloadlar permütasyon oluşturmak için kullanılan 8 farklı “pozisyon” tanımlamaktadır. Her konum, bir öğe listesi ve bu konum ile bir sonraki arasına eklenen isteğe bağlı bir “ayırıcı” dizesiyle yapılandırılmıştır. Bahsedilen örnekte, 1 ve 2 pozisyonları A – Z öğeleriyle, 3 ve 4 konumları 0 – 9 öğeleriyle, 2 konumu da ayırıcı karakter / ile ayarlanacaktır. Saldırı gerçekleştirildiğinde, özel yineleyici, tüm olası izinleri kapsayacak şekilde her konumdaki her bir öğe boyunca yinelenir. Bu nedenle, bu örnekte, toplam taşıma kapasitesi 26 * 26 * 10 * 10’a eşittir.Payload öğeleri, basit liste yükü türü için açıklandığı şekilde düzenlenebilir. “Remove” sekmesi, tüm yapılandırmayı özel yineleyicinin tüm konumlarından kaldırır. Payload için önceden yapılandırılmış bir kurulum seçmek için ise “Load” sekmesi kullanılabilir. Bunlar çeşitli standart saldırılar için kullanılabilir veya özelleştirilmiş saldırılar için değiştirilebilir. Kullanılabilir şemalar, URL üretmek için kullanılabilecek “dizin / dosya uzantısı” ve şifre tahmin saldırıları için genişletilmiş bir kelime listesi oluşturmak için kullanılabilecek “şifre + rakam” dır.Bütün  payload yüklerini bu kısımda düzenleyebilir ve test edebilirsiniz.

İlgili payload saldırısının tanımlarını yaptıktan sonra Attack Target kısmından hedef site için saldırı faliyetini başlatıyoruz.Görüldüğü üzere yazdığımız setleri algoritma sistemine göre düzenleyip hedef sitedeki açıkları aramaya başlıyor.

Tarama sonuçlarında eğer olağan dışı bir sorgunun döndüğü değeri mevcut ise açığı buldunuz demektir.

Burp Suit programı ile alakalı makalemiz buraya kadar diğer makalelerde görüşmek üzere hoşçakalın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

error: Content is protected !!