导语:从去年起,滥用windows组件传播恶意软件成为一种趋势,本文讲述如何滥用Windows utilities传播恶意软件。

攻击者在钓鱼攻击活动中滥用Windows utilities,因为与附件或嵌入的恶意软件相比,这种方式很难识别和检测。难以识别的原因是因为这些工具的功能就是如此,很容易被用作恶意目的。目前发现被滥用的Windows utilities有Certutil, Schtasks, Bitsadmin和MpCmdRun。

Certutil

Certutil是一个基本的命令行实用工具,被用作Dreambot扩展活动的一部分。Certutil早在2015年就被攻击者利用来安装假的证书用作MITM攻击,还可用来下载base 64编码或十六进制编码的文件伪装成证书。因为防火墙的规则无法判断经过编码的证书是否是恶意软件。

图片.png

图1: Certutil被用作下载编码的文件

图片.png

图2: Certutil下载的伪装的证书

图片.png

图3: Certutil命令被用于解码证书

图片.png

图4: 图3 中Certutil命令解码图2中证书的结果

Certutil执行HTTP请求的方式会让它后续继续被滥用。Certuti会用两个不同序列后的HTTP GET请求两个不同的User-Agents (图5),攻击者利用这个特性可用确保只有使用准确的User-Agents时间才下载文件。如果响应一个假的“Not Found”响应消息(图6) ,服务器是不能阻止研究人员和防护者访问payload的。假的“Not Found”响应消息可以帮助服务器避免自动URL扫描器的检测,因为会将“Not Found”响应消息解释为没有恶意文件。

图片.png

图5: Certutil唯一的HTTP GET User-Agents

图片.png

图6: 假的“Not Found” 响应

Schtasks

另一个常被滥用的Windows utility是schtasks。schtasks.exe可以安排命令和程序定期运行或在指定时间内运行。在恶意攻击者了解了如何安排计划任务和识别执行目标后,就被用作驻留目的。

图片.png

图7: 每2天运行一次可执行文件的命令

攻击者可以安排在特定的时间执行脚本或二进制文件,比如用户登陆时,或满足特定条件时。满足的特定条件可以是有网络连接、系统空闲等。

这种方式要比在开始菜单留下脚本或者可执行文件要隐蔽的多,因为startup文件夹是最早被反病毒软件检查的地方,而且用户也可以查看。

图片.png

图8:图7 命令创建的任务配置文件

图片.png

图9: Startup文件夹中释放的恶意文件

使用schtasks后,攻击者可以更好的伪装其恶意活动。另一个好处是,用于保存任务信息的文件不需要扩展名,一些反病毒软件就会忽略这些文件。

BITSAdmin

BITSAdmin(Background Intelligent Transfer Service)工具是Windows文件传输实用程序,从Windows 2007起开始使用,常被CVE和office macro替代powershell用作下载文件(图10)。Powershell命令通常是留存日志的,而且通过Powershell直接下载文件会触发行为检测系统,而BITSadmin一般使用已有的svchost.exe进程来执行动作,所以看起来是通过svchost.exe完成文件创建和下载。svchost.exe创建文件和连接到网络是比较正常的,因为这是一种正常行为,所以一些本地的反病毒软件就会忽视该行为。

图片.png

图10: bitsadmin下载命令

BITSAdmin的另一个好处就是下载文件的方式比较特殊。BITSAdmin使用特殊的User-Agent (Microsoft BITS/7.5)来请求文件,而不是用HTTP GET请求。工具首先会用HTTP HEAD请求检查资源是否存在,如果资源存在,BITSAdmin会遵循HTTP GET请求(图11)。与Certutil类似,只有使用正确的User-Agent才可以下载文件,而HTTP HEAD请求就会被攻击者滥用。

图片.png

图11: BITSAdmin下载通信示例

MpCmdRun

MpCmdRun是Microsoft的命令行实用工具,用于与Windows Defender Antivirus进行交互。MpCmdRun对于自动执行的任务是非常有用的,比如系统管理员可以用MpCmdRun远程更新Windows Defender。当自动更新不能正常工作时,该功能常被用于Windows defender回滚,然后更新签名定义。但该工具有一些缺陷。

攻击者可以滥用该工具来重置反病毒软件的签名,并修改Windows Defender的行为。最近,有Office macro脚本使用了该技巧,在关闭所有打开的Office程序前对Windows Defender进行修改,并通过注册表项目关闭了Microsoft Office的部分安全设定。

如图12所示,MpCmdRun使用的命令删除了动态签名,但没有删除所有签名。通过使用MpCmdRun,攻击者可以在不关闭Windows Defender的前提下避免被检测到,然后进一步控制被感染的环境。

图片.png

图12: 使用MpCmdRun的 Office Macro脚本

总结

Windows utilities被用作恶意用途并不是一种新的趋势,但这种特征的滥用说明通过钓鱼直接进行payload传播可能会成为一种新的趋势。

更多内容请参考https://cofense.com/abusing-microsoft-windows-utilities-deliver-malware-fun-profit/

源链接

Hacking more

...