Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Brute Force Attack Lab

Eğitim amaçlı brute force saldırı simülasyonu. SADECE EĞİTİM İÇİN kullanılmalıdır.

📚 Bu Lab Ne Öğretir?

  • Brute Force Nedir? - Şifre tahmin edilerek giriş yapma tekniği
  • Rate Limiting Nedir? - Sistemi korumak için hızlı işlemleri engelleme
  • User-Agent Spoofing - Farklı tarayıcılardan gelmişgibi görünme
  • Proxy Rotation - Farklı IP'lerden gelmişgibi görünme
  • Zaman Gecikmesi - Detection'dan kaçınmak için yavaş attack
  • Real Wordlist - Gerçek şifre listelerinin (Rockyou vs.) önemi

🎯 Proje Yapısı

brutoforce_lab/
├── server.py          # Hedef sistem (Flask login sayfası)
├── attack.py          # Brute force saldırı script'i (gerçekçi, yavaş)
├── attack_fast.py     # Test versiyonu (hızlı)
├── wordlist.txt       # 177 gerçek şifre (Rockyou dataset'ten)
├── requirements.txt   # Python dependencies
├── README.md          # Bu dosya
└── .gitignore         # Git için görmez dosyalar

🚀 Kurulum

1. Virtual Environment Oluştur

python -m venv .venv
.\.venv\Scripts\Activate.ps1

2. Gerekli Paketleri Yükle

pip install -r requirements.txt

⚙️ Nasıl Çalıştırılır?

Terminal 1 - Sunucuyu Başlat

.\.venv\Scripts\python.exe server.py

Çıktı:

 * Running on http://127.0.0.1:5000

Terminal 2 - Attack Script'ini Çalıştır

.\.venv\Scripts\python.exe attack.py

Veya hızlı test için:

.\.venv\Scripts\python.exe attack_fast.py

📊 Sistem Özellikleri

Server Tarafı (server.py)

  • Giriş Bilgileri: admin / 123456
  • Port: 5000
  • Rate Limiting: 5 yanlış deneme = 5 dakika IP engeli
  • Logging: Her girişim kaydedilir

Attack Tarafı (attack.py)

  • User-Agent Spoofing: 5 farklı tarayıcı UA'sı
  • Variable Delay: 0.5-2 saniye rastgele bekleme
  • Proxy Simulation: Proxy rotation yapısı
  • Real Wordlist: 177 gerçek şifre
  • Error Handling: Bağlantı hatalarını yakalar
  • Rate Limit Detection: 429 hatasını tanır

🔍 Test Çıktı Örneği

[*] 177 şifre yüklendi (wordlist.txt'den)
[*] Brute force saldırısı başlıyor...

[TRY 1/177] admin:123456
[SUCCESS] Şifre bulundu! -> admin:123456

Rate Limiting Test

[1] Status: 200 - Login başarısız
[2] Status: 200 - Login başarısız
[3] Status: 200 - Login başarısız
[4] Status: 200 - Login başarısız
[5] Status: 200 - Login başarısız
[6] Status: 429 - Çok fazla deneme. Lütfen daha sonra tekrar deneyin.

🎓 Öğrenme Noktaları

1. Brute Force Neden Tehlikeli?

  • 177 şifre listesine karşı: 1. denemede bulundu
  • Eğer 14 milyon (Rockyou) şifre olsaydı: çok daha uzun ama mümkün

2. Rate Limiting Neden Önemli?

  • IP başına 5 deneme = 5 dakika engel
  • Brute force saldırıları yavaşlatır/engeller
  • IDS/IPS sistemleriyle birleştirilir

3. User-Agent & Proxy Neden?

  • Detection otomatikleştirmek için gerçek tarayıcıdan gelmek gerekir
  • Aynı IP'den 1000 deneme = Şüpheli
  • 5 farklı tarayıcıdan 200 deneme = Normal trafik gibi

4. Zaman Gecikmesi Neden?

  • 0.5 saniye aralar = İnsan gibi davranış
  • Anormal trafik pattern'ı azaltır
  • Behavioral analysis'ı atlatmaya yardımcı

5. Real vs Fake Wordlist

Fake (7 şifre):

1234, password, admin, 123456, test, qwerty, 111111

→ Çoğu sistem için işe yaramaz

Real (Rockyou 14M):

123456, password, 12345678, qwerty, abc123...

→ Gerçek insanlar bu şifreleri kullanıyor!

⚠️ Yasal Uyarı

  • Sadece kendi sistemlerinde test edin
  • Başkasının sistemine saldırı = Suçtur
  • Eğitim ve araştırma amaçlı kullanın

🔧 Yapılandırma

Sunucuyu Değiştir

server.py içinde:

CORRECT_USERNAME = "admin"
CORRECT_PASSWORD = "123456"
MAX_ATTEMPTS = 5           # Kaç deneme sonrası blok
BLOCK_DURATION = 300       # Blok süresi (saniye)

Attack Script'ini Özelleştir

attack.py içinde:

TARGET_URL = "http://127.0.0.1:5000/login"
USERNAME = "admin"
# Daha fazla USER_AGENT ekle
# Gerçek proxy'ler ekle

📈 İleri Seviye (Gelecek)

  • Gerçek proxy listesi entegrasyonu
  • Machine learning ile pattern detection atlatma
  • Distributed attack (multi-threading)
  • CAPTCHA handling
  • Session management
  • Cookie persistence

📝 Notlar

  • attack.py = Profesyonel (delay'li, gerçekçi)
  • attack_fast.py = Test (hızlı, demo için)
  • wordlist.txt = Rockyou dataset'in en populer 177'si

🤝 Katkıda Bulun

Bu projeyi geliştirmek için pull request gönderin!

📧 İletişim

Sorular için issues açın.


Yapıldığı Tarih: Aralık 2025
Versiyon: 1.0
Durum: Eğitim hazır

About

ducational brute force attack lab with rate limiting

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages