Broken brute-force protection (IP block) — Writeup
Lab: (Broken brute-force protection, IP block) — Writeup
Bu labda amaç, brute-force korumasındaki bir mantık hatasından yararlanarak “carlos” kullanıcısının şifresini brute-force ile elde etmek. Uygulama IP tabanlı bir koruma kullanıyor gibi görünse de, arka plandaki yanlış bir mantık bu korumayı tamamen devre dışı bırakmamıza izin veriyor.
Brute-force korumasının genel mantığı
Brute-force saldırılarını engellemek için genelde iki yöntem uygulanır:
Çok fazla hatalı deneme olursa hesap kilitlenir.
Kısa süre içinde çok fazla deneme yapan IP adresi engellenir.
Bu labda ikinci yöntem var: IP adresi kısa sürede çok fazla hatalı giriş yapınca bloklanıyor.
Fakat uygulamanın yaptığı kritik bir hata var:
Başarılı bir giriş yapıldığında, IP üzerindeki başarısız deneme sayacı sıfırlanıyor. Yani saldırgan ara ara kendi hesabıyla giriş yaparak IP engelini sürekli kaldırabiliyor.
Bu da brute-force korumasını neredeyse tamamen etkisiz hale getiriyor.
Verilen bilgiler
Benim hesabım: wiener : peter
Hedef kullanıcı: carlos
İlk denemeler
Önce birkaç hatalı şifre girdim.

Birkaç denemenin ardından IP adresimin brute-force nedeniyle engellendiğini söyleyen bir uyarı aldım.

Daha sonra kendi hesabım olan wiener : peter ile giriş yapmayı denedim. Engelin anında kalktığını ve tekrar deneme yapabildiğimi gördüm. Bu, labdaki zafiyetin temelini oluşturuyor.
Yanlış giriş denemesini Burp ile yakalayıp Intruder’a gönderdim. Bu atak türü için pitchfork modunu kullandım çünkü iki farklı wordlist’in aynı anda ve birebir karşılık gelecek şekilde çalışması gerekiyordu.

Wordlist kısmında amaç, her hatalı brute-force denemesinden sonra kendi hesabımla başarılı giriş yaparak IP engelinin devreye girmesini engellemekti. Bunun için iki liste hazırladım. Kullanıcı adı listesine hem carlos’u hem de wiener’ı yazdım. Böylece Intruder, her denemede önce carlos için brute-force denemesi yapacak, hemen ardından wiener’la giriş deneyecekti. Parola listesinde ise verilen her şifrenin altına kendi şifrem olan “peter”ı ekledim.

user wordlisti

password wordlisti
Bu sayede her hatalı girişten sonra otomatik olarak “wiener : peter” isteği gönderilip sistem bunu başarılı giriş olarak gördü ve IP sayacını sıfırladı. Böylece IP bloklaması hiç devreye girmeden brute-force denemeleri kesintisiz şekilde devam etti.

Brute-force saldırısı çalışırken sonuçları kontrol ettiğimde, diğerlerinden farklı olarak 302 döndüren bir carlos isteği yakaladım. Bu, denenen şifrenin doğru olduğunu gösteriyordu. Yani artık carlos’un hesabına bu parola ile giriş yapabiliyordum. Böylece kurban kullanıcı olan carlos’un şifresini bulmuş oldum.🌸








