Kemoge:一款影响超过20国的安卓恶意程序


发布人:admin分类:网络安全浏览量:27发布时间:2017-12-12

FireEye实验室一位移动安全研究专家近期发现一款迅速蔓延全球的,可完全控制Android设备的恶意软件家族病毒。据称该攻击来源于中国。因其命令以及控制域:aps.kemoge.net,便将其命名为Kemoge。

如上图所示,已确认的感染范围超过20国,其中包括政府以及大型企业。该恶意广告软件通过重新打包将自身伪装成流行App,因而得到广泛传播。其中一些样本如下图所示:

Kemoge的样本很多,这里就不一一列举了。

Kemoge的生命周期

如上图所示,攻击者将App上传到第三方应用商店,通过网站或者App内置广告来进行推广,一些激进的广告联盟还可能会通过获取root权限直接进行安装样本。

在初始启动时,Kemoge收集设备信息并将其上传到广告服务器,无论受害者当前是在干什么在一定时间都会看到广告横幅(即使停留在Android主屏幕,也可能会突然弹出)。

起初Kemoge只是令人有些许不满,但是很快就会令人感到愤怒。从上图中可以看到当用户开启设备屏幕或者网络连接变化,其将AndroidManifest中的MyReceiver设置为自启动,接着MyReceiver唤醒MyService;两者都是伪装成Google的代码(前缀com.google.rp.confirm)。一些样本也使用下列作为组件前缀:

com.google.system.provider.confirm, 
com.google.ad.sprovider,
com.android.ad.sprovider

启动之后,MyService就开始寻找一个名为<name>.mp4的资源,这个影藏的.mp4资源实际上是一个进行多级加密的.ZIP文件。总的说来,其使用.ZIP自有的文件加密对资源内容进行保护,受保护的.ZIP文件再使用DES加密,最后在将DES密钥进行加密(此处称之为Key1)与此同时也对另一个DES密钥(此处称做Key2)进行加密,并且在代码中反汇编Key2将其作为字节。如下图,逆向破解Kemoge解密ZIP文件。

下图为反汇编生成DES密钥的Java代码片段:

从上图反汇编DES密钥代码片段中我们获得了Key2,接着就可以生成Key1了。这代码片段把字节[0x73, 0x41, 0x26, 0x73, 0x32, 0x76, 0x24, 0x31]为Key2,接着解密[0x87, 0xAF, 0xF9, 0xE5, 0x93, 0xE1, 0x50, 0x5A, 0x12, 0x8B, 0x9F, 0x8C, 0x72, 0x86, 0x79, 0xE3]。注意通过替换真实ASCII字符可实现代码混淆加密字节。例如使用0×38和0×37(8和7)来替换0×87,解密没有指定初识向量直接使用Android Bouncy Castle默认的DES模式(DES/ECB/PKCS5Padding)。解密后的字节为[0x35, 0x64, 0x26, 0x4c, 0x32, 0x2c, 0x54, 0x39, 0x77, 0x4f]由此推导出的Key1(以及DESKeySpec)来解密ZIP文件。

使用上面相同的方法获得Key1,但随着作为输出的不同加密字节,Kemoge生成ZIP保护密码。解压这个文件后,从其中提取出以下文件:

AndroidRTService.apk
root.sh
busybox
su
.root
root_001, root_002, ..., root_008 (8个root exploit可执行文件)

Kemoge:步步惊心

该恶意软件携带8个可对设备进行root的exploit可执行文件,来应对大范围的设备模型。这些root方法包括mempodroid, motochopper, perf_swevent exploit,sock_diag exploit, 以及 put_user exploit.其中一些exploit看起来似乎借鉴了部分开源项目中的代码[2][3],但是其中一些看起来又像是来自商业工具Root Dashi(Roor大师)。

获取root权限之后,执行root.sh获得持久性,然后将AndroidRTService.apk作为Launcher0928.apk(命名方法模仿合法的桌面启动器系统服务)植入/system分区。此外,这个apk包看起来也确实像正常的应用,类似的还有com.facebook.qdservice.rp.provider以及com.android.provider.setting。

这个恶意系统通过aps.kemoge.net来传递命令。为了逃避检测,它不经常与该服务器进行连接。反而,其只在第一次启动和命令执行24小时后才会请求命令。在每一次通信中,首先将IMEI,IMSI,储存信息,安装的App信息发送到远程服务器。我们在Nexus 7(Android 4.3)截获了网络通信流量包:

接着上传设备信息,并求情命令:

服务端响应了3组命令:

Uninstall designated apps
Launch designated apps
Download and install apps from URLs given by server

在本案例中,它试图卸载杀毒应用程序以及一些流行应用,可能准备进一步的攻击。

附录1中我例举了一部分Kemoge样本,附录2中列举了其使用的一些签名证书。在所有的样本中我们发现大量的简体中文字符。有趣的是,有一款样本在Google Play中进行了发布,root exploit以及一些其他功能被阉割了。

谷歌商店上架应用ShareIt或与Kemoge同根

Kemoge样本包名:cc.taosha.toolbox.shareit

MD5:40b1dcbe5eca2d4cf3621059656aabb5

在Google Play中也有一款与茄子快传(ShareIt)名称相同的应用,使用了与Kemoge相同的签名,所以其应该是同一位开发者,其在Google Play中此应用已经有10万—50万的下载量,基于开发者的名称Zhang Long以及集成与App中的第三方库(cn.wap3, com.renren, com.tencent等)研究者便推断该开发者来自于中国。

基于用户评论ShareIt有着与Kemoge相似的特征(烦人的广告),估计是为了满足审计过程Google Play版本移除了root exploits,但其依旧保持着adm.kemoge.net和ads.kemoge.net,同时它请求taosha.cc进行上传和升级提醒。在我们的实验中,服务运行但只返回了404,应该是开发者在维护新的版本。

Google似乎已经注意到这个App,“ShareIt”已经从Google应用商店平台移除了。目前大家还是谨慎下载。

总结

这是一个家族式恶意广告软件,可能是由中国开发者写的,也有可能是被搞黑产的人控制了。

在此,我们郑重的提醒您:

谨慎点击来自电子邮件/短信/网站/广告的超级链接;
不要安装来自非官方渠道的应用;
及时更新Android设备。

参考链接

[1] https://www.fireeye.com/blog/threat-research/2015/09/guaranteed_clicksm.html
[2] https://github.com/trevd/android_root
[3] https://github.com/saurik/mempodroid
[4] https://play.google.com/store/apps/details?id=cc.taosha.toolbox.shareit

附录1


附录2

Owner: CN=tao sha, OU=IT, O=taosha.cc, L=Shenzhen, ST=Guangdong, C=86
SHA1: EF:A5:C2:18:9C:21:4B:A8:21:90:4C:10:6A:B5:77:53:0F:22:00:62
Owner: CN=hexy_root_009, OU=hexy_root_009, O=hexy_root_009, L=hexy_root_009, ST=hexy_root_009, C=hexy_root_009SHA1: E3:BD:4B:4F:38:7C:1A:A8:C0:4C:98:B2:B2:B1:B0:CF:33:5E:71:BC
Owner: CN=keke_root_025, OU=keke_root_025, O=keke_root_025, L=keke_root_025, ST=keke_root_025, C=keke_root_025SHA1: 41:F4:9B:14:E9:8A:7C:EF:5E:BF:D9:9C:8F:58:43:48:45:BE:12:B2
Owner: CN=kiss, OU=kiss, O=kiss, L=hangzhou, ST=zhejiang, C=86SHA1: 72:62:C5:38:78:81:B1:10:51:B3:D3:B3:63:B5:AC:F9:B9:8F:6E:B9
Owner: CN=google, OU=google, O=android, C=CNSHA1: E9:20:9A:53:9B:C7:41:22:1D:53:37:FE:FA:9E:26:59:6C:3D:08:96
Owner: CN=wilson, OU=land, O=land, L=hangzhou, ST=zhejiang, C=86SHA1: E5:58:C9:BA:6A:A3:D1:AC:2A:12:5B:94:C6:F6:02:2F:EE:0D:19:39
Owner: CN=hzckgames, OU=hzckgames, O=hzckgames, L=hangzhou, ST=zhejiang, C=86SHA1: 49:D2:51:A6:67:CC:9D:C2:9D:AB:FA:E8:D3:85:44:FF:B0:59:BC:90
Owner: CN=hong, OU=fjwy, O=fjwy, L=zhejiang, ST=zhejiang, C=CNSHA1: 89:81:E2:B0:30:A9:A4:60:5D:B2:4B:E4:31:59:A3:01:73:1C:C6:53

* 参考来源:FireEye,编译/FB小编鸢尾,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)


被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21454996(PV) 页面执行时间:86.49(MS)
  • xml
  • 网站地图