
OMIGOD! OM I GOOD? Wiz की खतरा अनुसंधान टीम द्वारा खोजी गई 'OMIGOD' कमजोरियों में से एक, विशेष रूप से CVE-2021-38647, के प्रति संवेदनशील VM का पता लगाने के लिए एक मुफ्त स्कैनर।
इस रिपॉज़िटरी में एक मुफ़्त स्कैनर है जो Wiz की थ्रेट रिसर्च टीम द्वारा खोजी गई "OMIGOD" कमज़ोरियों में से एक, विशेष रूप से CVE-2021-38647, के प्रति संवेदनशील VMs का पता लगाता है।
Wiz का मूल ब्लॉग पोस्ट: https://www.wiz.io/blog/omigod-critical-vulnerabilities-in-omi-azure
स्कैनर को Azure APIs से कनेक्ट करने के लिए Azure क्रेडेंशियल की आवश्यकता होती है और, किसी सब्सक्रिप्शन और रिसोर्स ग्रुप (या डिफ़ॉल्ट रूप से सभी उपलब्ध सब्सक्रिप्शन/रिसोर्स ग्रुप स्कैन करेगा) के आधार पर, यह Linux VMs की सूची प्राप्त करता है और रिपोर्ट करता है कि मशीन संवेदनशील हो सकती है या नहीं।
इस उद्देश्य के लिए Microsoft के अपने टूल को भी देखना सुनिश्चित करें: https://github.com/microsoft/OMS-Agent-for-Linux/tree/master/tools/OMIcheck
Azure APIs के विरुद्ध प्रमाणीकरण के लिए, azure cli (डिफ़ॉल्ट) और Interactive Browser प्रमाणीकरण दोनों समर्थित हैं, --auth कमांड लाइन पैरामीटर देखें।
यह निर्धारित करने का कोई सीधा तरीका नहीं है कि आपकी मशीनें OMI के प्रति संवेदनशील हैं या नहीं, बिना Linux मशीन पर स्वयं कमांड चलाए, जो कि Azure APIs के माध्यम से एक एक्सटेंशन के द्वारा RunShellScript कमांड का उपयोग करके समर्थित है। Microsoft का अपना टूल (https://github.com/microsoft/OMS-Agent-for-Linux/tree/master/tools/OMIcheck) भी इसी दृष्टिकोण का उपयोग करता है।
यह ध्यान देने योग्य है कि, भले ही VM संवेदनशील हो, यह OMI सर्वर को HTTP/HTTPS (जो डिफ़ॉल्ट है) के माध्यम से एक्सपोज़ नहीं कर रहा हो सकता है, और भले ही ऐसा करता हो, उन पोर्ट्स को Azure के Network Security Groups द्वारा ब्लॉक किया जा सकता है, इसलिए वे पहुँच योग्य नहीं हो सकते। यह पैचिंग से बचने का कारण नहीं है, लेकिन यदि आपके पास बहुत सारे संवेदनशील Linux VMs हैं, तो यह जानना उपयोगी हो सकता है कि कौन से अधिक एक्सपोज़्ड हैं और अपने प्रयासों को प्राथमिकता दें।
omigood इस अधिक व्यापक दृष्टिकोण का अनुसरण करता है और कई जाँचों के साथ एक JSON आउटपुट तैयार करेगा, जिन्हें आप अपने अटैक सरफेस को निर्धारित करने के लिए कमांड लाइन विकल्पों के माध्यम से ट्रिगर कर सकते हैं।
omigood द्वारा किए गए जाँच निम्नलिखित हैं:
1.13.40 होना चाहिए। हमारे द्वारा चलाई गई स्क्रिप्ट को यहाँ देख सकते हैं।-e कमांड लाइन विकल्प से सक्षम करें।-r कमांड लाइन विकल्प से सक्षम करें। अपने जोखिम पर उपयोग करें!/usr/bin/id कमांड चलाकर मशीन के सार्वजनिक IP पर हमला करने का प्रयास करें। यह जाँच वैकल्पिक है क्योंकि इसमें VM का शोषण करने का प्रयास शामिल है। इसे -a कमांड लाइन विकल्प से सक्षम करें। केवल उन लक्ष्यों पर उपयोग करें जिन्हें आप परीक्षण करने के लिए अधिकृत हैं। इसे अपने जोखिम पर उपयोग करें!उत्पन्न JSON आउटपुट फ़ाइल में स्कैन किए गए VMs की सभी जानकारी होती है: IDs, ऑपरेटिंग सिस्टम, नेटवर्क सुरक्षा समूह, पावर स्थिति, आदि।
जाँचों के लिए प्रासंगिक फ्लैग ('YES'/'NO') निम्नलिखित हैं:
YES यदि VM पर OMS Agent Extension पाया जाता है।YES यदि OMS Agent Extension संस्करण 1.13.40 से कम है।YES यदि Network Security Group नियम OMI पोर्ट्स पर कनेक्शन की अनुमति देते प्रतीत होते हैं।YES यदि Effective Security rules OMI पोर्ट्स पर कनेक्शन की अनुमति देते प्रतीत होते हैं। केवल -e कमांड लाइन विकल्प के साथ।YES यदि OMI सर्वर संस्करण स्क्रिप्ट के माध्यम से प्राप्त किया गया था और 1.6.8-1 से कम निर्धारित किया गया था। केवल -r कमांड लाइन विकल्प के साथ।YES यदि OMI सर्वर स्थिति स्क्रिप्ट के माध्यम से प्राप्त की गई थी और यह निर्धारित किया गया था कि यह केवल UNIX sockets पर नहीं बल्कि TCP पर सुन रहा है। केवल -r कमांड लाइन विकल्प के साथ।usage: omigood_scanner.py [-h] [-v] [--auth {azurecli,interactivebrowser}] [-r] [-a] [-e] [-s SUBSCRIPTIONS]
[-g RESOURCEGROUPS] [-m VMS] -o OUTPUT
OMIGood scanner for CVE-2021-38647
optional arguments:
-h, --help show this help message and exit
-v, --verbose [OPTIONAL] Verbose mode: Displays additional debug details.
--auth {azurecli,interactivebrowser}
Authentication mode. Default: azurecli.
-r, --runscript [OPTIONAL] Run Script. Runs bash script on target VMs to check for OMI server, agent and
version. Disabled by default. Use at your own risk.
-a, --attack [OPTIONAL] Try to attack the host. Disabled by default. Use at your own risk.
-e, --effective [OPTIONAL] Check Effective Security Rules. Disabled by default. Requires higher permissions on
Azure.
-s SUBSCRIPTIONS, --subscriptions SUBSCRIPTIONS
[OPTIONAL] Comma separate list of subscriptions IDs. If not specified, it will try all.
-g RESOURCEGROUPS, --resourcegroups RESOURCEGROUPS
[OPTIONAL] Comma separated list of Resource Group names. If not specified, it will try all. If
specified, it will work only with a single subscription provided.
-m VMS, --vms VMS [OPTIONAL] Comma separated list of VM names. If not specified, it will try all. If specified,
it will work only with a single subscription and a single resource group provided.
-o OUTPUT, --output OUTPUT
JSON output file with results.
इस रिपॉज़िटरी पर उपलब्ध सॉफ़्टवेयर और कोड नमूने "जैसे हैं" (as is) प्रदान किए जाते हैं, बिना किसी प्रकार की वारंटी के, स्पष्ट या निहित। अपने जोखिम पर उपयोग करें।
YES-r