Morpheus Labs近期观测到2起滥用MSBuild植入恶意程序的安全事件,并揭露其攻击手法

研究人员发现,Visual Studio开发人员常用的MSBuild被黑客用于躲过防护机制,而在用户电脑上执行恶意程序Cobalt Strike。
MSBuild(Microsoft Build Engine)是.NET及Visual Studio的开发平台,可协助自动化软件开发流程,包括源代码编译、封装、测试、部署及文件产生等。 MSBuild经常是用于没有安装Visual Studio的环境上开发应用程序。 它以XML schema撰写项目档案来控制软件流程及开发。
侦测到这起恶意程序活动的Morphus Labs指出,在开发流程中,项目档案中的「Task」可编译输入的档案或指定外部独立执行文件执行。 而在本次攻击中,则是攻击者利用MSBuild为掩护以Task执行恶意代码,属于Mitre ATT&CK中的「信任开发商工具的代理执行」。
Morpheus Labs暨SANS Internet Storm Center (ISC)管理员Renato Marinho指出,这是近一周来他观测到第2起滥用MSBuild植入恶意程序的事件。 在本次事件中,攻击者以有效账号先建立RDP存取连线、经由远端Windows服务在受害企业内部网络上横向移动,最后于主机上植入Cobalt Strike。
他以开发C#程序的MSBuild项目为例解释,由于Task可使用外部执行文件,攻击者于是在Task代码中加入了Cobalt Strike beacon,因而在MSBuild呼叫时,即可编译及执行C#,并在受害者机器上解密及执行Cobalt Strike beacon。 这beacon即可和外部C&C服务器建立连接,执行其指令。

为了防止MSBuild项目遭到滥用及保护开发代管应用的系统,微软建议网管人员应防堵40多款应用程序,这些应用程序可被攻击者用以绕过应用许可政策,包括Windows Defender应用控管(Windows Defender Application Control,WDAC)规则。

