Burp Suite
Burp Suite Nedir, ne işe yarar? İçerdiği modüller nelerdir, ne işe yararlar?
Burp Suite, güvenlik testi profesyonelleri ve web uygulama güvenliği araştırmacıları tarafından kullanılan popüler bir siber güvenlik aracıdır. Bu araç, web uygulamalarını ve servislerini test etmek, güvenlik açıklarını tespit etmek ve bunları gidermek için kullanılır. Burp Suite, web güvenlik testleri yapmak için kullanılan bir dizi modül içerir.
Modüller
- Proxy: Bu modül, web tarayıcınızın trafik akışını yakalar ve incelemek için araya girer. Bu sayede, HTTP ve HTTPS trafiğini inceleyebilir, değiştirebilir ve güvenlik açıklarını tespit edebilirsiniz.
- Scanner: Bu modül, hedef web uygulamalarını otomatik olarak tarayarak potansiyel güvenlik açıklarını tespit eder. Zafiyet tespiti için SQL enjeksiyonu, Cross-Site Scripting (XSS), güvenlik duvarı bypass, kötü amaçlı dosya yükleme ve diğer yaygın saldırı vektörlerini test eder.
- Repeater: Bu modül, web isteklerini manuel olarak göndermek ve yanıtları incelemek için kullanılır. Bu sayede, belirli güvenlik açıklarını daha etkili bir şekilde test edebilirsiniz.
- Intruder: Bu modül, hedef web uygulamasına otomatik olarak çok sayıda özelleştirilmiş istek göndererek farklı parametre kombinasyonları ve saldırı vektörlerini test etmenizi sağlar. Özellikle güçlü parola tahmin saldırıları ve benzeri durumlar için kullanışlıdır.
- Sequencer: Bu modül, rastgele üretilen veriler üzerinde istatistiksel analizler yaparak uygulamanın oturum yönetimi ve kimlik doğrulama mekanizmalarının güvenliğini değerlendirir.
- Decoder: Bu modül, web isteklerinde ve yanıtlarında kodlanmış verileri çözmek ve görüntülemek için kullanılır. Base64, URL kodlama ve benzeri şifreleme türlerini çözmek için işlevseldir.
- Comparer: Bu modül, iki web isteğini veya yanıtı karşılaştırarak farklılıkları vurgulamanıza olanak tanır. Özellikle güvenlik duvarlarını ve filtreleme mekanizmalarını atlamak için kullanışlıdır.
- Extender: Bu modül, Burp Suite’a üçüncü taraf eklentiler yüklemenize olanak tanır. Bu sayede, yeni test ve analiz yetenekleri eklemek için genişletilebilir.
Örnek Senaryo:
Cross-Site Scripting (XSS) Tespiti:
Bir şirketin web uygulamasının güvenlik testi için Burp Suite kullanılabilir. Proxy modülü sayesinde, uygulamanın tüm istekleri ve yanıtları yakalanabilir. Bu sayede, potansiyel XSS güvenlik açıkları tespit edilebilir. Bu saldırıyı simüle etmek için, intruder modülü kullanılarak farklı parametre değerleriyle özelleştirilmiş XSS payloadları gönderilir ve uygulamanın nasıl tepki verdiği izlenir.
Burpsuite’i başlattığımızda karşımıza 4 kısımdan oluşan bir dashboard çıkıyor:
Tasks (Görevler):
Burp Suite’in “Tasks” bölümü, yapılan tarama ve saldırı görevlerinin yönetildiği alandır. Burada mevcut ve tamamlanan görevlerin listesi görüntülenir. Tarama ve saldırı görevleri, Burp Suite’un otomatik zafiyet tarama araçlarının (Scanner) veya manuel saldırıların yapıldığı sırada oluşturulan işlemleri temsil eder.
“Görevler” bölümünde şunları yapabilirsiniz:
- Görevleri başlatma, duraklatma, durdurma veya yeniden başlatma.
- Görev sonuçlarını görüntüleme ve analiz etme.
- Tarama raporlarını ve sonuçlarını kaydetme ve yönetme.
Issue Activity (Sorun Etkinliği):
“Issue Activity” bölümü, tarama sırasında Bulduğunuz ve etkileşimde olduğunuz tüm güvenlik sorunlarının (zafiyetlerin) bir kaydını tutar. Burada tarama sırasında tespit edilen tüm güvenlik açıkları ve hatalar listelenir.
“Issue Activity” bölümünde şunları yapabilirsiniz:
- Güvenlik açıklarını, hataları ve uyarıları görüntüleme.
- Her bir güvenlik açığının ayrıntılarını ve tespit tarihini inceleme.
- Sorunların önem derecesini değerlendirme ve önceliklendirme.
Advisory (Danışmanlık):
“Advisory” bölümü, Burp Suite’un veritabanında bulunan ve güvenlik açıklarıyla ilgili olarak kullanıcılara öneriler ve rehberlik sağlayan bir alandır. Burada, mevcut güvenlik açıkları ve saldırı teknikleri hakkında bilgi ve tavsiyeler bulunur.
“Advisory” bölümünde şunları yapabilirsiniz:
- Burp Suite veritabanındaki güvenlik açıkları hakkında bilgi ve öneriler okuma.
- Güvenlik açıkları hakkında daha fazla bilgi edinme ve bunları nasıl düzelteceğinize dair yönergeler almak.
Event Log (Olay Günlüğü):
Burp Suite içindeki aktiviteler ve olaylar hakkında gerçek zamanlı bilgi ve güncellemeler sağlayan bir bölümdür. Bu bölüm, test oturumu sırasında Burp Suite üzerinden yapılan çeşitli işlemleri ve bağlantıları kronolojik olarak kaydeden bir kayıt tutar.
Event Log’da bulabileceğiniz bazı bilgiler şunlardır:
- Burp Suite’nin Başlatılması: Burp Suite’ın açılması, uzantıların yüklenmesi ve çeşitli bileşenlerin başlatılması gibi başlangıçla ilgili bilgiler.
- Proxy İşlemleri: Proxy modülünün faaliyetleriyle ilgili detaylar, istekleri yakalaması ve yönlendirmesi, yanıtları incelemesi gibi.
- Tarama Etkinliği: Otomatik zafiyet tarama aracının faaliyetleri hakkında güncellemeler, hedefleri taramaya başlama ve keşiflerle ilgili bulguların bildirimi gibi.
- Spider İşlemleri: Spider modülünün işlemleriyle ilgili bilgiler, web uygulamasını taraması ve haritalandırması gibi.
- Intruder Etkinliği: Intruder modülünün faaliyetleri, şifre kuvvet saldırıları veya veri fuzzer kullanılarak yapılan işlemler gibi.
- Repeater İşlemleri: Repeater modülünde yapılan işlemlerle ilgili detaylar, istekleri değiştirme ve yeniden gönderme gibi.
Ayrıca menu bar’da bulunan Window bölümünden her bir modülü ayrı ayrı sekmelerde görebilirsiniz.
Ayrıca;
Sessions (Oturumlar):
Burp Suite’un “Sessions” (Oturumlar) özelliği, web uygulamalarının oturumlarıyla ilgili çalışmaları takip etmek ve yönetmek için kullanılır. Burp Suite, farklı oturumlarda yapılan web tarayıcısı etkinliklerini ve web uygulamaları arasındaki geçişleri takip edebilir.
Oturumların kullanımı, web uygulamalarını test ederken oturum yönetimiyle ilgili sorunları tespit etmek ve testleri farklı oturumlarda gerçekleştirmek için oldukça faydalıdır. “Sessions” bölümü, web tarayıcısındaki oturumları senkronize ederek, oturumlar arasında geçiş yapmayı ve oturumla ilgili bilgileri kaydetmeyi sağlar.
Hotkeys (Kısayol Tuşları):
Burp Suite, kullanıcıların belirli işlemleri hızlı bir şekilde gerçekleştirmelerine yardımcı olmak için “hotkeys” veya “kısayol tuşları” sağlar. Hotkeys, belirli işlevleri tetiklemek için klavye üzerinde belirli tuş kombinasyonlarını kullanmaktır.
Örneğin, Ctrl + Shift + C, Proxy modülünde seçili isteğin İsteği Oluşturucu’ya aktarılmasını sağlar. Bu ve benzeri kısayol tuşları, işlem hızını artırır ve kullanıcıların Burp Suite’un çeşitli özelliklerini daha verimli bir şekilde kullanmasına yardımcı olur.
Tryhackme Çözümleri:
Link 1: https://tryhackme.com/room/burpsuitebasics
Bu taskda, belirli bir IP adresine sahip bir web sitesini (http://10.10.223.129/) ziyaret etmemizi ve ana sayfadan bağlantıları olan tüm sayfaları incelememizi istiyor. Ardından, site haritasını kontrol ederek olağandışı görünen bir “endpoint” (uç nokta) tespit etmemizi öneriyor.
Yapmamız gereken adımlar şunlardır:
- http://10.10.223.129/ adresine tarayıcınızda gidin.
- Ana sayfada bulunan bağlantılara tıklayarak ana sayfadan başka sayfalara gezinin. Her sayfayı ziyaret edin ve içeriklerini kontrol edin.
- Siteyi keşfettikten sonra, site haritasını kontrol edin. Bir “site haritası” web sitesindeki tüm sayfaların bir listesidir ve genellikle sitenin yapısı ve hiyerarşisini gösterir.
- Site haritasında “very unusual” olarak nitelendirdikleri veya normalden farklı gözüken bir “endpoint” arayın. “Endpoint” burada belirli bir web adresini veya işlevi ifade eder.
- Bu olağandışı “endpoint”e tıkladığınızda, tarayıcınızda açılacak olan sayfada bulunan “Response” bölümünü inceleyin. Bu bölüm, web sitesinden alınan yanıtı gösterir ve bu yanıttaki içerikleri analiz etmeniz gerekebilir.
Başarılı bir XSS saldırısı için yapacağımız adımlar:
- Burp Suite’u açıyoruz ve “Proxy” sekmesine gidiyoruz. Ardından, “Intercept” alt sekmesini aktifleştiriyoruz.
- Web sitesinin destek formuna giriyoruz ve “Contact Email” alanına geçerli bir e-posta adresi yazıyoruz, örneğin “pentester@example.thm”. “Query” alanına da “Test Attack” gibi basit bir metin giriyoruz.
- Formu gönderiyoruz — bu işlemle gönderdiğimiz istek Burp Suite Proxy tarafından yakalanacak.
- Burp Proxy’de yakalanan isteği inceliyoruz ve “Contact Email” alanını bu payload ile değiştiriyoruz: <script>alert(“Succ3ssful XSS”)</script>. Bu payload, tarayıcıda çalıştırıldığında bir XSS saldırısı gerçekleştirir.
- Payload’ı yapıştırdıktan sonra, payloadi seçiyoruz ve güvenli bir şekilde gönderilebilmesi için URL kodlaması yapmak için Ctrl + U kısayolunu kullanıyoruz.
- Son olarak, “Forward” düğmesine basarak isteği gönderiyoruz.
Bu işlemi yaptığımızda, web sitesinden bir “alert” kutusu alacağız ve “Succ3ssful XSS” mesajını içeren bir pop-up göreceğiz. Bu, başarılı bir XSS saldırısının sonucudur.
Link 2: https://tryhackme.com/room/burpsuiterepeater
Burp Suite Repeater
Burp Suite Repeater aracı, web uygulamalarını test ederken çok işe yarar bir araçtır. Repeater, web uygulamalarından alınan istekleri istediğimiz gibi düzenleyip tekrar göndermemize olanak tanır.
Repeater’ın arayüzünde iki önemli bölüm vardır: “Request” (İstek) ve “Response” (Yanıt).
“Request” bölümünde, web uygulamasına göndermek üzere hazırlanan isteğin içeriği görüntülenir. Burada isteğin URL’si, başlıkları, parametreleri ve gövdesi gibi bilgiler yer alır.
“Response” bölümünde ise, web sunucusundan alınan yanıtın içeriği görüntülenir. Yanıt, sunucunun gönderdiği başlıklar, durum kodu, içerik türü ve yanıt gövdesi gibi bilgileri içerir. Ayrıca, yanıtı grafiksel olarak da inceleyebiliriz, böylece içeriği daha iyi anlayabilir ve analiz edebiliriz.
Repeater, istekleri tekrar göndermemizi sağlayan önemli bir düğme içerir: “Send” (Gönder). “Send” düğmesine tıklayarak yapılan değişiklikleri kaydedebilir ve düzenlenen isteği hedef web sunucusuna gönderebiliriz.
Repeater aynı zamanda geri alma özelliği de sunar. Eğer yaptığımız değişiklikleri geri almak istiyorsak, “Back” (Geri) düğmesine tıklayarak orijinal isteği tekrar elde edebiliriz.
Inspector bölümü de Repeater’da bulunan bölümlerden birisidir,Inspector, web uygulamalarından alınan istekleri ve yanıtları görsel olarak görüntüler. İstek ve yanıtlardaki başlıkları, parametreleri, gövde içeriğini ve diğer detayları kolayca incelememizi sağlar.
Sonuç olarak, Repeater aracı, web uygulamalarını manuel olarak test etmek için kullanışlı bir araçtır. İstekleri düzenleyebilir, tekrar gönderebilir ve yanıtları görüntüleyebiliriz. Bu sayede web uygulamalarında güvenlik açıklarını tespit etmek ve test etmek daha kolay ve etkili hale gelir.
Response bölümünün altında alınan yanıtın farklı görüntüleme seçenekleri bulunur. Bunlar:
- Pretty (Düzgün Görünüm):
Pretty seçeneği, yanıtın okunabilir ve düzenlenmiş bir şekilde görüntülenmesini sağlar. Bu seçeneği seçtiğimizde, yanıtın içeriği formatlanır ve belirli yapılar göz önüne alınarak düzenlenir. Böylece, yanıtın içeriğini daha kolay anlayabiliriz. JSON veya XML gibi yapılandırılmış verileri görüntülemek için bu seçenek özellikle faydalıdır.
- Raw (Ham Görünüm):
Raw seçeneği, yanıtın orijinal, ham haliyle görüntülenmesini sağlar. Bu seçeneği seçtiğimizde, yanıtın içeriği herhangi bir formatlama yapılmadan, olduğu gibi görüntülenir. Ham görünüm, yanıtın tam içeriğine odaklanmak ve hiçbir değişiklik olmadan doğrudan içeriği incelemek istediğimiz durumlarda kullanışlıdır.
- Render (Görüntüle):
Render seçeneği, yanıtın görsel olarak nasıl görüneceğini gösterir. Bu seçeneği seçtiğimizde, yanıttaki HTML veya metin içeriği web tarayıcıları gibi bir render motoru kullanılarak işlenir ve sayfa grafiksel olarak görüntülenir. Bu, yanıtın nasıl gözükeceğini incelemek için faydalıdır ve sayfanın tasarım ve düzenini değerlendirebiliriz.
- Hex (Hexadecimal Görünüm):
Hex seçeneği, yanıtın içeriğini onaltılık (hexadecimal) formatında gösterir. Her karakter, 16'lık bir sayı sistemine dayalı iki haneli bir kodla temsil edilir. Bu seçenek, özellikle yanıtın içeriğindeki herhangi bir ASCII olmayan karakteri tespit etmek veya yanıtın yapısal özelliklerini incelemek için kullanılır.
TASK 6:
TASK 8 :
SQL injection açığı var mı diye kontrol etmek için istek kısmında 2 nin yanına bir tınak işareti koyup, isteği tekrar gönderiyoruz ve response’ları incelemeye başlıyoruz. Response’ları incelerken karşımıza database ile ilgili bilgileri içeren bir kod çıkıyor. Bu koda göre tablo ismini (people) ve tabloada var olan columns isimlerini öğreniyoruz.
SQL injection açığının var olduğuna emin olduk. Şimdi zararlı kodumuzu request kısmında derleyip isteği tekrar göndereceğiz.
Ve ilk sütuna ulaşıyoruz. “id”
group_concat() ile tüm sütunlarına ve isimlerine erişmek için kodumuzu tekrar derliyoruz. Ve tüm sütunlara ulaşıyoruz.
Kodu tekrar derleyip, notes sütununa odaklanıyoruz. Ve task’ın cevabına ulaşıyoruz.
Link 3: https://tryhackme.com/room/burpsuiteintruder
Burp Suit Intruder
Intruder, Burp Suite’in dahili bir fuzzing (otomatik test verileriyle test etme) aracıdır. Bu araç sayesinde bir isteği (genellikle Proxy aracılığıyla yakalanmış olan istekleri) alıp, bunu şablon olarak kullanarak değerleri otomatik olarak değiştirerek çok sayıda istek gönderebiliriz. Örneğin, bir login denemesi içeren bir isteği alıp, kullanıcı adı ve şifre alanlarını bir kelime listesi ile değiştirerek login formunu bruteforce edebiliriz. Benzer şekilde, bir fuzzing kelime listesi kullanarak ve Intruder’ı da kullanarak alt dizinler, uç noktalar veya sanal ana bilgisayarlar için otomatik testler yapabiliriz.
Bunun yanında Intruder’ın bölümleri arasında şunlar yer alır:
- Positions (Pozisyonlar): Bu bölümde, gönderilecek isteklerde değiştirilecek verilerin yerleştirileceği pozisyonları belirleyebiliriz. Özellikle hedeflediğimiz parametrelerin konumlarını bu bölümde tanımlarız.
- Payloads : Burada, belirli pozisyonlardaki değerleri değiştirmek için kullanılacak olan yükleri (payload) seçeriz. Bir kelime listesi veya diğer yöntemlerle payload’ları tanımlayabilir ve bu payload’ların şablon içine nasıl ekleneceğini belirleriz. Payload’lar, seçtiğimiz Attack Type’a göre nasıl kullanılacağı da bu bölümde ayarlanır.
- Attack Type (Saldırı Türü): Intruder, farklı saldırı türlerini destekler ve burada kullanılacak saldırı türünü seçeriz. Örneğin, “Sniper”, “Battering Ram” veya “Pitchfork” gibi farklı saldırı türlerini buradan belirleriz.
- Options (Seçenekler): Burada, saldırı davranışı ve sonuçların nasıl işleneceği gibi seçenekleri belirleriz. Örneğin, belirli bir metni içeren istekleri işaretlemek veya yönlendirme (3xx) cevaplarına nasıl tepki vereceğimizi buradan ayarlarız.
- Resource Pool (Kaynak Havuzu): Burp Community sürümünde sınırlı işlevselliğe sahip olsa da, Burp Pro sürümünde kullanıldığında, kaynak havuzu farklı otomatik görevler arasında kaynakların paylaştırılmasını sağlar.
Sonuç olarak, Intruder, Burp Suite’in güçlü bir fuzzing aracıdır ve siber güvenlik profesyonelleri web uygulamalarının güvenlik açıklarını otomatik olarak test etmek için kullanabilir.
Intruder’ın Positions bölümünde “attack types” diye bir bölüm vardır. Oradaki atak tiplerini inceleyelim.
Sniper:
İşlevi: Belirtilen pozisyonlardaki tüm kombinasyonları tek tek deneyerek saldırı yapar.
Örnek: Bir login formunda kullanıcı adı ve şifre alanları bulunuyor. Sniper saldırısı, her kullanıcı adı ve her şifre ile ayrı ayrı deneme yaparak oturum açmayı dener.
Battering Ram:
İşlevi: Belirtilen pozisyonlardaki tüm kombinasyonları aynı anda göndererek saldırı yapar.
Örnek: Bir web uygulamasındaki bir arama alanı, birden fazla anahtar kelime ile aynı anda arama yapabiliyor. Battering Ram saldırısı, tüm anahtar kelimeleri aynı anda göndererek sonuçları hızlıca test eder.
Pitchfork:
İşlevi: Birden fazla payload setini kullanarak eşleşen kombinasyonları denemek için saldırı yapar.
Örnek: Bir URL’deki iki parametre için farklı wordlist’ler belirlendi. Pitchfork saldırısı, her bir kullanıcı adı ile her bir şifreyi birlikte deneyerek tüm olası kombinasyonları test eder.
Cluster Bomb:
İşlevi: Birden fazla payload setini tüm kombinasyonlarla test etmek için saldırı yapar.
Örnek: Bir web formunda ad, soyad ve kullanıcı adı alanları bulunuyor. Cluster Bomb saldırısı, farklı adlar, farklı soyadlar ve farklı kullanıcı adları ile tüm olası kombinasyonları deneyerek geniş kapsamlı bir saldırı gerçekleştirir.
Diğer modülleri de detaylı anlatmak gerekirse:
Decoder:
Decoder, Burp Suite’un temel modüllerinden biridir ve metinleri farklı formatlardan diğerlerine çevirmek için kullanılır. Genellikle HTTP isteklerinde ve yanıtlarında yer alan şifrelenmiş veya kodlanmış verileri anlamak veya düzenlemek amacıyla kullanılır. Decoder, aşağıdaki işlevlere sahiptir:
- URL Decode / Encode: URL’de kullanılan özel karakterleri, normal metin haline veya tersine dönüştürür.
- Base64 Decode / Encode: Base64 ile kodlanmış verileri çözer veya verileri Base64 ile kodlar.
- HTML Decode / Encode: HTML özel karakterlerini normal metin haline veya tersine dönüştürür.
- Gzip / Gunzip: Gzip ile sıkıştırılmış verileri açar veya verileri gzip ile sıkıştırır.
Comparer:
Comparer, iki adet HTTP isteğini veya yanıtı karşılaştırmak için kullanılır. Bu modül, farklı durumlarda sunuculardan gelen farklı yanıtların veya web uygulamalarının farklı durumlara nasıl tepki verdiğini anlamak için oldukça kullanışlıdır. Comparer modülü, özellikle güvenlik testlerinde veya web uygulamalarının davranışlarını analiz etmek için kullanılır.
Sequencer:
Sequencer, rastgele sayıların ve verilerin ne kadar rastgele olduğunu değerlendirmek için kullanılan bir modüldür. Özellikle web uygulamalarının oturum yönetimi, token üretimi ve diğer güvenlik önlemleri için kullanılan rastgele sayıları analiz eder. Bu sayede uygulamanın güvenlik açıkları veya zayıf noktaları belirlenebilir. Sequencer modülü, güvenlik testlerinde ve oturum yönetimi zayıflıklarını tespit etmek için yaygın olarak kullanılır.