驱动人生旗下应用分发恶意代码事件分析 - 一个供应链攻击的案例

 

概述

2018年12月14日下午,360互联网安全中心监测到 “驱动人生”系列软件“人生日历”等升级程序分发恶意代码的活动,其中包括信息收集及挖矿木马,甚至还下发了利用永恒之蓝漏洞进行内网传播的程序。360核心安全事业部已经对相关的恶意代码做了分析,可以参看参考链接。

360威胁情报中心对本次事件做了进一步的分析,基于收集到的事实确认这是一起通过控制应用相关的升级服务器执行的典型的供应链攻击案例,360威胁情报中心以前发布过一个介绍供应链攻击的报告,可以参看阅读原文的链接。以下是我们对木马下发之前的攻击链路进行的初步分析。

 

受影响应用及威胁

通过升级程序下载的恶意样本链接确认驱动人生旗下多款应用的升级模块均被污染,其中包括:

对应到攻击者控制的分发恶意程序的服务器上的链接如下:

hxxp://pull.update.ackng.com/160wifibroad/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

hxxp://pull.update.ackng.com/calendar/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

hxxp://pull.update.ackng.com/dtl2012/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

hxxp://pull.update.ackng.com/dtl2013/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

hxxp://pull.update.ackng.com/dtl6_ext/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

hxxp://pull.update.ackng.com/dtl7/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

hxxp://pull.update.ackng.com/dtloem/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

hxxp://pull.update.ackng.com/usbboxlite/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

hxxp://pull.update.ackng.com/ziptool/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

 

恶意代码分发过程

基于对升级过程及相关组件的分析,360威胁情报中心对整体恶意代码的分发过程还原为如下的图示:

Pnphost.dll

以USB宝盒4.0.6.12为例,安装完成后,系统中多了一个名为pnphost的服务,该服务指向了C:\Program Files\DTLSoft\USBBox\pnphost.dll

pnphost.dll的ServiceMain函数会启动一个新线程并调用C:\Program Files\DTLSoft\USBBox\PnpUpdater\Pnpupdate.dll中的DtlPlugStart函数:

Pnpupdate.dll

DtlPlugStart函数会解析并调用C:\Program Files\DTLSoft\USBBox\PnpUpdater\CheckUpdate.dll中的一系列导出函数来设置更新相关参数,包括更新配置文件名、更新程序名、更新服务器地址:

从上图可以看到,更新配置文件名为 update.xml,更新程序名为DTLUpg.exe,更新服务器的地址,设置的地址为dtlupdate.updrv.com(103.56.77.23)的4040端口

最后调用CheckUpdate.dll中的HUAutoCheckUpdate导出函数完成检测更新的功能。

CheckUpdate.dll

CheckUpdate.dll的HUAutoCheckUpdate导出函数中,首先启动一个新的线程检测更新,并传入上面被设置好的更新相关参数。

线程过程函数CheckUpdateFuction中,首先去更新服务器拉取配置文件,这里的更新服务器在前面Pnpupdate.dll中通过调用HUSetUpdateServer()被设置成了dtlupdate.updrv.com(103.56.77.23)的4040端口。

然后根据配置数据进入到SetCtrlXML这个流程:

SetCtrlXML中则读取配置信息中的数据,拼接成一个XML字符串:

<update><sft>usbboxlite</sft><act>ctrl</act><arp><![CDATA[E:\DTLSoft\rili]]></arp><afn><![CDATA[DtlTimeServices.exe]]></afn><urp><![CDATA[E:\DTLSoft\rili\Updater]]></urp><ucfn><![CDATA[update.xml]]></ucfn><hash>f79cb9d2893b254cc75dfb7f3e454a69</hash><url><![CDATA[http://pull.update.ackng.com/usbboxlite/PullExecute/F79CB9D2893B254CC75DFB7F3E454A69.exe]]></url><param><![CDATA[/r]]></param><pcid>************************</pcid><union>2403</union><ip>103.56.77.23 </ip><port>4040</port><wnd>...</wnd><wndcls>...</wndcls><inservice>1</inservice><loc>1</loc><rafn>1</rafn><erts>1</erts></update>

并将这个字符串作为参数启动DTLUpg.exe:

之后就是DTLUpg.exe根据update.xml中的<url>节点内容下载病毒样本并执行了,后续过程就不再分析了。

 

攻击方式推测

根据上述的分析,可以注意到关键点在于更新服务器dtlupdate.updrv.com(103.56.77.23)所下发的更新配置数据,配置数据中的<url>节点决定了后续下载的是正常更新包还是恶意程序。

使用360威胁情报中心的Alpha分析平台可以看到解析到103.56.77.23的域名都是驱动人生公司注册的更新相关域名,注册人cao gui hu及其邮箱caoguihu@163.com注册了一系列驱动人生公司旗下的域名。

由此可以基本确认这个IP应该是驱动人生旗下的官方更新服务器,用于分发更新配置文件和更新包。目前该IP和这四个更新相关的域名已经被驱动人生公司下线。那么这次事件的起因到底是什么呢?

一个比较大的可能是驱动人生公司的更新服务器103.56.77.23被入侵后修改了上述的更新配置文件,导致客户端应用在获取更新时获取到了恶意的下载链接。

 

影响面评估

基于360网络研究院的大网数据,攻击得手后恶意代码被下载的高峰期在2018年12月14日18:00左右,驱动人生公司团队在后续发布的关于攻击活动的声明中说他们当时正在团建活动中,如果确实为外部的攻击,那明显是一个对公司的运作非常熟悉的人员执行的一场有预谋的突袭。

根据抽样数据的评估,此次攻击在最高峰时的机器感染量在10万级别。

目前包括360安全卫士和360天擎在内的终端安全产品已经支持对此类恶意代码的查杀,360天眼、SOC、态势感知、TIP(威胁情报平台)等企业级安全产品也已经通过威胁情报支持对受此攻击影响终端的发现和定位。

 

IOC

http://p.abbny.com/im.png

http://i.haqo.net/i.png

http://dl.haqo.net/eb.exez

http://dl.haqo.net/dl.exe

ackng.com

i.haqo.net

dl.haqo.net

p.abbny.com

pull.update.ackng.com

http://pull.update.ackng.com/ziptool/PullExecute/F79CB9D2893B254CC75DFB7F3E454A69.exe

http://pull.update.ackng.com/160wifibroad/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

http://pull.update.ackng.com/dtloem/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

http://pull.update.ackng.com/dtl2012/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

http://pull.update.ackng.com/calendar/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

http://pull.update.ackng.com/dtl7/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

http://pull.update.ackng.com/usbboxlite/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

http://pull.update.ackng.com/dtl6_ext/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

http://pull.update.ackng.com/dtl2013/pullexecute/f79cb9d2893b254cc75dfb7f3e454a69.exe

http://pull.update.ackng.com/calendar/PullExecute/F79CB9D2893B254CC75DFB7F3E454A69.exe

http://pull.update.ackng.com/ziptool/PullExecute/F79CB9D2893B254CC75DFB7F3E454A69.exe

74e2a43b2b7c6e258b3a3fc2516c1235

2e9710a4b9cba3cd11e977af87570e3b

f79cb9d2893b254cc75dfb7f3e454a69

93a0b974bac0882780f4f1de41a65cfd

d37424c8d6dc5fa4c2b415c63fb5fa81

 

参考链接

https://cert.360.cn/warning/detail?id=57cc079bc4686dd09981bf034130f1c9&from=timeline&isappinstalled=0

(完)