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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/sud0woodo/dcomrade
Анализ уязвимостейЛатеральное перемещениеПост-эксплуатацияТестирование на ПроникновениеRed Teaming
GitHubsud0woodo/dcomrade

DCOMrade

Powershell скрипт для перечисления уязвимых DCOM Applications

Репозиторий
2644147 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

DCOMrade

DCOMrade — это скрипт на Powershell, который позволяет перечислить потенциально уязвимые DCOM-приложения, способные обеспечить боковое перемещение, выполнение кода, эксфильтрацию данных и т.д. Скрипт разработан для работы с Powershell 2.0, но будет работать и со всеми версиями выше. В настоящее время скрипт поддерживает следующие операционные системы Windows (как x86, так и x64):

  • Microsoft Windows 7
  • Microsoft Windows 10
  • Microsoft Windows Server 2012 / 2012 R2
  • Microsoft Windows Server 2016

Предыстория

В настоящее время я прохожу стажировку в HackDefense, исследуя существующие методы бокового перемещения через DCOM и пытаясь найти способ автоматизировать перечисление этих (и, возможно, новых) методов. Исследование привело к созданию этого скрипта и соответствующей исследовательской работы, ссылка на которую приведена ниже.

Как это работает

Скрипт был создан на основе исследований Мэтта Нельсона (@enigma0x3), особенно поста раунд 2, в котором рассматривается поиск DCOM-приложений, которые могут быть полезны для пентестеров и красных команд.

Сначала устанавливается удаленное подключение к целевой системе; это соединение используется в скрипте для множества операций. На целевой системе выполняется команда Powershell, которая извлекает все DCOM-приложения и их AppID. AppID используются для циклического прохода по реестру Windows и проверки наличия AppID, у которых не задан подраздел LaunchPermission. Такие AppID сохраняются и используются для получения связанных с ними CLSID.

Скрипт использует определенный черный список для каждой ОС, поэтому существуют разные опции для целевой операционной системы. Черный список пропускает записи CLSID, которые могут привести к зависанию скрипта из-за DCOM-приложений, которые невозможно активировать; это снижает нагрузку на целевую систему и сокращает время выполнения скрипта.

Используя CLSID, можно активировать соответствующее DCOM-приложение. CLSID 'Shortcut' используется для подсчета количества связанных с ним MemberTypes; это делается для проверки стандартного количества MemberTypes. Это число используется для проверки CLSID, которые содержат любое другое количество. Скрипт делает это с помощью CLSID 'Shortcut' (HKEY_CLASSES_ROOT\CLSID\{00021401-0000-0000-C000-000000000046}), поскольку это общий CLSID для операционных систем Microsoft Windows. CLSID с другим количеством MemberTypes могут содержать Method или Property, которые можно использовать (или злоупотребить), и будут добавлены в массив.

CLSID в массиве проверяются на наличие строк в MemberTypes, которые могут указывать на способ использования (или злоупотребления) ими; список этих строк можно найти в файле VulnerableSubset. Обратите внимание, что этот список ни в коем случае не является полным для поиска каждого уязвимого DCOM-приложения, но, будучи динамической частью процесса, он позволяет пользователю скрипта искать конкретные строки, которые могут указывать на функциональность DCOM-приложения, полезную для его целей.

Результаты работы скрипта выводятся в HTML-отчет и могут использоваться для аудита системы в качестве превентивной меры. Для атакующей стороны я создал модуль Empire, который на момент написания этого текста ожидает одобрения для добавления в ветку master. Если вы хотите добавить его в Empire самостоятельно, вы можете сделать это, добавив модуль, расположенный здесь.

Полное техническое объяснение идеи, скрипта и возможных методов обнаружения можно найти в соответствующей исследовательской работе.

Предварительные требования

Скрипт, если он не используется как модуль Empire, имеет некоторые ограничения, связанные с тем, как он работает и как подключается к целевой машине.

  • Для работы этого скрипта необходимо разрешить службы удаленного управления Windows в брандмауэре Windows (порт 5985);
  • Если сетевой профиль целевой системы установлен на Общедоступная, необходимо выполнить следующую команду, чтобы разрешить использование служб удаленного управления Windows на целевой системе: Enable-PSRemoting -SkipNetworkProfilecheck -Force
  • Этот скрипт работает только при наличии учетных данных локального администратора в целевой системе. Без этих учетных данных вы не сможете запустить удаленный сеанс с целевой машиной или активировать DCOM-приложения.

Пример использования

При нахождении в домене Microsoft Windows:

root@kitploit:~
.\DCOMrade.ps1 -ComputerName [Computername / IP] -User [Local Administrator] -OS [Operating System] -Domain [Domain name]

При нахождении вне домена Microsoft Windows:

root@kitploit:~
.\DCOMrade.ps1 -ComputerName [Computername / IP] -User [Local Administrator] -OS [Operating System]

Ограничения

  • В настоящее время скрипт пытается освободить все инстанциированные / активированные DCOM-приложения, но некоторые активации запускают новые процессы (например, Internet Explorer); процесс можно было бы остановить, но это означало бы, что если пользователь целевой системы использует это приложение, процесс остановится и для него;
  • Другая проблема, которая, вероятно, связана с моими плохими навыками программирования, заключается в том, что скрипт может создавать значительную нагрузку на целевую систему, если у нее недостаточно ресурсов. Будьте осторожны при использовании в производственной среде или на серверах;
  • Выполнение скрипта может занять некоторое время; это зависит от количества DCOM-приложений и размера файла уязвимого подмножества.

Благодарности

Этот скрипт был вдохновлен мастер-классом по боковому перемещению через DCOM, проведенным Евой Танаскоской; без этого мастер-класса идея попытаться перечислить это в автоматическом режиме никогда бы не возникла.

Благодаря исследованиям Мэтта Нельсона (он же @enigma0x3) я смог найти достаточно информации для создания формы автоматизации.

Статья Филипа Цукермана article, в которой суммируются большинство доступных методов DCOM для бокового перемещения и объясняется, как они работают.

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