公司新闻
事件报告
近日,金山安全中心发现微软进程atbroker.exe 存在漏洞,该漏洞可无限次触发。锁屏,触发UAC,用Cttl+Alt+Delete 快捷键都可启动,危害较大。
一般情况下,病毒会利用添加启动项、计划任务、服务的方式来实现开机启动,达到留存和活跃的目的。然而,利用atbroker.exe系统进程,实现病毒开机启动的方式并不常见。虽然该手法在2016年7月已经有被曝光,但是被发现的在野攻击却不多。
不久前,某网友机子上的某杀毒软件不停的提示有挖矿(zec币)程序在运行,删除恶意程序后,下次开机还是会不停的出现。金山毒霸安全研究员小欧在一番苦心挖掘下,终于摸清了病毒的自启、躲避杀软的攻击手法。
本次抓到的样本,通过利用atbroker.exe自启病毒母体,然后通过rundll32加载恶意模块,最后实现文件的md5修改、释放和执行挖矿程序。
启动方式及攻击流程
锁屏或者登录时
开机启动时
运行atbroker.exe时
按下Ctrl+Alt+Del时
触发UAC时主要行为
攻击流程:
从病毒母体的自启动,到最终的挖矿程序执行,中间用了多层手法,用此方法有主要两个目的:
(1)隐藏母体,让病毒长期驻存和活跃;
(2)不断改变MD5逃避杀软查杀。
这里用红色字体标注恶意文件,用蓝色字体标注系统进程,流程如图所示
自启动:
样机上的atbroker.exe利用的注册表信息:
注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs下创建了一个Zlocal39的项,其中StartExe的值指向病毒母体,StartParams的内容是运行参数 woshiyizhixiaomaolv。
接下来我们分析一下具体的行为
第一层:恶意样本会先释放出一个dll文件在临时目录下,并且加载这个dll,运行dll中的一个导出函数。
我们用IDA分析的时候有个意外的收获,看到了作者的QQ,这方便了我们溯源。
1,文件大致的执行流程如下,真正破坏的函数是95行的导出函数
2,这个恶意样本会先在临时文件夹下面创建一个新的文件夹,如下:
3,在这个文件夹下面创建一个新的文件,文件名是随机的,如下:
4,之后会在自己的资源文件里面读取数据,并将读到的数据进行解密的操作,之后将解密后的数据写入到刚才创建的文件中去(并非读取的完整的资源,而是偏移一定位置之后的数据)。如下:
第二层:释放出来的这个dll文件中进行恶意的破坏行为。
该模块主要是创建线程和释放挖矿文件到C:\ProgramData\GTOrigin 目录下,并解压挖矿文件到%appdata%/Wtrl目录下
而Sub_10004A20()的关键代码如下:
释放的文件如下:
进入到该目录下查看这些文件,其中ini的文件为加密的配置文件,Wtrl.cab是包含挖矿模块(后来证实是antpool的zec挖矿模块)的压缩包
Wtrl.cab的文件最后被释放到%appdata%/Wtrl目录下:
接着rundll32调起Mine.exe(MD5:c849f42721cc0a0d66f405602126ecf0),运行参数 woshiyizhixiaomaolv
Mine.exe调起ThundCloud.exe(d9c6ab06dd0ea7703eff952d40c4e4ce),运行参数依然是 woshiyizhixiaomaolv
ThundCloud.exe最后加载同目录下的挖矿模块,用wireshark 抓包得到矿池地址,账号名和矿工名:
溯源如下
根据pdb路径暴露的QQ号,查到作者于12年毕业,活跃于看雪论坛,擅长windows驱动开发。
总结
atbroker.exe 是病毒很好的藏身之地。病毒再通过改变MD5和白+黑手法,能绕过大部分杀软的查杀。触发atbroker.exe来启动病毒的场景很多,包括开机自启、锁屏、UAC和参数运行等。利用该机制,使得病毒能够轻松拉活自己并长期驻存在系统中。目前,金山V8+终端安全系统可完美防御。