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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2018-14847 — تحليل وPoC لثغرة CVE-2018-14847، ثغرة كشف المعلومات في MikroTik RouterOS Winbox التي تسمح بوصول قراءة غير مصادق عليه إلى قاعدة بيانات الاعتمادات. | Kitploit
أدوات/GitHubGitHub/themalwareguardian/cve-2018-14847
أمان الأنظمة المدمجةكسر كلمات المرورأمان إنترنت الأشياءتحليل الثغرات الأمنيةالاستغلالجمع المعلومات
GitHubthemalwareguardian/cve-2018-14847

CVE-2018-14847

تحليل وPoC لثغرة CVE-2018-14847، ثغرة كشف المعلومات في MikroTik RouterOS Winbox التي تسمح بوصول قراءة غير مصادق عليه إلى قاعدة بيانات الاعتمادات.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
منذ 3 أشهرلم تتم المراجعة بعد

🐞 ميكروتك CVE-2018-14847

اجتياز مسار غير مصادق عليه في بروتوكول Winbox الخاص بشركة ميكروتك يتسبب في تسريب بيانات اعتماد المشرف من الملف /flash/rw/store/user.dat




📑 جدول المحتويات

  • نظرة عامة
  • الإصدارات المتأثرة
  • الثغرة
    📂
    • بروتوكول Winbox
    • اجتياز المسار
    • فك تشفير كلمة المرور
    • الباب الخلفي للمطورين
  • الاستغلال
  • المراجع



📋 نظرة عامة

CVE-2018-14847 هي ثغرة اجتياز مسار في نظام RouterOS من ميكروتك تؤثر على بروتوكول الإدارة Winbox (المنفذ TCP 8291). يمكن لمهاجم عن بعد غير مصادق قراءة ملفات عشوائية من نظام ملفات الموجه، بما في ذلك قاعدة بيانات بيانات اعتماد المستخدم /flash/rw/store/user.dat، التي تخزن كلمات المرور مشفرة باستخدام مفتاح XOR ثابت ضعيف.

تم الكشف عن الثغرة أصلاً بواسطة جاكوب بينيس (Tenable) في يوليو 2018 من خلال استغلال By the Way. يحتوي هذا المستودع على إعادة تطبيق مستقل بلغة Python3 مع توثيق كامل للبروتوكول.




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

تنزيل الأداة
القناةالإصدارات
طويلة الأمد6.30.1 - 6.40.7
مستقرة6.29 - 6.42
تجريبية6.29rc1 - 6.43rc3

قامت ميكروتك بتصحيح هذه الثغرة في أبريل 2018. الأجهزة التي تعمل بإصدارات RouterOS أقدم من الإصدارات المُصححة لا تزال عرضة للخطر.




🔬 الثغرة

🧠 بروتوكول Winbox

Winbox هو بروتوكول إدارة ثنائي خاص بشركة ميكروتك يعمل على منفذ TCP 8291. يتم تنظيم الإطارات على النحو التالي:

root@kitploit:~
[total_len - 2][0x01][0x00][total_len - 4]["M2"[حقول...]

يقوم رأس 4 بايت بتشفير الحجم الإجمالي للإطار. ليس u16 قياسيًا بنمط endian الصغير - كل بايت يشفر total_length - 2 و total_length - 4 بشكل مستقل.

ترميز الحقل داخل كل إطار:

بايت النوعالمعنىالقيمة
0xffعلامة حقل ممتديتبعه field_id والقيمة
0x09عدد صحيح u81 بايت
0x21سلسلة نصيةطول البادئة بايت واحد + بيانات
0x88علامة توقع الردلا قيمة
0xfeمعرف حقل ممتدمعرف 3 بايت + نوع + قيمة

يعيش معالج نظام الملفات في نقطة النهاية (sys=5, handler=0) ويكشف عن ثلاثة أوامر ذات صلة:

  • 0x06 - فتح ملف
  • 0x04 - قراءة ملف
  • 0x01 - إنشاء ملف

🧨 اجتياز المسار

لا يقوم معالج نظام الملفات في Winbox بتنظيف المسار الذي تم تمريره إلى أمر فتح الملف. من خلال تضمين تسلسلات '/////./../'، يمكن للمهاجم الهروب من حدود الحماية والوصول إلى نظام الملفات الجذر:

root@kitploit:~
/////./..//////./..//////./../flash/rw/store/user.dat

كل مقطع '/////./../' (10 بايت) يصعد مستوى دليل واحد. ثلاثة مقاطع تصل إلى الجذر، وبعد ذلك يصبح flash/rw/store/user.dat قاعدة بيانات بيانات اعتماد مستخدم RouterOS. الطلب لا يتطلب أي مصادقة.

يرسل الاستغلال إطارين:

  1. طلب فتح: أمر فتح ملف مع مسار الاجتياز
    • البايت [38] في الرد → session_id
  2. طلب قراءة: أمر قراءة ملف مع session_id المعدل
    • من البايت [55] فصاعدًا في الرد → محتويات user.dat الخام

🔐 فك تشفير كلمة المرور

user.dat هو سلسلة من سجلات nv::message. كل سجل يسبقه حقل طول 2 بايت بنمط little-endian ويبدأ بالبايتات السحرية M2. تستخدم الحقول داخل كل سجل معرف حقل 3 بايت بنمط little-endian:

معرف الحقلالنوعالمعنى
0x01سلسلةاسم المستخدم
0x02u8المجموعة - 3 = وصول مسؤول كامل
0x11سلسلةكلمة المرور المشفرة (فارغة إذا لم تُحدد)

يتم تشفير كلمات المرور باستخدام مفتاح XOR ثابت مشتق من ملح (salt) مثبت مسبقًا في RouterOS:

root@kitploit:~
key      = MD5(username + "283i4jfkai3389")
password = XOR(encrypted_pass[i], key[i % len(key)])  حتى بايت الصفر

هذا يعني أن أي ملف user.dat مستخرج من أي جهاز متأثر يمكن فك تشفيره دون اتصال بالإنترنت دون الحاجة إلى القوة العمياء.


🧬 الباب الخلفي للمطورين

بعد الحصول على كلمة مرور المسؤول، يمكن للمهاجم المصادقة عبر Winbox واستخدام أمر إنشاء ملف لكتابة ملفين ينشطان تسجيل الدخول المخفي للمطور:

root@kitploit:~
/pckg/option                       ينشط حزمة option
/flash/nova/etc/devel-login        يمكّن مستخدم devel

بمجرد وجود هذه الملفات، يعرض الموجه قشرة BusyBox جذرية عبر Telnet و SSH تحت المستخدم devel، باستخدام كلمة مرور المسؤول.

يجب الاتصال عبر Telnet أولاً حتى يعمل SSH على بعض إصدارات RouterOS.




⚙️ الاستغلال

Exploit_CVE_2018_14847.py هو استغلال مستقل بلغة Python3 بدون أي تبعيات خارجية. ينفذ بروتوكول Winbox الثنائي من الصفر ويقوم بالآتي:

  1. اجتياز مسار غير مصادق عليه لاستخراج user.dat.
  2. تحليل ثنائي لسجلات nv::message.
  3. فك تشفير كلمة المرور باستخدام MD5-XOR.
root@kitploit:~
# المنفذ الافتراضي 8291
python3 Exploit_CVE_2018_14847.py 192.168.1.10

# منفذ مخصص
python3 Exploit_CVE_2018_14847.py 192.168.1.10 8291

ما بعد الاستغلال - قشرة الباب الخلفي للمطورين:

root@kitploit:~
# Telnet (يجب الاتصال أولاً)
telnet -l devel 192.168.1.10

# SSH (بعد جلسة Telnet)
ssh -oHostKeyAlgorithms=+ssh-dss [email protected]



📚 المراجع

  • نشرة أمان ميكروتك

    • نشرة التصحيح الرسمية والجدول الزمني من ميكروتك.
  • Tenable - إثبات المفهوم By the Way

    • الاستغلال الأصلي بلغة C++ بواسطة جاكوب بينيس.
  • NVD - CVE-2018-14847

    • CVSS 9.1 (حرج).