add the main file structure requirements

هذا الالتزام موجود في:
2026-07-26 22:46:15 +03:00
التزام 8bde42182e
20 ملفات معدلة مع 4613 إضافات و0 حذوفات

عرض الملف

@@ -0,0 +1,57 @@
# تحليل Timeline لهجوم Brute Force على API Login
## السيناريو
هجوم brute force ناجح على API login أدى إلى تسريب بيانات.
---
## 1. تحليل الهجوم خطوة بخطوة
| الوقت | المرحلة | الحدث | التفاصيل الفنية |
|-------|---------|-------|-----------------|
| T+0 | الاستطلاع | المهاجم يكتشف التطبيق | فحص `app.ghaymah.systems` واكتشاف API endpoints |
| T+2min | جمع المعلومات | تحديد نقطة الدخول | اكتشاف `/api/login` يقبل POST requests |
| T+3min | التحضير | تجهيز الأدوات | إعداد قائمة كلمات مرور شائعة + أداة Hydra/Burp |
| T+5min | بدء الهجوم | إطلاق Brute Force | بدء إرسال طلبات متكررة على `/api/login` |
| T+10min | التصعيد | زيادة المحاولات | 1000+ طلب POST بكلمات مرور مختلفة |
| T+15min | استمرار | لا يوجد حظر | عدم وجود Rate Limiting سمح بالاستمرار |
| T+20min | النجاح | تخمين كلمة المرور | نجاح الدخول بـ `admin:admin123` |
| T+21min | الوصول | الحصول على Token | استلام JWT token صالح |
| T+25min | الاستكشاف | فحص الصلاحيات | اكتشاف `/api/users` و `/api/export` |
| T+30min | التسريب | سحب البيانات | تحميل بيانات المستخدمين |
| T+35min | الاكتشاف | تنبيه أمني | فريق الأمن يلاحظ نشاط غير طبيعي |
| T+40min | الاحتواء | بدء الاستجابة | حظر IP + إلغاء tokens |
---
## 2. المؤشرات التي كان يجب اكتشافها (IOCs)
### مؤشرات في الـ Logs:
```
# نمط الهجوم في access.log
192.168.1.100 - - [26/Jul/2026:14:05:01] "POST /api/login HTTP/1.1" 401 45
192.168.1.100 - - [26/Jul/2026:14:05:01] "POST /api/login HTTP/1.1" 401 45
192.168.1.100 - - [26/Jul/2026:14:05:02] "POST /api/login HTTP/1.1" 401 45
# ... مئات المحاولات من نفس IP
192.168.1.100 - - [26/Jul/2026:14:20:15] "POST /api/login HTTP/1.1" 200 512
192.168.1.100 - - [26/Jul/2026:14:25:30] "GET /api/users HTTP/1.1" 200 15234
```
### العلامات الحمراء:
1. **عدد طلبات غير طبيعي**: 100+ طلب/دقيقة من IP واحد
2. **نمط متكرر**: نفس الـ endpoint مع status 401
3. **User-Agent مشبوه**: أدوات مثل `python-requests` أو `curl`
4. **توقيت منتظم**: طلبات كل 100ms (آلي وليس بشري)
---
## 3. الثغرات التي استُغلت
| الثغرة | الوصف | التأثير |
|--------|-------|---------|
| عدم وجود Rate Limiting | لا يوجد حد لعدد المحاولات | سمح بآلاف المحاولات |
| كلمة مرور ضعيفة | `admin123` سهلة التخمين | نجاح الهجوم |
| عدم وجود Account Lockout | الحساب لم يُقفل بعد محاولات فاشلة | استمرار الهجوم |
| عدم وجود CAPTCHA | لا يوجد تحقق بشري | أتمتة الهجوم |
| عدم وجود MFA | طبقة حماية واحدة فقط | الوصول بكلمة المرور فقط |
| صلاحيات واسعة | حساب admin يصل لكل البيانات | تسريب كامل |