|
1 | | -# 🛡️ SOC Dashboard (The "Hollywood Hacker" Edition) |
| 1 | +# SOC Case Study: Phishing → Account Compromise |
2 | 2 |
|
3 | | -Welcome to the SOC Dashboard, a project designed to answer the age-old question: _"Can we make cybersecurity look like a sci-fi movie?"_ |
| 3 | +# SOC Console - Kurumsal Güvenlik Operasyon Merkezi Simülasyonu |
4 | 4 |
|
5 | | -Spoiler: **Yes.** |
| 5 | +[]() []() []() |
6 | 6 |
|
7 | | -This is a frontend-only simulation that looks incredibly important but is actually just random numbers and cool CSS. Perfect for putting on a second monitor to intimidate your coworkers or convince your boss you're "tracking APs in real-time." |
| 7 | +> **SIEM + SOAR + EDR** simülasyonu. Tamamen statik, tamamen kurgusal, tamamen stdlib. |
8 | 8 |
|
9 | | -## 🚀 Features (or "Distractions") |
| 9 | +--- |
| 10 | + |
| 11 | +## Ne Bu? |
| 12 | + |
| 13 | +Gerçek dünya güvenlik verilerini normalize eden, sentetik olay üreten ve modern bir SOC dashboard'u sunan **portfolyo projesi**. |
| 14 | + |
| 15 | +- **Dataset Normalizasyonu**: AAD, M365 Defender, Windows Events, Phishing URL'leri → tek canonical şema |
| 16 | +- **Pseudonymization**: Tüm veriler Türkçe isimler ve `.example.tr` domain'leriyle maskelenir |
| 17 | +- **3500+ Olay**: Normalize edilmiş gerçek formatlar + sentetik saldırı senaryoları |
| 18 | +- **4000+ IOC**: Phishing URL dataset'lerinden çıkarılmış göstergeler |
| 19 | +- **GitHub Pages**: Backend yok, sadece React + Vite. |
| 20 | + |
| 21 | +## Hızlı Başlangıç |
| 22 | + |
| 23 | +```bash |
| 24 | +# Repoyu klonla |
| 25 | +git clone https://github.com/yatuk/SOC-case-study-project.git |
| 26 | + |
| 27 | +# Bağımlılıkları yükle (İnternetin yarısını indir) |
| 28 | +cd frontend |
| 29 | +npm install |
| 30 | + |
| 31 | +# Çalıştır |
| 32 | +npm run dev |
| 33 | +# http://localhost:5173 adresine git, güneş gözlüklerini tak ve hacker gibi hisset. |
| 34 | +``` |
| 35 | + |
| 36 | +--- |
| 37 | + |
| 38 | +## Hikaye: Bir SOC Analistinin Günlüğü |
| 39 | + |
| 40 | +_Tarih: Pazartesi, 09:00_ |
| 41 | +Adım Mehmet. Ben bir SOC analistiyim. |
| 42 | + |
| 43 | +Sabah kahvemi içerken SIEM dashboard'una baktım. **4.2 milyon olay**. Güzel, dün sadece 3.8 milyondu. Gelişiyoruz. |
| 44 | + |
| 45 | +**İlk alert:** "Suspicious PowerShell Activity Detected". |
| 46 | +Açtım. Bir kullanıcı `Get-Process` çalıştırmış. **KRİTİK SEVİYE**. Tabii ya, adam bilgisayarında hangi programların çalıştığını merak etmiş, kesin APT29. |
| 47 | + |
| 48 | +**İkinci alert:** "Impossible Travel - User logged in from Istanbul and Ankara within 5 minutes". |
| 49 | +Kullanıcıyı aradım. "Abi sen nasıl 5 dakikada İstanbul'dan Ankara'ya gittin?" |
| 50 | +"VPN kullanıyorum." |
| 51 | +"..." |
| 52 | +**Alert kapatıldı: False Positive - VPN** |
| 53 | + |
| 54 | +**Üçüncü alert:** "Brute Force Attack Detected - 3 Failed Login Attempts". |
| 55 | +Üç. Tam üç deneme. Saldırgan ya çok sabırsız ya da şifresini unutmuş bir çalışan. Spoiler: şifresini unutmuş bir çalışan. |
| 56 | + |
| 57 | +--- |
| 58 | + |
| 59 | +_Tarih: Pazartesi, 11:30_ |
| 60 | +Müdür geldi. "Mehmet, geçen haftaki güvenlik raporunu hazırladın mı?" |
| 61 | + |
| 62 | +Hazırladım tabii. 47 sayfa. İçinde: |
10 | 63 |
|
11 | | -- **Cyberpunk Aesthetics:** Because `#ffffff` background is for accountants. We use `#0a0c10` and neon lights. |
12 | | -- **Live Threat Map:** Totally simulated. That "attack" coming from Antarctica? Probably a penguin with a flipper zero. |
13 | | -- **"Matrix" Terminal:** Prints fast-scrolling logs that mean absolutely nothing but look cool. |
14 | | -- **Zero Backend:** 100% client-side. No databases were harmed in the making of this dashboard. |
15 | | -- **Welcome Banner:** Validates your existence as an "Analyst" every time you refresh. |
| 64 | +- 12 sayfa "her şey yolunda" |
| 65 | +- 15 sayfa "potansiyel tehditler" (hepsi false positive) |
| 66 | +- 20 sayfa grafik (çünkü yöneticiler grafik seviyor) |
16 | 67 |
|
17 | | -## 🛠️ Installation (The Boring Part) |
| 68 | +En sevdiğim grafik: "Engellenen Saldırılar - Aylık Trend". Çubuklar yukarı gidiyor. Bu iyi bir şey mi? Daha çok saldırı engelliyoruz. Ama aynı zamanda daha çok saldırıya uğruyoruz. Schrödinger'in güvenliği. |
18 | 69 |
|
19 | | -1. **Clone it:** |
20 | | - ```bash |
21 | | - git clone https://github.com/your-username/soc-dashboard.git |
22 | | - ``` |
23 | | -2. **Install dependencies:** (Download half the internet) |
24 | | - ```bash |
25 | | - npm install |
26 | | - ``` |
27 | | -3. **Run it:** |
28 | | - ```bash |
29 | | - npm run dev |
30 | | - ``` |
31 | | -4. **Profit:** Open `http://localhost:3000`, wear sunglasses, and type loudly. |
| 70 | +--- |
| 71 | + |
| 72 | +_Tarih: Pazartesi, 14:00_ |
| 73 | +**Gerçek bir alert geldi.** Gerçek gerçek. |
| 74 | + |
| 75 | +Bir kullanıcı phishing mailindeki linke tıklamış. Credential'ları çalınmış. Saldırgan mailbox'a erişmiş ve "Tüm Mailleri Dışarı Aktar" kuralı oluşturmuş. |
| 76 | + |
| 77 | +**Klasik.** |
| 78 | + |
| 79 | +Incident response başladı: |
| 80 | + |
| 81 | +1. Hesabı kilitle ✓ |
| 82 | +2. Session'ları sonlandır ✓ |
| 83 | +3. Şifreyi sıfırla ✓ |
| 84 | +4. MFA'yı zorla ✓ |
| 85 | +5. Kullanıcıya "linke tıklama" eğitimi ver ✓ |
| 86 | + |
| 87 | +Kullanıcı: "Ama mail çok gerçekçi görünüyordu!" |
| 88 | + |
| 89 | +Mail konusu: _"ACIL!!! Şifrenizi 5 dakika içinde değiştirin yoksa hesabınız silinecek - Microsoft Güvenlik Takımı ( [email protected])" _ |
| 90 | + |
| 91 | +Evet. Çok gerçekçi. |
| 92 | + |
| 93 | +--- |
| 94 | + |
| 95 | +_Tarih: Pazartesi, 17:45_ |
| 96 | +Gün bitti. Scorecard'a baktım: |
| 97 | + |
| 98 | +| Metrik | Değer | |
| 99 | +| --------------- | -------- | |
| 100 | +| İncelenen Alert | 127 | |
| 101 | +| Gerçek Pozitif | 1 | |
| 102 | +| False Positive | 126 | |
| 103 | +| Kahve Tüketimi | 6 fincan | |
| 104 | +| Saç Kaybı | 47 tel | |
| 105 | +| İç Çekme | 89 kez | |
| 106 | + |
| 107 | +**MTTD (Mean Time To Detect):** 4 dakika |
| 108 | +**MTTR (Mean Time To Respond):** 23 dakika |
| 109 | +**MTTC (Mean Time To Coffee):** 12 dakika |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +_Tarih: Pazartesi, 18:00_ |
| 114 | +Eve giderken düşündüm. Bu iş zor. Ama birisi yapmalı. |
| 115 | +Çünkü dışarıda bir yerde, bir saldırgan var. Ve o saldırgan, bir gün **dördüncü** login denemesini yapacak. |
32 | 116 |
|
33 | | -## 🐛 Known Issues |
| 117 | +Ve ben orada olacağım. Alert'i kapatmak için. False positive olarak. |
34 | 118 |
|
35 | | -- The "AI Analyst" might technically just be a bunch of `if/else` statements. Shhh. |
36 | | -- If you stare at the neon too long, you might start seeing code in the real world. |
37 | | -- Pressing keys harder does not actually increase hacking speed. |
| 119 | +**Yarın görüşürüz.** |
38 | 120 |
|
39 | 121 | --- |
40 | 122 |
|
41 | | -_Built with React, Vite, and enough caffeine to kill a horse._ |
| 123 | +## 📝 Lisans |
| 124 | + |
| 125 | +MIT. Eğitim ve portfolyo amaçlı kullanımda kaynak belirtmeniz yeterli. |
| 126 | + |
| 127 | +**Not**: Tüm veriler KURGUSALDIR. Gerçek şirketler, kişiler veya olaylarla ilgisi yoktur. |
| 128 | + |
| 129 | +> _"Daha fazla log, daha fazla güvenlik demek değil. Ama daha az uyku demek."_ |
| 130 | +> |
| 131 | +> — Her SOC Analisti |
0 commit comments