
استغلال تفاعلي بلغة بايثون بدون أي تبعيات للباب الخلفي في vsftpd 2.3.4 (CVE-2011-2523).
نصّ برمجي صغير بلغة Python 3 ولا يعتمد على أي مكتبات خارجية لاستغلال الباب الخلفي في vsftpd 2.3.4 (CVE-2011-2523). يقوم بتفعيل الباب الخلفي عبر FTP ويمنحك وصولًا تفاعليًا إلى شل جذر على المستمع المُشغَّل.
كُتب كبديل حديث لسكربتات الاستغلال القديمة التي كانت تعتمد على telnetlib — والتي أُزيلت من المكتبة القياسية في Python 3.13. تستخدم هذه النسخة المكتبة القياسية فقط، وتقرأ الشل باستخدام select بدلاً من توقيت ثابت، لذلك لا يُقتطع أي جزء من المخرجات.
⚠️ للاستخدام المصرّح به فقط. يستهدف هذا السكربت خدمة معروفة بوجود ثغرة فيها، وهو مخصّص للتعليم الأمني والبيئات المخبرية مثل Metasploitable 2. لا تشغّله إلا ضد أنظمة تملكها أو لديك إذن كتابي صريح لاختبارها.
احتوت vsftpd 2.3.4 على باب خلفي خبيث: أي اسم مستخدم FTP يحتوي على التسلسل :) يجعل الخادوم يفتح شل جذر على المنفذ TCP/6200. يقوم السكربت بما يلي:
vsftpd 2.3.4.USER <name>:) / PASS <anything> لتفعيل الباب الخلفي.id; uname -a.python3 vsftpd_backdoor.py <target-ip> [-p FTP_PORT] [-s SHELL_PORT] [--skip-verify]
أمثلة:
# الافتراضي: FTP على المنفذ 21، شل الباب الخلفي على المنفذ 6200، مع التحقق من الترحيب أولاً
python3 vsftpd_backdoor.py 192.168.243.114
# منفذ FTP غير قياسي، مع تخطي فحص الترحيب
python3 vsftpd_backdoor.py 192.168.243.114 -p 2121 --skip-verify
اكتب الأوامر عند موجه vsftpd#؛ واكتب exit (أو Ctrl-C) للخروج.
الباب الخلفي هو للاستخدام مرة واحدة لكل تفعيل: أول اتصال بالمنفذ 6200 يحصل على الشل، ويبقى هذا الشل محتفظًا بالمنفذ طوال فترة بقائه مفتوحًا. لا يتم قبول أي اتصال ثانٍ أبدًا.
النتائج العملية:
nc وMetasploit ضد الهدف نفسه في الوقت نفسه — سيتنافسون على فتحة الشل الوحيدة وستحصل على أخطاء مربكة ("ليست شلًا جديدًا"، رفض الاتصال، إلخ).exit حتى تنتهي العملية البعيدة وتحرّر المنفذ 6200. قتل العميل بطريقة غير نظيفة قد يترك العملية يتيمة ويُبقي المنفذ مفتوحًا عالقًا.إذا كان المنفذ 6200 مربوطًا بالفعل (المنفذ مفتوح لكن لا يوجد شل قابل للاستخدام)، أعد تعيين الهدف:
# On the target console
sudo netstat -tlnp | grep 6200
sudo kill -9 <pid>
أو ببساطة أعد تشغيل الجهاز الافتراضي للحصول على باب خلفي نظيف وغير مُفعّل بشكل مضمون.
موزَّع بموجب رخصة MIT. راجع LICENSE لمزيد من المعلومات.