DCOM Exec
Try Hard Security Group
MMC20.Application
Для отримання додаткової інформації про цю техніку перегляньте оригінальний пост за посиланням https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/
Розподілений об'єктний модель компонентів (DCOM) надає цікаві можливості для мережевої взаємодії з об'єктами. Microsoft надає вичерпну документацію як для DCOM, так і для моделі об'єктів компонентів (COM), доступну тут для DCOM і тут для COM. Список додатків DCOM можна отримати за допомогою команди PowerShell:
COM-об'єкт, Клас додатка MMC (MMC20.Application), дозволяє скриптування операцій MMC snap-in. Зокрема, цей об'єкт містить метод ExecuteShellCommand
під Document.ActiveView
. Додаткову інформацію про цей метод можна знайти тут. Перевірте його запускаючи:
Ця функція сприяє виконанню команд через мережу за допомогою додатка DCOM. Для взаємодії з DCOM віддалено як адміністратор, можна скористатися PowerShell наступним чином:
Ця команда підключається до додатку DCOM та повертає екземпляр об'єкта COM. Метод ExecuteShellCommand може бути викликаний для виконання процесу на віддаленому хості. Процес включає наступні кроки:
Перевірка методів:
Отримати віддалене виконання коду (RCE):
ShellWindows & ShellBrowserWindow
Для отримання додаткової інформації про цю техніку перевірте оригінальний пост https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/
Було виявлено, що об'єкт MMC20.Application не має явних "LaunchPermissions" і має дозволи, що дозволяють адміністраторам доступ. Для отримання додаткових відомостей можна дослідити тему тут, і рекомендується використання @tiraniddo OleView .NET для фільтрації об'єктів без явних дозволів на запуск.
Два конкретних об'єкти, ShellBrowserWindow
та ShellWindows
, були виділені через відсутність явних дозволів на запуск. Відсутність запису реєстру LaunchPermission
під HKCR:\AppID\{guid}
свідчить про відсутність явних дозволів.
ShellWindows
Для ShellWindows
, який не має ProgID, методи .NET Type.GetTypeFromCLSID
та Activator.CreateInstance
дозволяють створювати об'єкти за допомогою його AppID. Цей процес використовує OleView .NET для отримання CLSID для ShellWindows
. Після створення можливе взаємодія через метод WindowsShell.Item
, що призводить до виклику методу, наприклад, Document.Application.ShellExecute
.
Наведено приклади команд PowerShell для створення об'єкта та віддаленого виконання команд:
Бічний рух з об'єктами Excel DCOM
Бічний рух можна досягти, використовуючи об'єкти DCOM Excel. Для докладної інформації рекомендується прочитати обговорення про використання Excel DDE для бічного руху через DCOM на блозі Cybereason.
Проект Empire надає сценарій PowerShell, який демонструє використання Excel для віддаленого виконання коду (RCE) шляхом маніпулювання об'єктами DCOM. Нижче наведені уривки зі сценарію, доступного на сховищі GitHub Empire, де показані різні методи зловживання Excel для RCE:
Інструменти автоматизації для бічного руху
Для автоматизації цих технік виділено два інструменти:
Invoke-DCOM.ps1: Скрипт PowerShell, наданий проектом Empire, який спрощує виклик різних методів для виконання коду на віддалених машинах. Цей скрипт доступний у сховищі GitHub Empire.
SharpLateral: Інструмент, призначений для виконання коду віддалено, який можна використовувати за допомогою команди:
Автоматичні Інструменти
Сценарій Powershell Invoke-DCOM.ps1 дозволяє легко викликати всі закоментовані способи виконання коду на інших машинах.
Ви також можете використовувати SharpLateral:
Посилання
Група Try Hard Security
Last updated