
यह निर्धारित करें कि आपका कंप्यूट वास्तव में किसी विशिष्ट भेद्यता के प्रति संवेदनशील है या नहीं, उन सभी कारकों को ध्यान में रखते हुए जो *वास्तविक* शोषणक्षमता को प्रभावित करते हैं (रनटाइम निष्पादन, कॉन्फ़िगरेशन, अनुमतियाँ, किसी शमन उपाय का अस्तित्व, OS, आदि..)
Author: 2022 - अब तक, Rezilion Description: भेद्यता सत्यापन Development: जनवरी 2022 - अब तक Documentation: वेबसाइट, README देखें
‘Am I Exploitable?’ एक python ओपन सोर्स प्रोजेक्ट है जो यह सत्यापित करने की आवश्यकता को पूरा करने के लिए आया है कि आपका सिस्टम विशिष्ट भेद्यताओं के लिए शोषणीय है या नहीं। यह प्रोजेक्ट आपको यह समझने में मदद कर सकता है कि क्या आप किसी विशिष्ट भेद्यता के लिए शोषणीय हैं, और आपको समझा सकता है कि आपके सिस्टम में भेद्य घटक या अभेद्य घटक कौन सा है। यह प्रोजेक्ट एक ग्राफ बना सकता है जो हमारे द्वारा किए गए भेद्यता जाँचों के अनुसार सत्यापन प्रवाह को प्रस्तुत करता है। MI-X मशीन-पठनीय आउटपुट का समर्थन करता है। परिणामों को तीन अलग-अलग फ़ाइल प्रारूपों में निर्यात किया जा सकता है: json, csv और text। उपकरण को चलाने के बाद, आप सत्यापन प्रवाह देखेंगे - यह प्रिंट करेगा कि होस्ट/कंटेनर पर कौन सी जाँचें की गईं, साथ ही सुधार और शमन अनुशंसाएँ। हम शोधकर्ताओं और प्रोग्रामरों का एक समुदाय बनाना चाहते हैं जो नई भेद्यताओं या गंभीर या प्रसिद्ध भेद्यताओं के लिए भेद्यता जाँच जोड़ सकें। जब भी कोई नई भेद्यता आती है, हम यह सेवा प्रदान कर सकते हैं जो लोगों को यह सत्यापित करने में मदद करती है कि वे शोषणीय हैं या नहीं। इसके अलावा, हमारे द्वारा अब तक लिखी गई भेद्यता जाँचों को कुछ जाँचों के साथ विस्तारित किया जा सकता है जिन्हें हम शायद चूक गए हों।
CVE-2021-4034 (उर्फ PwnKit) के लिए एक उदाहरण प्रवाह ग्राफ:
हर कोई AGPL-3.0 लाइसेंस की शर्तों के तहत 'Am I Exploitable?' का उपयोग करने के लिए स्वतंत्र है (LICENSE फ़ाइल देखें)।
am_i_exploitable.py - मुख्य फ़ाइल जो उपयोगकर्ता इनपुट और CVEs कॉल को संभालती है।cves - Python पैकेज जिसमें प्रत्येक वर्तमान में समर्थित भेद्यता के लिए एक python फ़ाइल शामिल है।modules - Python पैकेज जिसमें मॉड्यूल शामिल हैं।
मॉड्यूल कोड कार्यान्वयन हैं जिनका उपयोग विभिन्न CVE फ़ाइलों में किया जाता है।यह उपकरण निम्नलिखित Linux वितरणों का समर्थन करता है:
Ubuntu, Debian, Red Hat, Centos, Fedora, SUSE, SLES, Amazon
Alpine के लिए आंशिक समर्थन
Windows के लिए आंशिक समर्थन
MI-X स्थापित करने से पहले, सुनिश्चित करें कि आपकी मशीन में निम्नलिखित है:
openjdk10 से कम है)आवश्यकताओं को स्थापित करने के लिए:
अपने OS वितरण की जाँच करें, आप निम्न कमांड का उपयोग कर सकते हैं:
cat /etc/os-release
पता करें कि आपका OS वितरण किस पैकेज मैनेजर का उपयोग कर रहा है:
apt - Ubuntu, Debian
yum - Red Hat, CentOS, Fedora, SUSE, SLES, Amazon
apk - Alpine
अपने OS वितरण पैकेज मैनेजर का उपयोग करके प्रासंगिक पैकेज स्थापित करें
MI-X को सही ढंग से चलाने के लिए, आपको pip का उपयोग करके graphviz और packaging python मॉड्यूल आवश्यकताएँ स्थापित करनी होंगी:
pip install -r requirements.txt
नवीनतम विकास git के माध्यम से प्राप्त किए जा सकते हैं।
git clone https://github.com/Rezilion/mi-x.git
cd mi-x && python3 am_i_exploitable.py
स्कैनिंग कमांड टेम्पलेट
python3 am_i_exploitable.py -v cve_yyyy_xxxx -c True -g True -f json
log4shell के लिए कंटेनर चला रही मशीन को स्कैन करें।
python3 am_i_exploitable.py -v log4shell -c True -f json

उस भेद्यता को निर्दिष्ट करता है जिसकी जाँच की जाएगी (डिफ़ॉल्ट रूप से सेट नहीं है)।
वाक्यविन्यास:
यदि तर्क सेट नहीं है, तो एक मेनू संदेश दिखाई देगा जो वर्तमान में समर्थित भेद्यताओं को प्रस्तुत करेगा।
होस्ट पर सभी चालू कंटेनरों को स्कैन करता है (डिफ़ॉल्ट रूप से False)।
होस्ट पर विशिष्ट कंटेनरों को स्कैन करता है, चालू कंटेनरों के नाम रिक्त स्थान से अलग करके डालें (डिफ़ॉल्ट रूप से सेट नहीं है)।
परिणामों को तीन संभावित आउटपुट प्रारूपों में से एक में निर्यात करता है: json, csv, text
निर्दिष्ट करता है कि भेद्यता विवरण देखना है या नहीं (डिफ़ॉल्ट रूप से True)।
निर्दिष्ट करता है कि सत्यापन फ़्लोचार्ट देखना है या नहीं (डिफ़ॉल्ट रूप से False)।
कोड कैसे चलाएँ यह समझने में सहायता
कोई समस्या मिली, या कोई बढ़िया विचार है? हमें बताएं:
योगदान की सराहना की जाती है और GitHub के माध्यम से किया जा सकता है।
उन्हें कैसे जमा करें, इसके बारे में अधिक जानकारी के लिए CONTRIBUTING.md देखें।
'Am I Exploitable?' को Windows और अधिकांश सामान्य Linux ऑपरेटिंग सिस्टम पर परीक्षण किया गया है। दस्तावेज़ीकरण (README) और डिबगिंग जानकारी (debug पैरामीटर को 'True' पर सेट करें), अधिकांश प्रश्नों और समस्याओं को कवर करनी चाहिए।
बग्स की रिपोर्ट GitHub के माध्यम से, या ऊपर दिए गए ईमेल पते पर ईमेल भेजकर की जा सकती है।
ओपन सोर्स सॉफ्टवेयर का उपयोग करने और समर्थन करने के लिए समुदाय को धन्यवाद।
कई टिप्पणियाँ, बग/पैच और प्रश्न इस तरह के उपकरणों को विकसित करने में सफलता और निरंतर प्रेरणा की कुंजी हैं।