
أداة تدقيق أمني لـ SonicWall مع مختبر CTF قابل للاختراق (CVE-2021-20038, CVE-2024-53704)
إطار عمل تقييم أمني آلي لأجهزة SonicWall. للاستخدام فقط في اختبارات الاختراق المصرح بها.
# تثبيت المتطلبات
pip install -r requirements.txt
# تشغيل جميع الوحدات ضد هدف
python3 sonicwall_audit.py --target 192.168.1.1 --port 8443
# تشغيل وحدات محددة
python3 sonicwall_audit.py -t 192.168.1.1 -p 8443 -m ssl,cve
# إخراج مفصل
python3 sonicwall_audit.py -t 192.168.1.1 -p 8443 -v
# إخراج بتنسيق JSON فقط
python3 sonicwall_audit.py -t 192.168.1.1 -p 8443 --format json
| الوحدة | الوصف | مستوى المخاطرة |
|---|---|---|
ssl | تكوين SSL/TLS: الشهادات، البروتوكولات، التشفير، HSTS | سلبي |
cve | اكتشاف الثغرات المعروفة (CVEs) عبر البصمة | سلبي |
auth | بيانات الدخول الافتراضية، أمان الجلسات، تحديد المعدل | نشط (منخفض) |
web | الرؤوس، كشف المعلومات، تعرض API، الطرق | سلبي/نشط |
ssl)cve)auth)web)يتم حفظ التقارير في reports/ (قابلة للتكوين باستخدام --output-dir):
sonicwall_audit_YYYYMMDD_HHMMSS.json — قابل للقراءة آلياًsonicwall_audit_YYYYMMDD_HHMMSS.txt — قابل للقراءة البشرية مع تصنيفات الخطورة| الرمز | المعنى |
|---|---|
| 0 | لا توجد نتائج حرجة أو عالية |
| 1 | نتائج عالية الخطورة |
| 2 | نتائج حرجة |
مختبر تدريبي قائم على Docker يحتوي على ثغرات قابلة للاستغلال حقيقية تحاكي ثغرات SonicWall حرجة. تقوم كلتا الحاويتين بنسخ أنماط استجابة SonicWall الحقيقية بحيث يمكن اختبار مجموعة أدوات التدقيق عليها.
cd lab && docker-compose up --build -d
| الحاوية | المنفذ | CVE | التحدي |
|---|---|---|---|
sonicwall-sma100 | 8443 | CVE-2021-20038 | تجاوز سعة المخزن المؤقت في ملف CGI الثنائي → تنفيذ أوامر عن بعد |
هياكل الاستغلال موجودة في lab/exploits/، الحلول العاملة في lab/solutions/.
دليل كامل: lab/WALKTHROUGH.md
sonicwall/
├── sonicwall_audit.py # نقطة الدخول الرئيسية / المنظم
├── validate_cves.py # مدقق ثغرات مستقل
├── requirements.txt
├── configs/
│ └── default.json # التكوين الافتراضي
├── modules/
│ ├── base.py # الفئة الأساسية المشتركة + أدوات HTTP
│ ├── ssl_audit.py # مدقق SSL/TLS
│ ├── cve_scanner.py # ماسح الثغرات المعروفة
│ ├── auth_tester.py # مختبر المصادقة
│ ├── web_interface.py # مدقق واجهة الويب
│ ├── report_generator.py # إخراج التقرير بصيغ JSON والنص
│ ├── cve_2021_20038_validator.py # مدقق عميق لـ CVE-2021-20038
│ └── cve_2024_53704_validator.py # مدقق عميق لـ CVE-2024-53704
├── lab/ # مختبر تدريبي ضعيف (Docker)
│ ├── docker-compose.yml
│ ├── WALKTHROUGH.md
│ ├── cve-2021-20038/ # حاوية تجاوز المخزن المؤقت
│ ├── cve-2024-53704/ # حاوية تجاوز المصادقة
│ ├── exploits/ # هياكل استغلال (املأ الفراغات)
│ └── solutions/ # استغلالات عاملة (احتو على حرق)
└── reports/ # التقارير المُنشأة
# يُرجع رمز خروج غير صفري عند وجود نتائج حرجة/عالية
python3 sonicwall_audit.py -t $TARGET -p 8443 --format json -m ssl,cve,web
echo $? # 0=نجاح، 1=عالية، 2=حرجة
قم بتعديل modules/cve_scanner.py وأضف إدخالات إلى SONICWALL_CVES:
{
"cve": "CVE-YYYY-NNNNN",
"cvss": 9.8,
"severity": "CRITICAL",
"title": "الوصف",
"description": "الوصف الكامل",
"check": "_check_cve_yyyy_nnnnn", # اسم الطريقة
"remediation": "قم بالتحديث إلى الإصدار X.",
"affected_products": ["SonicOS"],
}
ثم قم بتنفيذ الطريقة المقابلة _check_cve_yyyy_nnnnn(self, cve_info).
sonicwall-sslvpn| 4433 |
| CVE-2024-53704 |
| تجاوز المصادقة عبر تزوير ملفات تعريف الارتباط |