HTTP Basic Authentication Brute-Force
HTTP Basic Authentication, kimlik bilgilerini http paketine eklediği Authentication başlığında aşağıdaki formata uygun şekilde tutmaktadır.
1
Authorization: Basic base64encode("username:password")
Brute force yaparken bizim değişken alanımız http headerlerında bulunan
Authorization: Basic kısmından sonraki ifade olan base64 ile encode edilmiş kısım olacaktır.
İlk olarak burp suite proxy moda aldıktan sonra test amaçlı bir kimlik bilgisi girilir.
İsteğimiz burp tarafından yakalandıktan sonra
Send to Intruder diyerek intruder sekmesine gönderiyoruz.
Bu bölümde ise değişken olan alanımızı seçtikten sonra yan tarafta bulunan
Add to § diyerek değişken alanımızı belirtiyoruz.
Bundan sonra sonra değişken alanımıza verilecek değerleri belirtmemiz gerekir. Bunun için Payloads sekmesine geliyoruz.
Yukarıdaki resimde işaretli olan alanlara değinecek olursak;
Payload Sets kullanacağımız payload kümesinin türünü ifade etmektedir. Biz burda custom olanı seçerek değerleri dışardan gireceğimizi ifade ediyoruz.
Payload Options bölümünde ise hazır bir wordlisti load edebileceğimiz gibi, manuel değerler girerek de mini bir wordlist oluşturulabilir. İşlemin uzun sürmemesi adına manuel olarak bir kaç kullanıcı adı ve parola değeri giriyorum. Seçenekelerimiz marker ile işaretlenen kısımlar gibi olmalıdır.
position: 1 ifadesi username değerlerimizi ifade etmektedir. Parola değerlerini de eklemek için position değerini 2 yaparak listeye manuel olarak parola değerleri giriniz. (veya parola wordlisti yükleyebilirsiniz.)
Seperator for position 1 kısmında seperate karakterimizi : nokta seçmemizin nedeni kimlik bilgilerinin username:password formatında gönderilmesinden dolayı.
Payload Processing bölümünde ise değişken alanımızdaki değerlerin base64 ile encode edilip gönderildiğinden,
add diyerek encode seçeneğini base64 olarak belirtiyoruz.
Son olarak base64 encode işlemi 4’ün katlarına tamamlamak için sona konulan
= ifadelerini encode etmesini engellemek için
payload encoding kısmından
= işaretini kaldırarak payladın doğru bir şekilde gönderilmesini sağlıyoruz.
Bu adımları sorunsuz bir şekilde uyguladıktan sonra attack diyerek sadece 200 dönen cevaba bakmamız gerekir.(Başarısız olanlar için 401 durum kodu dönmektedir.)
TRICK: Ayrıca
options sekmesinde thread sayısını artırma, yeniden bağlanma, başlama zamanı gibi çesitli seçenekleri de ayarlayabilirsiniz.
Bu işlemi burp dışında pythonda bulunan request kütüphanesi ile yapmak isterseniz aşağıdaki ufak tool’da işinizi görecektir.
1
# Author: Musa ŞANA
Güvenli günler.