Eğitim amaçlı brute force saldırı simülasyonu. SADECE EĞİTİM İÇİN kullanılmalıdır.
- ✅ 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
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
python -m venv .venv
.\.venv\Scripts\Activate.ps1pip install -r requirements.txt.\.venv\Scripts\python.exe server.pyÇıktı:
* Running on http://127.0.0.1:5000
.\.venv\Scripts\python.exe attack.pyVeya hızlı test için:
.\.venv\Scripts\python.exe attack_fast.py- Giriş Bilgileri:
admin/123456 - Port: 5000
- Rate Limiting: 5 yanlış deneme = 5 dakika IP engeli
- Logging: Her girişim kaydedilir
- 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
[*] 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
[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.
- 177 şifre listesine karşı: 1. denemede bulundu ✓
- Eğer 14 milyon (Rockyou) şifre olsaydı: çok daha uzun ama mümkün
- IP başına 5 deneme = 5 dakika engel
- Brute force saldırıları yavaşlatır/engeller
- IDS/IPS sistemleriyle birleştirilir
- 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
- 0.5 saniye aralar = İnsan gibi davranış
- Anormal trafik pattern'ı azaltır
- Behavioral analysis'ı atlatmaya yardımcı
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!
- Sadece kendi sistemlerinde test edin
- Başkasının sistemine saldırı = Suçtur
- Eğitim ve araştırma amaçlı kullanın
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.py içinde:
TARGET_URL = "http://127.0.0.1:5000/login"
USERNAME = "admin"
# Daha fazla USER_AGENT ekle
# Gerçek proxy'ler ekle- Gerçek proxy listesi entegrasyonu
- Machine learning ile pattern detection atlatma
- Distributed attack (multi-threading)
- CAPTCHA handling
- Session management
- Cookie persistence
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
Bu projeyi geliştirmek için pull request gönderin!
Sorular için issues açın.
Yapıldığı Tarih: Aralık 2025
Versiyon: 1.0
Durum: Eğitim hazır