Files
balikci/KULLANIM.md
salvacybersec 20191eb35d feat: Mail template management UI and API CRUD
- Added full CRUD endpoints for mail templates (create, update, delete, preview)
- Introduced Joi validators for template create/update/preview
- Updated routes/controller to support ID and type lookups
- Built React Templates page with HTML editor, preview, and clipboard helpers
- Added navigation entry and route for /templates
- Enhanced documentation (README, QUICKSTART, KULLANIM, frontend/backend README)
2025-11-10 17:27:19 +03:00

257 lines
6.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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ı
### Şablon Paneli (Yeni)
1. **Menü:** Sol menüde `Mail Şablonları` sekmesine tıklayın
2. **Liste:** Aktif/pasif tüm şablonları görün, güncelleme tarihlerini takip edin
3. **Oluştur:** `Yeni Şablon` butonu ile HTML içeriği girebilir, template type tanımlayabilirsiniz
4. **Düzenle:** Her satırdaki `Düzenle` butonu ile şablon bilgilerini güncelleyin
5. **Önizleme:** `Önizleme` butonu ile şablonu gerçek verilerle render edip tam ekran görüntüleyin
6. **Sil:** Gereksiz şablonları `Sil` butonu ile kaldırın (tokenlarda kullanılanları değiştirmeyi unutmayın)
7. **Template Type Kopyalama:** Token oluştururken kullanmak için `Template Type` değerini kopyalayın
8. **Handlebars Değişkenleri:** Editörde `{{company_name}}`, `{{employee_name}}`, `{{tracking_url}}` değişkenlerini kullanın
### 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! 🛡️**