今年7月27日,迅雷爆出病毒门,网友称发现一个位于C:\Windows\System32目录下、名为“INPEnhSvc.exe”、带有迅雷数字签名的文件有问题。网络上的新闻虽然不少,但大多都是八卦和概念性的描述,本文是由国外的小伙伴写的一篇纯技术分析。
概述
最近ESET杀毒软件检测到一款名为Win32/KanKan的恶意软件.它有一下3个重要特征:
1. 尽管自身没有办公软件的功能,但是在注册表里注册了一个办公插件,目的纯粹是为了更长久的在系统中存活.
2. 所有连接到受感染电脑的安卓手机都会被悄悄的安装多个APP.
3. 这款恶意软件拥有迅雷网络技术有限公司的签名.
详细分析
恶意软件的签名信息如下:
这个恶意软件是一个windows安装程序,文件名为INPEnhSetup.exe.开始运行的时候会连接kkyouxi.stat.kankan.com 发送初始化消息.然后释放3个文件:INPEn.dll, INPEnhUD.exe和INPEnhSvc.exe.之后加载库文件INPEn.dll到内存,调用它的 DllRegisterServer函数.最后安装程序又向域名kkyouxi.stat.kankan.com发送安装完成消息.
INPEn.dll
INPEn.dll运行时会安装一个Word,Excel,PowerPoint的名为InputEnhance的插件.通过创建一个注册表项使得办公软件每次启动就会加载这个插件,从而达到隐蔽运行的目的.
dll文件运行之后会读取conf.kklm.n0808.com/tools.ini这个文件.
这个文件包含了多个参数.其中Tools和VID用base64编码过.
Tools解码后如下:
taskmgr.exe|tasklist.exe|procexp.exe|procmon.exe|devenv.exe|windbg.exe|filemon.exe|ollyice.exe|ollydbg.exe|processspy.exe|spyxx.exe|cv.exe|wireshark.exe
显然是检测这些工具是否运行,如果存在dll文件会停止运行,避免被发现.值得一提的这个列表里并只有分析工具,没有杀毒软件.看来作者的目的是为了防止软件被发现.
dll文件运行之后还会通过访问baidu.com,qq.com等域名来检测网络是否通畅.如果没有联网就周期性的检测网络连接.
INPEnhUD.exe
一旦网络连接建立,它就会执行INPEnhUD.exe.我们称这个文件为更新程序.它首先访问这个URL:
update.kklm.n0808.com/officeaddinupdate.xml.
officeaddinupdate.xml当前的内容如下:
这个xml文件包含一个url和md5 hash的列表.INPEnhUD.exe会下载没一个url里的文件,然后比对md5,如果通过就执行这个文件.
当前xml里只有一个Uninstall.exe,现在该软件下载这个程序会把自己卸载掉.当下载完列表里的程序后,最后会执行第三个文件,INPEnhSvc.exe.
INPEnhSvc.exe
INPEnhSvc.exe是这3个文件架构的最核心.它获取一个包含7个命令的XML配置文件.7个命令可以分为下面两组:
local commands: scanreg, scandesktop, scanfavorites
outsourced commands: installpcapp, installphoneapp, setdesktopshortcut, addfavorites, setiestartpage
整个程序的架构可以用下图表示:
下面分析一下我们最感兴趣的”installphoneapp”命令.其实大多数命令都可以从它的名字看出他大概的作用.”installphoneapp”会下载一些安卓应用,然后安装到连接到该电脑的手机上.
当我们开始调查的时候,这些安卓应用已经不能下载了.我们在中国的一些安全论坛里找到几个样本.下面是这些应用的截图:
下图是ESET每天检测到的这个名为 Win32/kankan软件的安装数据: