
مشروع هندسة تحويل أبحاث CVE إلى توقيعات كشف: البصمة على الثغرة الخلفية في vsftpd 2.3.4 (CVE-2011-2523) خارجيًا وعلى نطاق واسع، مع معالجة مُتحقق منها للإيجابيات/السلبيات الكاذبة - مبني بلغة Python
مشروع هندسة توقيعات كشف انطلاقًا من CVE: بحث في ثغرة معلنة، وبناء بصمة تعريفية تحدّدها خارجيًا، والتحقق من جودة الكشف مقابل أهداف مخبرية حقيقية.
معظم ملفات أعمال أبحاث الثغرات تتوقف عند «لقد استغليت X». هذا المشروع مبني حول سؤال مختلف، أقرب إلى ما يطرحه هندسة الكشف فعليًا:
بمجرد الإفصاح عن ثغرة CVE، كيف يمكنك تحديدًا موثوقًا — خارجيًا، وعلى نطاق واسع، ودون استغلال أي شيء — أيّ الأصول الموجّهة للإنترنت تشغّل التقنية المعرّضة للخطر فعلًا؟
يوثّق هذا المستودع سير العمل الكامل لثغرة CVE حقيقية واحدة: CVE-2011-2523، الباب الخلفي في vsftpd 2.3.4. ينتقل من أبحاث الثغرة عبر تصميم البصمة، وهندسة سكربت الكشف، والتحقق مقابل أهداف مخبرية حيّة — مبني عمدًا كـكشف وليس استغلالًا.
CVE Disclosure → Research & Version Analysis → Fingerprint Design
→ Detection Script → Validation (TP/FP/FN review) → Evidence Output
220 الخاص بـ FTP. هذا البانر هو سطح البصمة — لا حاجة لمصادقة أو استغلال لقراءته.fingerprint_vsftpd_cve_2011_2523.py، ويلتقط البانر، ويطابقه عبر regex مع التوقيع المعروف بأنه معرّض للخطر، ويصنّف النتيجة.undetermined بدلًا من سلبية كاذبة).أعد تسمية ملفات لقطات الشاشة لتطابق ذلك، أو حدّث هذه المسارات، بعد رفعها إلى
/screenshots.
| سكربت البصمة | مخرجات التحقق |
|---|---|
| Script | Output |
تفاصيل إضافية من التشغيل:
Detail Detail Detail Detail
# Single target
python3 fingerprint_vsftpd_cve_2011_2523.py --target 192.168.56.101
# Batch — multiple hosts, evidence-style JSON output
python3 fingerprint_vsftpd_cve_2011_2523.py --targets-file targets.json \
--output evidence/vsftpd_fingerprint_findings.json
مثال على المخرجات:
{
"scan_type": "vsftpd_2.3.4_backdoor_fingerprint",
"cve": "CVE-2011-2523",
"total_targets": 1,
"vulnerable_count": 1,
"findings": [
{
"host": "192.168.56.101",
"port": 21,
"banner": "220 (vsFTPd 2.3.4)",
"verdict": "vulnerable",
"reason": "Banner matches known vulnerable signature (vsftpd 2.3.4)"
}
]
}
هذا التقسيم الثلاثي هو جوهر مراقبة جودة الكشف في المشروع: الكاشف الساذج يدمج «تعذّر الفحص» و«تم الفحص وهو نظيف» في نفس النتيجة، وهذا بالضبط كيف تختبئ السلبيات الكاذبة في منطق الكشف الإنتاجي.
.
├── fingerprint_vsftpd_cve_2011_2523.py
├── docs/
│ └── CVE-RESEARCH.md
├── evidence/
│ └── vsftpd_fingerprint_findings.json
├── screenshots/
│ └── (script + validation run screenshots)
└── README.md
مهندس أمن سيبراني | مهندس كشف | باحث ثغرات | فريق أرجواني (Purple Team) | SIEM | أمن المؤسسات
مركّز على خط أنابيب البحث-إلى-الكشف: نقل ثغرة CVE مكشوفة من النشرة الأمنية إلى بصمة عاملة ومُتحقَّق منها، قادرة على تحديد التقنية المعرّضة للخطر خارجيًا وعلى نطاق واسع — مبنية على عمل مخبري هجومي ودفاعي عملي وليس على النظرية وحدها.
لينكد إن
https://www.linkedin.com/in/bassey-solomon-henry/
جيت هاب
https://github.com/solomonhenry-afk/Bassey-Solomon-Henry
البريد الإلكتروني
«الثغرة ليست خطرًا حقيقيًا حتى تتمكن من إثبات، على نطاق واسع، أيّ الأنظمة مصابة بها فعليًا. البحث يخبرك بما هو ممكن — هندسة الكشف تخبرك بما هو حقيقي.»
إذا كان هذا المشروع مفيدًا، ففكّر في وضع نجمة على المستودع.
| الوظيفة الأساسية | مكانها في هذا المستودع |
|---|
| البحث في الثغرات والإعلانات الأمنية المكشوفة حديثًا | docs/CVE-RESEARCH.md — خلفية CVE-2011-2523، والإصدارات المتأثرة، والجدول الزمني للإفصاح |
| تصميم بصمات التقنيات وتوقيعات الكشف | fingerprint_vsftpd_cve_2011_2523.py — توقيع مطابقة إصدار بناءً على البانر |
| بناء منطق كشف قابل للتوسع | وضع الدفعات (--targets-file) لبصمة عدة مضيفين في تشغيل واحد |
| التحقق من عمليات الكشف باستخدام أصول من العالم الحقيقي | تم تشغيله والتحقق منه مقابل أهداف مخبرية حيّة (Metasploitable2 + مجموعة تحكم بمنفذ مغلق) |
| تقليل الإيجابيات الكاذبة / السلبيات الكاذبة | منطق حكم بثلاث حالات (vulnerable / not_vulnerable / undetermined) بدلًا من قيمة منطقية ثنائية — المنفذ المغلق/المُصفّى لا يُدمَج أبدًا بصمت ضمن «ليست معرّضة للخطر» |
| البرمجة بـ Python للبحث والتحقق | سكربت الكشف كاملًا + مخرجات أدلة JSON، بدون خطوات يدوية |
| أساسيات HTTP/HTTPS والشبكات | تفاعل خام مع الخدمة على مستوى TCP/السوكيت، وتحليل البانر |
| التركيز على البنية التحتية الموجّهة للإنترنت | مصمم لبصمة خارجية غير مصادق عليها — بدون بيانات اعتماد، وبدون استغلال، وبدون تعطيل للخدمة |
| حالة الاختبار | نوع الهدف | الحكم المتوقع | النتيجة |
|---|
| مضيف معروف بأنه معرّض للخطر | Metasploitable2 (vsftpd 2.3.4) | vulnerable | مؤكَّد |
| منفذ مغلق/مُصفّى | منفذ غير مُصغٍ | undetermined (ليس سلبية كاذبة صامتة) | مؤكَّد |
| خدمة ليست vsftpd | بانر FTP آخر | not_applicable | مؤكَّد |