概述
近日,360安全中心检测到流行系统优化软件CCleaner官方Piriform公司发布的正规安装包被植入恶意代码,该攻击使用了和前段时间xshell后门类似的供应链攻击手法,这是今年第二起大规模的供应链攻击事件,该软件在全球有超过1亿用户使用, 360核心安全事业部分析团队检测到该攻击后已第一时间推送查杀,并分析捕获的攻击样本。
攻击时间轴
2017年8月2日,CCleaner被攻击,官方编译的主程序文件被植入恶意代码。
2017年8月3日,CCleaner官方Piriform给被感染软件打包签名开始对外发布。
2017年9月12日,Piriform 官方发布新版软件CCleaner version 5.34去除被污染文件。
2017年9月14日,第三方注册恶意代码中预设的云控域名,阻止攻击。
2017年9月18日,Piriform 官方发布安全公告,公告称旗下的CCleaner version 5.33.6162和CCleaner Cloud version 1.07.3191版本软件被篡改并植入了恶意代码。
攻击样本分析
此次攻击主要分为代码加载、信息收集和云控攻击三个阶段,下面我们摘取5.33.6162版本的CCleaner感染文件进行技术分析。
代码加载阶段
1.程序在进入Main函数前会提前进入sub_40102C执行其中恶意代码。
2.通过对存在放在0x0082E0A8偏移处的shellcode进行解密。
ShellCode
shellcode解密代码
3.解密后,获取到一个被抹去DOS头的DLL(动态库文件)
信息收集阶段
调用解密后的DLL模块,恶意代码将创建一个独立线程。
线程的主要行为:
1.收集本地信息,并对收集到的信息进行加密
2.获取CC地址 216[.]126[.]225[.]148
3.将加密信息发送到CC地址,通信上采用HTTPS POST和伪造host为speccy[.]piriform[.]com的方式进行传输。
伪造host
云控攻击阶段
接下来恶意代码会接受运行216[.]126[.]225[.]148(目前已失效)下发的任意payload,为了保持长期的控制,恶意代码还使用了DGA(domain name generator)的方式躲避追踪,通过下列算法每个月生成一个云控域名方便远程控制。
DGA域名列表
总结
通过技术分析,我们发现这次的攻击是一整套不亚于xshellghost的供应链攻击木马,这是今年公开的第二起黑客入侵供应链软件商后进行的有组织有预谋的大规模定向攻击,我们仍将会持续关注此次攻击的进一步发展,建议广大用户使用360安全卫士查杀此次被出现的供应链软件木马和防御可能的供应链软件攻击。