Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

عرض المستودع
2564727منذ 6 سنواتتمت المراجعة من قبل 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

    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. تنفيذ الأمر

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

  • محلل الحقوق الأمنية - تحليل حقوق الهوية الأساسية للوصول إلى كائن 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 لكتابة قسم التخفيف والوقاية

التثبيت:

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 دون الاستعلام عن السجل.

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

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

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

         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipPermissionChecks -CheckAccessOnly -Verbose
      
    2. التحقق مما إذا كان MMC20.Application (ProgID) متاحًا عبر نطاق 10.211.55.4/24. إذا كان موجودًا، ستحاول الأداة تعداد المعلومات عنه. (باستخدام جلسة المستخدم المسجل حاليًا).

         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -Hostlist "10.211.55.4/24" -CheckAccessOnly -Verbose
      
    3. التحقق مما إذا كان CLSID {00020812-0000-0000-C000-000000000046} موجودًا وقابلاً للوصول عبر عنوان IP 10.211.55.4. إذا كان موجودًا، ستحل الأداة المعلومات عنه. (باستخدام بيانات اعتماد lab\administrator).

         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "{00020812-0000-0000-C000-000000000046}" -Hostlist "10.211.55.4" -CheckAccessOnly -Username "lab\administrator" -Password "Aa123456!" -Verbose   
      
    4. مسح جميع الكائنات المخزنة في مسار محدد (مثل C:\Users\USERNAME\Desktop\DVS\objects.txt) عبر عنوان IP 10.211.55.4، والعثور على قائمة الوظائف الموجودة في الملف المحدد مثل vulnerable.txt باستخدام بيانات اعتماد lab\administrator مع التكوين التالي:
      أقصى عمق: 4
      أقصى نتائج: 1 (نتيجة واحدة لكل كائن)
      وضع AutoGrant: إذا لم يكن لدينا حق الوصول إلى الكائن أو إذا كانت ميزة DCOM معطلة، قم بتمكين ميزة DCOM وإجراء منح تلقائي لكائن DCOM ذي الصلة.
      أخيرًا، أعد الجهاز إلى نفس الحالة التي كان عليها قبل الهجوم.

تنزيل الأداة