
D(COM) V(ulnerability) S(canner) जिसे दुष्ट स्विस आर्मी नाइफ भी कहा जाता है - DCOM ऑब्जेक्ट्स का उपयोग कर पार्श्विक गति
क्या आपने कभी सोचा है कि आप आंतरिक नेटवर्क में लेटरल कैसे जा सकते हैं? या EDRs को सचेत किए बिना रिमोट मशीनों से बातचीत कर सकते हैं?
मान लें कि हमारे पास वैध क्रेडेंशियल्स हैं, या रिमोट मशीन तक पहुंच वाला एक सक्रिय सत्र है, लेकिन हमारे पास किसी ज्ञात, अपेक्षित या अत्यधिक निगरानी वाली विधि (जैसे WMI, टास्क शेड्यूलर, WinRM, PowerShell रिमोटिंग) के माध्यम से दूरस्थ रूप से प्रक्रिया निष्पादित करने का विकल्प नहीं है।
इन परिदृश्यों के लिए, DVS फ्रेमवर्क बचाव में आता है।
DVS फ्रेमवर्क एक स्विस आर्मी नाइफ है जो आपको रिमोट DCOM ऑब्जेक्ट्स के कमजोर कार्यों को सूचीबद्ध करने, उन्हें लॉन्च करने और उनका उपयोग करके हमले शुरू करने की अनुमति देता है।
फ्रेमवर्क को "रेड टीम" मानसिकता के साथ विकसित किया जा रहा है और रिमोट मशीनों से समझौता करने के लिए गुप्त तरीकों का उपयोग करता है।
DVS फ्रेमवर्क में DCOM के विरुद्ध रिमोट हार्डनिंग को बायपास करने के विभिन्न तरीके शामिल हैं, जैसे DCOM एक्सेस को दूरस्थ रूप से पुनः सक्षम करना और हमलावर उपयोगकर्ता को स्वचालित रूप से आवश्यक अनुमतियाँ प्रदान करना।
फ्रेमवर्क हमले से पहले रिमोट मशीन पर किए गए परिवर्तनों को उनकी मूल स्थिति में वापस ला सकता है - इन परिवर्तनों को डिफेंडरों से छिपाकर।
हमारी मुख्य अंतर्दृष्टि यह है कि उपकरण एक शानदार तकनीक के माध्यम से गैर-कमजोर DCOM ऑब्जेक्ट्स का उपयोग करके कमांड भी निष्पादित कर सकता है (नीचे Invoke-RegisterRemoteSchema के बारे में पढ़ें)।
PowerShell 2.0 और उससे ऊपर के साथ संगत
यूट्यूब वीडियो PoC: DVS
यह उपकरण केवल परीक्षण और शैक्षिक उद्देश्यों के लिए है। इस कोड का कोई अन्य उपयोग अनुमत नहीं है। अपने जोखिम पर उपयोग करें।
लेखक इस उपकरण के दुरुपयोग की कोई जिम्मेदारी नहीं लेता है।
इसका उपयोग करके आप इस तथ्य को स्वीकार करते हैं कि इस उपकरण के उपयोग से होने वाली कोई भी क्षति आपकी जिम्मेदारी है।
रिमोट-रजिस्ट्री एक्सेस (MS-RRP)
AutoGrant मोड चिह्नित है, तो लिखने की अनुमतियाँ जांचें, अन्यथा पढ़ने की अनुमतियाँ जांचेंमानक रजिस्ट्री प्रदाता (यदि रिमोट-रजिस्ट्री अस्वीकार की गई है)
StdRegProv सुलभ है या नहींAutoGrant मोड चिह्नित है, तो लिखने की अनुमतियाँ जांचें, अन्यथा पढ़ने की अनुमतियाँ जांचेंDVS उपकरण पहले जांचता है कि क्या प्रमुख-पहचान के पास निम्नलिखित चरणों के माध्यम से रिमोट मशीन तक पहुंच है:
मूल क्रियाएँ
SkipRegAuth चिह्नित नहीं है)
AutoGrant चिह्नित है), अन्यथा विफलadsi/WindowsIdentity सुविधा के माध्यम से), को DCOM (रिमोट रजिस्ट्री क्वेरी के माध्यम से) से बातचीत करने की अनुमति दी गई हैAutoGrant चिह्नित है), अन्यथा विफलHKLM या HKCU Hives) का उपयोग करने का प्रयास करेगाInvoke-DCOMObjectScan
Get-ExecutionCommand
Invoke-ExecutionCommand
Invoke-RegisterRemoteSchema
git clone https://github.com/ScorpionesLabs/DVS
powershell -ep bypass
PS> Import-Module .\DVS.psm1
PS> Get-Help Invoke-DCOMObjectScan -Detailed # Get details of the Invoke-DCOMObjectScan command
PS> Get-Help Get-ExecutionCommand -Detailed # Get details of the Get-ExecutionCommand command
PS> Get-Help Invoke-ExecutionCommand -Detailed # Get details of the Invoke-ExecutionCommand command
PS> Get-Help Invoke-RegisterRemoteSchema -Detailed # Get details of the Invoke-RegisterRemoteSchema command
Invoke-DCOMObjectScan फ़ंक्शन आपको DCOM ऑब्जेक्ट्स को स्कैन करने और एक फ़ाइल में शामिल पैटर्न या सटीक फ़ंक्शन नामों की सूची के माध्यम से कमजोर फ़ंक्शन खोजने की अनुमति देता है।
उदाहरण:
DC01 होस्ट पर रजिस्ट्री क्वेरी किए बिना हमलावर मशीन से MMC20.Application (ProgID) ऑब्जेक्ट को सूचीबद्ध और स्कैन करता है।
Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipRegAuth -Username "lab\administrator" -Password "Aa123456!" -Verbose
नोट: उपकरण ACL अनुमतियों का विश्लेषण नहीं करेगा, और जब उपकरण सफल होगा, तो यह रजिस्ट्री पर उल्लिखित विवरणों को छोड़कर ऑब्जेक्ट के बारे में सभी जानकारी हल करेगा (जैसे ऑब्जेक्ट नाम, निष्पादन योग्य फ़ाइल, आदि)।
जांचें कि क्या MMC20.Application (ProgID) ऑब्जेक्ट पहले DCOM ऑब्जेक्ट की एक्सेस सूची को क्वेरी और सत्यापित किए बिना हमलावर मशीन से DC01 होस्ट तक सुलभ है।
PS> Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipPermissionChecks -CheckAccessOnly -Verbose