在今天部落格当中, 我们将向各位介绍一款软体, ESET防w88优德手机版软体将其检测为W32/Kankan。该软体之所以近期引起我们的注意, 主要原因是:
- - 它能够将自身注册为Office外挂, 本身并不具备Office软体功能, 只做维持续依附于电脑系统的一种方式。
- - 当Android系统手机接入电脑之后, 它能够通过USB故障排查模式, 在Android手机上秘密安装手机应用程式。
- - 该软体拥有中国着名公司 - 迅雷网路科技公司的数位签章。该公司因其所开发的BT用户端, 成为全球用户数量最多的下载软体而声名显赫。
我们首先从说明这款程式的相关背景着手, 接着探讨这一发现震惊大量中国用户的原因, 然后再对软体功能进行一番深入剖析, 最后讨论迅雷科技公司涉嫌参与其中的证据。
背景
本文所讲述的情况, 最早始于去年6月份, 当时中国各大论坛上相继出现反映一家中国企业 – 迅雷网路科技公司涉嫌开发可疑程式的投诉。 这消息迅速传播, 最终出现在许多中国网站的头版的头条。
为便于更好了解引起媒体关注的原因, 就有必要首先介绍相关背景知识, 其中奥妙, 恐怕多数国外读者尚为陌生。 迅雷网路科技公司的主要业务, 就是开发迅雷用户端软体, 该软体能够帮助用户提高各类文件的下载速率(影音、pdf档、可执行档等等), 其功能类似于, 但在中国非常普遍。
说起该软体广受欢迎的原因, 就不得不提起该下载工具的工作原理。 简单来说, 迅雷用户端能够
建立并时时更新已知文件路径列表, 每当用户使用浏览器或BT用户端开始下载文件时, 迅雷用户端将根据实际网路传输速度, 选最佳下载来源以提升下载速率。 为优化软体性能, 迅雷网路科技公司开发了一套颇为复杂的软体应用环境, 在软体内部集结了共享文件搜寻引擎、 多协定BT用户端, 甚至自行开发了专有点对点通讯协定。 有兴趣的读者, 可点击阅读Dhungel等人于2012年编撰的迅雷网路综合研究报告。
如上所述, 该软体中国用户数量及其庞大。,甚至将迅雷用户端列为世界第一的BT下载软体, 分享用户超过一亿人, 而uTorrent最多用户数量为9200万人。另一方面, 由于官方网站位提供该工具英文版下载, 虽然一些业余爱好者曾推出非官方外文版, 但中国境外几乎没有用户使用。 由此我们可以推测, 迅雷公司的实际用意, 就是在中国境内发展。
剖析
以上背景故事, 说明了中国用户在电脑上所发现的可疑程式, 居然由迅雷公司数位签章时的那种惊讶。 相关数位证书, 如下图所示。
我们接下来讨论一下该软体被列为可疑程式的原因。
安装文件
该程式为Windows系统安装包, 通常文件名为INPEnhSetup.exe, 基于编写。
简单来说, 该安装程式就是一个附带安装脚本的压缩档。程式在安装开始时, 会联络写死的域名kkyouxi.stat.kankan.com, 报告安装初始化。之后将在系统上安装三个文件: INPEn.dll、INPEnhUD.exe与INPEnhSvc.exe。 随后系统加载资料库文件INPEn.dll, 并调用DllRegisterServer函数。 最后, 安装文件再次联络域名kkyouxi.stat.kankan.com, 报告安装过程结束。
Office外挂
INPEn.dll首先将自身复制安装为Word、Excel与PowerPoint外挂, 文件名不变, 外挂名称则是InputEnhance。 在安装过程中, 安装程式会自动新增Windows登入档, 使Office应用程式调用INPEnh.dll资料库文件作为外挂(详细说明, 请点击查看)。新建的部分登入档, 如下图所示。
我们不难看到, LoadBehavior键值设置为3, 这意味着每当相关程式启动时, 外挂将自动加载。 有趣的是, 这只是该软体依附于系统之中, 但用户是无法察觉奇存在的。 除此之外, 该软体还在系统后台自动执行以下操作:
- - 获取文件conf.kklm.n0808.com/tools.ini,其主要内容如下所示:
该文件包含多项参数, 例如以base64编码的安全分析工具列表以及StatServer伺服器位址,在撰写本文时仍为kkyouxi.stat.kankan.com。
- - 检查上文所提到的二进制分析工具是否已经运行: 如正在运行, 则立即停止执行Office外挂。最新解码后的列表, 如下所是。
值得一提的是, 该列表包含Windows任务管理器、OllyDebugger等在内的分析工具与一个WiFi网路管理工具, 并不包含任何防w88优德手机版产品。因此, 该程式的目的是躲避安全检测设备。
- - 通过尝试联络一些中国境内常见域名, 例如baidu.com与qq.com等, 检查是否存在有效网路连接。设备未连网时, 该程式将转入循环模式, 定期检查是否存在网路连接。
- - 当以上检查项目全部通过后, 该外挂将StatServer伺服器发送Windows系统版本与应用程式(例如WINWORD.exe)名称等讯息, 然后执行INPEnhUD.exe。
- - 最后进入任务管理循环模式, 这一环节中的相关任务由另一程式完成, 因此我们稍后说明。
更新
接下来继续执行INPEnhUD.exe, 其作用大致相当于更新工具, 尤其是能够获取写死的网址
update.kklm.n0808.com/officeaddinupdate.xml,其最新数据如下图所示。
该XML文件包含文件地址列表以及MD5杂凑值。更新程式会逐各下载文件, 校验杂凑值开在确认符合后执行。
留意的读者应该已经注意到上图中的网址指向Uninstall.exe程式, 这一问题留待我们稍后讨论。
最后一步, 更新程式执行所生的文件INPEnhSvc.exe。
服务
INPEnhSvc.exe文件, 是三程式架构的核心。该服务像针对Office外挂中的分析工具运行同样测试之后, 将获取一个XML配置文件, 其中包含七项指令, 每项指令均附带一系列参数。 相关指令可大致可划分为两类:
- - 本机指令:scanreg、scandesktop、scanfavorites
- - 外部指令:installpcapp、installphoneapp、setdesktopshortcut、addfavorites、setiestartpage
正如指令名称所示,本机指令由服务向直接执行:scanreg用以搜寻特定登入档,向StatServer伺服器反馈是否存在或缺失;scandesktop与scanfavorites分别用来在桌面与收藏夹中搜寻快捷方式档(扩展名.lnk)与网路连结档(.url)。
另一方面,当程式接收到外部指令之后,会与Office外挂沟通,由后者负责执行相关指令。通讯通过配置文件tasklist.ini进行,分为三栏位:正在执行、已完成与完成日期。此外,两者均包含w88优德手机版有的标示代码(GUID),并分别与任务相关连。更确切的说, 整个沟通过程如下:
- - 当外挂接收到外部指令之后,服务项目会在正在通讯一栏写入附属GUID与参数(网址等)。
- - 在任务管理循环环节,Office外挂读取GUID之后,检查文件tasklist.ini中已完成或完成日期一栏是否缺少该GUID。如只要正在执行一栏存在GUID,则开始执行相关编码函数。
- - 运行完毕后,Office外挂会在已完成一栏中写入GUID。此外,还在完成日期一栏中写入installpcapp与installphoneapp指令的GUID。这样做的目的,可能是需要定期重新执行相关指令。
整个架构可以归纳如下, 蓝色矩形代表过程, 黄色则代表文件。
读取需运行任务GUID。任务执行完毕,写入GUID。 | Office外挂INPEnh.dll | 获取 |
配置文件
Tools.ini
|
执行 | |||
本地任务文件tasklist.ini | 更新程式INPEnhUD.exe | 获取 |
更新文件
Officeaddinupdate.xml
|
执行 | |||
写入任务GUID | 服务项目INPEnhSvc.exe | 获取 |
命令文件
Config.xml
|
外部指令名称一目了然,无需详细说明,当然出人意料的installphoneapp指令不在此限
手机应用程式
如名称所示,installphoneapp指令是通过Office外挂下载Android系统程式(APK文件),当任何Android系统的手机接入电脑后实现自动安装。首先,服务项目下载(ADB)二进制文件,即Android系统SDK安装包的一部分,以及程式所需的资料库文件。接下来,Office外挂将根据XML指令文件所提供的网址,下载APK文件。最后,再借助ADB命令devices列明接入电脑的Android设备,并通过install命令,在每一台连入的手机设备上安装相关APK文件。
尽管如此,该安装方式仅在相关Android设备启用了USB故障排查模式后方为有效,该模式可通过手机设定选项进行设置。系统开发商之所以集结此功能,是便于系统开发目的而设, 但特定类别的应用程式往往需要此功能方可正常工作(例如截屏类软体),Android手机根目录权限破解或安装用户自定义ROM,也需要用到该功能。值得注意的是,通过该方式安装程式时,手机萤幕上并不显示通常安装软体时的Android系统权限界面,因此用户对安装过程毫不知情。换而言之,但凡启用USB故障排查模式的Android手机,一旦接入电脑,相关应用程式将自动完成后台安装,并不给出任何提示。
在我们分析之时,Android应用程式已不再自动下载,具体原因本文末尾将予以说明,但其中的四款软体在一些中国安全论坛上可以下载。相关应用程式的主界面,如下图所示。
据我们分析, 所有这些程式均能够为用户提供真实功能。其中有三款是Android市场, 供用户下载各类Android应用程式。我们在这些软件中没有发现明显恶意功能, 但值得一提的是, 其编码非常模糊不清。
最后一款软体, 在我们编写本文的时候, , 允许用户以优惠费率拨打电话。但是该软体有一些可疑的功能, 例如与Android系统广告推送网站进行周期性通知。ESET防w88优德手机版软体将其侦测为Android/SMSreg.BT变种, 这是一种不良应用程式。
总体而言, 推送安装相关手机应用程式的动机尚不明确。
后记: 迅雷网路科技公司告白
我们最后需要探讨的问题, 是迅雷网路科技公司在其中所扮演的脚色。 不仅因为该二进制程式拥有迅雷公司的数位签章, 其所指向的域名kankan.com以及其下用做StatServer的二级域名, 也同属迅雷公司线上影音点播网站。 因此, 该公司参与此款软体开发, 是不言而喻的。
去年八月, 因用户反应强烈, 迅雷公司官方在新闻发布会上正式承认, 旗下部分员工利用公司资源开发并推广了本程式。该公司解释说, 软体是公司属下某个部门开发的, 并未经过公司同意。迅雷公司表示, 已经解聘了相关负责人, 并做出了公开道歉。
正是由于这个原因, 从八月初开始, 迅雷公司提供了由其签名的卸载程式。 软体内的更新功能, 会将卸载程式自动下载到所有染w88优德手机版的电脑上。 据我们分析, 卸载程式工作正常, 能够清除该软体的所有残留文件。 此外, 所有指向域名仍正常在线上并以最低工作量运行, 以确保卸载程式能够执行。Kankan外挂所有指向域名仍正常在线上并以最低工作量运行,以确保卸载程式能够执行。Kankan外挂的传播过程,通过ESET系列防w88优德手机版软体八九月份间的检测统计结果可见一斑,详见下图。
标题: Win32/Kankan当日检测统计结果
由此可见, 该程式的传播在8月8日左右达到巅峰值后迅速衰减(卸载程式的数位签章日期为8月9日)。根据所采集的统计数据, 该程式的感染地区分布图如下所示。
不出意料,中国是大量受该软体感染的唯一国家。
结论
假冒Office外挂、常驻程式,背景模式安装Android手机程式以及其所具备的相关后门功能, 证实了许多中国用户的疑虑, 同时也是ESET系列防w88优德手机版软体将该程式侦测为Win32/Kankan恶意程式的原因所在。
目前仍存在一些遗留问题需要探讨, 例如最初的传播途径以及强制安装Android的具体原因。 毕竟, 外部人士很难讲清楚迅雷网路科技公司的实际参与程度。另外, 令我们略为惊讶的是, 就我们所知还没有任何一家中国境外的网站报导过这一事件。
鸣谢
感谢Jean-Ian Boutin、Sieng Chye Oh与Alexis Dorais-Joncas参与分析此款恶意程式。
分析文件
文件下载器
A059D6851013523CDC052A03A91D71D3246A14C2 DB59E003D9F5EBF84EB895B2EE7832AF94D0C93E 722773145CB38249E96CC6A7F0FBC7955ACC5D56
Office外挂
688B5B319F0E2F5DCD2EDE7BBE39FAE29B5ED83F B221B71CF14E14FEBC4636DE624A2C6CEE3CE725 089A3BB51C5D5218DF47831489F1D8227E73F4B3
更新程式
1EFD454130A658DB83A171A8DCB944CAEADC8D8F 4F29B2A9778C02F6FDB63F9041DC4D2F4668B484
服务项目
1C223DA59F4BE7907A2FB00FF756083342166A5B 2D00B2DF8B1CEE7411B2D7B8201B382E2896708C
Android应用程式
A439B1EA45769EC2FA0EFC4098EC263662EF40AE(Android市场) 693E15A00B4934EE21A6423DE62C4A01947CE06A (Android市场) 0A1813FB3D1DD8B871D0575B15124543FF2313E1 (Android市场) C6013DE01EC260DC5584FAA2A35EF0580B3BDC89 (电话呼叫)