first commit: Complete phishing test management panel with Node.js backend and React frontend

This commit is contained in:
salvacybersec
2025-11-10 17:00:40 +03:00
commit 19e551f33b
77 changed files with 6677 additions and 0 deletions

245
KULLANIM.md Normal file
View File

@@ -0,0 +1,245 @@
# Oltalama Test Yönetim Paneli - Kullanım Kılavuzu
## 🎯 İlk Kurulum
### 1. Sisteme Giriş
**URL:** http://localhost:5173
**Giriş Bilgileri:**
- Kullanıcı: `admin`
- Şifre: `admin123`
### 2. Gmail Ayarları (Zorunlu)
1. **Settings** sayfasına gidin
2. Gmail bölümüne aşağıdaki bilgileri girin:
- **Gmail Adresi:** sizin-mail@gmail.com
- **App Password:** 16 haneli uygulama şifreniz
#### Gmail App Password Nasıl Alınır?
1. Gmail hesabınızda 2FA (İki Faktörlü Doğrulama) aktif olmalı
2. https://myaccount.google.com/apppasswords adresine gidin
3. "Uygulama seç" > "Diğer (Özel ad)"
4. "Oltalama Test" yazın
5. 16 haneli şifreyi kopyalayın (boşluksuz)
### 3. Telegram Ayarları (Opsiyonel)
1. **Settings** sayfasında Telegram bölümüne:
- **Bot Token:** BotFather'dan aldığınız token
- **Chat ID:** Kendi chat ID'niz
#### Telegram Bot Nasıl Oluşturulur?
1. Telegram'da @BotFather'ıın
2. `/newbot` yazın
3. Bot adı ve kullanıcı adı verin
4. Token'ı kopyalayın
#### Chat ID Nasıl Öğrenilir?
1. Telegram'da @userinfobot'u açın
2. `/start` yazın
3. "Id" numarasını kopyalayın
### 4. Test Edin
1. Settings sayfasında:
- **"Test Mail Gönder"** butonuna tıklayın
- **"Test Bildirimi"** butonuna tıklayın
2. Başarılı mesajı gördüğünüzde kurulum tamamdır!
---
## 📋 Temel Kullanım Senaryosu
### Senaryo: İlk Phishing Testi
#### Adım 1: Şirket Oluştur
1. **Şirketler** sayfasına gidin
2. **"Yeni Şirket"** butonuna tıklayın
3. Bilgileri doldurun:
- **Şirket Adı:** Örnek A.Ş.
- **Açıklama:** Test şirketi
- **Sektör:** Technology
4. **"Oluştur"** butonuna tıklayın
#### Adım 2: Token Oluştur ve Mail Gönder
1. **Tokenlar** sayfasına gidin
2. **"Yeni Mail Oluştur"** butonuna tıklayın
3. Formu doldurun:
- **Şirket Seç:** Örnek A.Ş.
- **Hedef Email:** test@example.com
- **Çalışan Adı:** Ahmet Yılmaz (opsiyonel)
- **Mail Şablonu:** Banka Bildirimi
4. **"Oluştur ve Gönder"** butonuna tıklayın
5. Mail otomatik gönderilir!
#### Adım 3: Sonuçları İzle
1. **Dashboard** sayfasında genel istatistikleri görün:
- Toplam token sayısı
- Tıklama oranları
- Son tıklamalar
2. **Tokenlar** sayfasında:
- Hangi tokenlara tıklandığını görün
- Tıklama sayılarını takip edin
3. Hedef kullanıcı linke tıkladığında:
- Telegram'dan anında bildirim gelir
- IP adresi ve konum kaydedilir
- Dashboard'da görünür
---
## 🎨 Sayfa Açıklamaları
### Dashboard
- **Genel İstatistikler:** Şirket, token, tıklama sayıları
- **Başarı Oranı:** Yüzde cinsinden tıklama oranı
- **Şirket Performansı:** Şirket bazında detaylar
- **Son Tıklamalar:** Gerçek zamanlı tıklama listesi
### Şirketler
- **Liste Görünümü:** Kartlar halinde şirketler
- **İstatistikler:** Her şirket için token ve tıklama sayıları
- **CRUD İşlemleri:** Oluştur, güncelle, sil
### Tokenlar
- **Tablo Görünümü:** Tüm tokenlar listesi
- **Durum:** Tıklandı/Bekliyor
- **Hızlı Oluşturma:** Tek butonla token + mail
- **Filtreler:** Şirket, durum bazında filtreleme
### Ayarlar
- **Gmail Yapılandırması:** App Password ile
- **Telegram Yapılandırması:** Bot token ile
- **Test Butonları:** Anında test yapın
---
## 📧 Mail Şablonları
### Mevcut Şablonlar
**1. Banka Bildirimi (`bank`)**
- Konu: "Hesap Güvenlik Uyarısı"
- İçerik: Sahte banka bildirimi
- Kullanım: Finans sektörü testleri
**2. E-Devlet Bildirimi (`government`)**
- Konu: "Önemli Sistem Güncellemesi"
- İçerik: Sahte devlet bildirimi
- Kullanım: Kamu sektörü testleri
### Şablon Değişkenleri
- `{{company_name}}` - Şirket adı
- `{{employee_name}}` - Çalışan adı (yoksa "Sayın,")
- `{{tracking_url}}` - Otomatik oluşturulur
---
## 🔐 Tracking URL Yapısı
**Format:** `http://localhost:3000/t/TOKEN`
**Örnek:** `http://localhost:3000/t/abc123xyz456`
### Tıklama Sonrası
1. IP adresi kaydedilir
2. GeoIP ile konum bulunur (şehir, ülke)
3. User-Agent parse edilir (cihaz, tarayıcı)
4. Telegram'a bildirim gider
5. Kullanıcı landing page'e yönlendirilir
---
## 📊 İstatistikler ve Raporlar
### Dashboard Metrikleri
- **Toplam Şirketler:** Sistemdeki şirket sayısı
- **Toplam Token:** Oluşturulan toplam token
- **Tıklanan:** En az 1 kez tıklanmış tokenlar
- **Başarı Oranı:** (Tıklanan / Toplam) × 100
### Şirket İstatistikleri
- Her şirket için ayrı raporlama
- Token ve tıklama sayıları
- Şirket bazlı başarı oranı
### Tıklama Detayları
- Tam IP adresi
- Şehir ve ülke
- İşletim sistemi
- Tarayıcı bilgisi
- Cihaz türü
- Tıklama zamanı
---
## ⚠️ Önemli Notlar
### Güvenlik
- **Yasal Kullanım:** Yalnızca izin verilen testler
- **Şifre Değiştirme:** İlk girişte şifreyi değiştirin (TODO)
- **HTTPS:** Production'da SSL kullanın
### Teknik
- **Backend:** http://localhost:3000
- **Frontend:** http://localhost:5173
- **Database:** `backend/database/oltalama.db`
### Yedekleme
SQLite veritabanını yedekleyin:
```bash
cp backend/database/oltalama.db backend/database/oltalama_backup_$(date +%F).db
```
---
## 🐛 Sorun Giderme
### "Mail gönderilemedi" hatası
1. Gmail ayarlarını kontrol edin
2. App Password'ü doğru kopyaladınız mı?
3. 2FA aktif mi?
4. Test butonunu deneyin
### "Telegram bildirimi gönderilemiyor"
1. Bot token'ı doğru mu?
2. Chat ID'yi kontrol edin
3. Botu başlattınız mı? (@YourBot'a /start gönderin)
4. Test butonunu deneyin
### "Token çalışmıyor"
1. Backend çalışıyor mu? `curl http://localhost:3000/health`
2. Token'a tıklandığında landing page açılıyor mu?
3. Browser console'da hata var mı?
---
## 📞 Destek
- **Dokümantasyon:** `devpan.md`
- **Backend API:** `backend/README.md`
- **Proje GitHub:** (Ekleyin)
---
**İyi testler! 🛡️**