
🔒 تقرير ثغرة أمنية المنتج: BenimPOS Desktop V3.0 نوع الثغرة: صلاحيات ملفات غير آمنة المكوّنات المتأثرة: BenimPOS.exe, unins000.exe, System.Data.SQLite.dll فئة الثغرة: CWE-276: صلاحيات افتراضية غير صحيحة إثبات المفهوم بواسطة: Fatih Bülbül بيئة الاختبار: Windows 11 x64 – مدير محلي + مستخدم قياسي
🛠️ 1. اكتشاف الثغرة أولاً، قمت بفحص صلاحيات الدليل الذي تم فيه تثبيت تطبيق BenimPOS باستخدام أداة AccessChk.exe التي طورتها Sysinternals: الأمر المستخدم: accesschk.exe -dqvw "C:\Program Files (x86)\BenimPOS"
النتيجة التي تم الحصول عليها: RW Everyone FILE_ALL_ACCESS RW BUILTIN\Users FILE_ALL_ACCESS
📌 تم منح صلاحيات FILE_ALL_ACCESS لمجموعتي "Everyone" و"BUILTIN\Users". وهذا يعني أن أي مستخدم قياسي يمكنه تعديل ملفات .exe أو .dll الخاصة بالتطبيق. 📸 لقطة شاشة لهذه النتيجة معروضة أدناه:
try: subprocess.Popen(r"C:\Windows\System32\calc.exe") except Exception as e: with open("error_log.txt", "w") as f: f.write(traceback.format_exc()) sys.exit(1)
• قمت بتحويل هذا السكربت إلى ملف .exe (على سبيل المثال، باستخدام PyInstaller). • بعد ذلك، قمت باستبدال ملف BenimPOS.exe الأصلي بهذا الملف التنفيذي الجديد. 🔁 تشغيل البرنامج: • بدلاً من فتح BenimPOS، تم تشغيل الآلة الحاسبة (calc.exe). 📸 لقطة شاشة (تم تشغيل calc.exe):
🧨 3. التأثير والمخاطر تأثير هذه الثغرة حرج: الفئة الوصف تصعيد الامتيازات يمكن للمستخدم القياسي انتحال صفة عمليات تتمتع بامتيازات إدارية. حقن كود خبيث يمكن تعديل ملف EXE أو DLL لإدخال باب خلفي. التلاعب بالتطبيق يمكن تغيير تطبيق نقاط البيع بإضافات خبيثة لخداع المستخدمين.
🩹 4. الحل الموصى به