继先前的发现,FireEye实验室的研究人员发现另一个迅速蔓延全球的恶意广告软件,它允许完全接管用户的Android设备。这种攻击也可能来自中国,由于其指挥和控制域是aps.kemoge.net,我们把它称为Kemoge。
图1所示,世界受感染地区地图
如图1所示,感染范围非常大,已确定的受害者来自20多个国家,包括政府和大型产业。这个恶意广告软件通过重新包装将自己伪装成流行的应用程序,所以传播广泛。一些示例如图2所示
图2所示, Kemoge样本
图3所示,概述Kemoge的生命周期
图3显示了Kemoge的生命周期。攻击者使用第三方应用商店上传应用,并通过网站和应用内链接广告促进下载。有些获得root权限的攻击性广告网络也可以自动安装这种样本。在初始阶段,Kemoge收集设备信息并上传到广告服务器,然后后台遍布服务广告,受害者将会定期看到广告条 (当Android用户停留在主屏幕时,广告会弹出)。
图4,从Kemoge AndroidManifest.xml获得的代码片段
最初Kemoge只是烦人,但很快就变得邪恶。如图4所示,它在AndroidManifest上登记MyReceiver,并在用户解锁设备屏幕或网络连接情况发生变化时自动启动。然后MyReceiver会调用MyService,两者都伪装成谷歌代码(以com.google.rp.confirm为前缀)。一些其他的样本也会用usecom.google.system.provider.confirm ,com.google.ad.sprovider, com.android.ad.sprovider等作为组件的前缀。
启动后,MyService会查找一个名为
图5,ZIP文件的解密过程
图6,反编译DES密钥生成的Java代码片段
例如,图6显示了Kemoge反编译Java代码片段获取Key2,并生成Key1的过程。代码片段用字节[0 x73 0 x41 0 x26 0 x73 0 x32 0 x76 0 x24 0 x31]初始化DESKeySpec ,并作为Key2解密字节[0 x87,0 xaf 0 xf9 0 xe5,0 x93 0 xe1 0×50 0 x5a 0 x12 0 x8b 0 x9f 0 x8c 0 x72 0 x86,0 x79 0 xe3]。注意,代码使用实际字节的ASCII码代替了实际字节,混淆了加密字节,例如0 x87被0 x38和0 x37(“8”和“7”)取代。解密使用Android Bouncy Castle的默认DES模式,没有指定初始向量。解密后的字节是(0 x35,0 x64 0 x26 0 x4c,0 x32 0 x2c 0 x54 0 x39 0 x77 0 x4f], 用于产生Key1(用DESKeySpec),并解密加密的ZIP文件。加密算法仍是没有初始矢量的默认DES模式
遵循相同的过程但输入不同的加密字节也可获得Key1,Kemoge会生成ZIP保护密码。解压缩文件后,它提取下列文件:
· AndroidRTService.apk
· root.sh
· busybox
· su
· .root
· root_001, root_002, ..., root_008
这个恶意软件携带多达8种利用root电话的方法,针对大范围的设备模型。root方法包括mempodroid、motochopper、perf_swevent exploit、 sock_diag exploit、put_user exploit。这种利用似乎是一些开源项目编译的,也有一些来自商业工具“root大师”。
在获得root后,它将执行root来获得持久性,然后植入AndroidRTService.apk,并作为Launcher0928.apk(模仿合法发射器系统服务文件名)进入系统分区。此外,这个apk的打包名称也看起来像真实的服务。例如:com.facebook.qdservice.rp.provider and com.android.provider.setting.
这个恶意的系统服务通过aps.kemoge.net来获得命令以躲避检测,它不经常与服务器通信。相反,它只在第一次启动时或24小时后寻求指令。在每次通信时,它首先发送IMEI存储信息和安装应用程序信息到远程服务器。我们截获了一台使用Android 4.3的Nexus 7的网络流量,这台设备安装了附录中列出的第一个样本。相应的流量如图7所示。上传设备信息后,它向服务器请求命令,如图8所示。
图7,Kemoge上传设备信息
图8,Kemoge上传更多的信息和要求命令
服务器响应三组命令,并执行恶意的系统服务:
· 卸载指定的应用程序
· 启动指定的应用程序
· 从服务器提供的链接下载和安装应用程序
图9,远程控制服务器响应
在撰写本文时数控通道仍在运行。在我们的实验中,我们收到的响应如图9所示。在这种情况下,它正试图卸载AV应用和流行合法的应用,可能是在为进一步袭击做准备
附件一中列出几个Kemoge的例子。附录II列出了一些使用的签名证书。我们观察到所有样品的代码中都包含简体中文字符。有趣的是,一个样本也被发布在Google Play,但被剥夺了使用root攻击和数控的能力。
图10,Google Play上“ShareIt”的截图 [4]
打包名称为MD540b1dcbe5eca2d4cf3621059656aabb5 和cc.taosha.toolbox.shareit 的Kemoge样本使用了附录II中列出的第一个证书。相同的证书也用于签署了一份Google Play应用程序,使用相同的应用程序与打包名称(如图10),因此它们应来自相同的开发人员。这个谷歌应用程序有100 k ~ 500 k的下载量。基于开发人员的名字(“Zhang Long”)和第三方集成使用的应用程序(人人网,腾讯网等),它的开发人员可能来自中国。基于用户的评论,ShareIt 具有和Kemoge一样的特征(烦人的广告服务,自动通过其他攻击性渠道进行传播,等等)。可能是为了通过审查, Google Play版本删除root利用和数控的行为,但它确实曾向adm.kemoge.net和ads.kemoge.net寻求广告。此外, 如果远程服务器发回一个apk文件,它会请求taosha.cc更新和提示安装。在我们的实验中服务器是运行的,但只能返回到404,所以开发人员可以提供恶意版本或其他恶意软件。我们已经向谷歌通知了这个威胁,用户应该谨慎下载这个程序。
这是另一个恶意广告软件,可能由中国开发商或中国黑客控制,并在全球范围内传播,这是一个重大威胁,我们建议:
· 不要点击可疑的链接邮件/短信/网站/广告。
· 不要在官方应用商店外安装应用程序
· 保持Android设备更新,以避免被植入已知的漏洞。(升级到最新版本的操作系统将提供一些保护,但这并不意味会保持安全。)
为了检测和抵御这类攻击,我们建议客户配置类似FireEye MTP的移动安全解决方案,从而增强威胁的可见性,并主动追踪受损设备。此外,我们建议客户配置NX电器,确保无线流量在NX电器扫描范围内,并覆盖到移动设备。