DCOM(分布式组件对象模型)是Windows中通过RPC扩展COM功能以实现网络化软件互操作的技术,攻击者可利用其进行横向移动,通过远程调用COM对象方法在目标系统执行代码,具有隐蔽性强、难以全面监控的特点。
进程融合:执行进程为托管COM服务器的软件进程。例如,滥用shellbrowserwindowscom对象时,执行发生在远程主机的explorer.exe进程中,有助于融入正常环境。
隐蔽性:大量程序暴露方法给DCOM,难以全面监控其执行情况。


隐蔽性:XLM宏未被广泛支持,且可在DCOM启动的excel.exe进程中无文件执行,减少指标并降低检测概率。
实例化Excel COM对象:
调用方法执行代码:例如,通过InvokeMember调用ExecuteExcel4Macro执行XLM代码,弹出计算器:
无文件执行Shellcode:利用XLM代码访问Win32 API,将Shellcode写入内存并启动新线程执行:
灵活性:文件扩展名无关,接受UNC路径,无需托管在目标系统。
调用方法执行XLL文件:
实际应用:XLL文件为带有xlAutoOpen导出的DLL,通过UNC路径加载执行。

父进程特征:DCOM实例化的进程通过DCOMLaunch服务或DllHost.exe作为父进程执行,可使用Sysmon Process Create事件(ID 1)捕获。
参数特征:如Excel使用/automation -Embedding参数启动,表明通过自动化启动。

XLL文件加载:针对RegisterXLL技术,监视ImageLoad事件(ID 7)中加载的XLL文件。

参考文献:I Like to Move It – Windows Lateral Movement Part 2 – DCOM
