0X01 病毒背景及危害
伏地虫病毒程序,是一款危害及其严重的手机恶意程序。此病毒所采用的技术非常高超,能够自动获取用户手机设备的Root权限,拥有了Root权限,该病毒就可以在手机设备上为所欲为,比如下载恶意程序,泄露用户隐私信息,盗走网银账户等等。该病毒会自带root方案,方案数量多达26个,基本覆盖了绝大多数android漏洞提权的内容。通过病毒的感染方式和恶意行为,可以判定制造这个病毒不是一个“个人行为”,该恶意程序的背后,有一个“强大”的团队在运作。
下图是近一个月来,腾讯手机管家监测到的伏地虫病毒的感染数据,每日均有数以万计的新增量,可以看出伏地虫病毒的传播速度之快,尤其是在周末会出现病毒感染的高峰。截止目前,已有近80万的手机用户感染了伏地虫病毒,严重影响了用户的正常生活,甚至造成财产损失,下面对伏地虫病毒的原理和恶意行为进行深度的分析。
0X002 病毒行为分析
此病毒母体一般都是寄生在一些色情应用中,一旦用户被诱导下载安装这些病毒,病毒就找到了寄生体,用户即使卸载掉安装的应用,病毒母体仍然无法被卸载,即使采用市面上常用的安全软件也无法彻底清除此病毒。并且每次手机开机,病毒都会自动启动,也无法通过恢复出厂设置来达到根除病毒的目的。本文所所描述的病毒母体附属在一款名为流量分析的应用软件中,如下图所示:
一旦流量分析软件被用户触发,病毒母体程序马上开始发作,会疯狂地给用户下载其它第三方程序,这些程序包括正版的推广软件,也包括其他的恶意软件、色情软件等。如下图所示:
除了推广正常的常用应用软件,同时也会推广一些恶意广告软件,频繁在用户手机上弹出广告,广告包含但不限于以下几种:
1.
整屏弹窗
2.
半屏弹窗
3.
通知栏弹窗
4.
窗口悬浮,包括置顶和置底。
这些弹窗广告,严重影响用户正常使用手机,如果不点击广告,广告页面一直处于屏幕最上层,遮住正常应用软件,使得用户软件无法正常运行,比如专杀工具的查杀按钮,如果被广告页面遮住,用户就无法运行查杀功能。
不仅如此,恶意程序还会推广大量的色情软件,如下图所示:
除了上述恶意行为,恶意程序还会发送大量的扣费短信,给用户造成直接的财产损失,同时还会卸载一些安全软件和授权软件,比如会主动去卸载kingroot授权软件,以防止自身被安全软件查杀,具有较强的自我保护能力。
0X003 病毒原理
病毒母体程序启动时,首先会注册启动很多事件监听服务,包括但不限于监控手机状态,接收、发送短信等。通过监控网络状态,由云端控制病毒进行恶意推广、后台安装垃圾应用等操作。
1.
监听网络状态切换,启动联网服务。
2.
初始化联网参数
3.
联网拉取云端指令
发送恶意短信,同时监听收到的短信,病毒母体中所有的字符串都经过加密处理,病毒分析人员无法通过简单反编译手段获取一些病毒信息。
4
启动服务,发送恶意短信
5
监听短信接收
6
获取敏感信息关键字,屏蔽敏感信息
而恶意程序的主体,其实并不在母体中,而是通过云端拉取的方式,从服务器上下载的,比如1208ggnn.mm,这是一个apk,这样大大增加了分析员逆向分析和取证的难度。
流量分析这个软件运行起来后,首先会检查本地是否有这个apk。如果没有则会去服务器下载,如果有的话则会直接运行。具体的代码如下所示,其中的地址等字符串都是经过加密:
我们通过在PC上架设软热点,通过抓包工具抓到的数据,可以清晰地看到恶意程序与服务器的通讯记录。
恶意程序首先会去服务器下载1208ggnn.mm这个apk。然后会下载大量的推广程序。如下图所示(包含但不限于以下通讯记录,短短几分钟,下载的数据包就有两三百兆,多达上千条通讯记录):
这张图展示了恶意程序与服务器的通讯,在下载完1208ggnn.mm文件之后,通过自带的方案提取root权限,然后释放恶意程序文件到system等相关的目录。
与此同时,恶意程序还会把它推广的软件,也释放到/system/目录。手机上的文件分布如下图所示:
1. 在手机/system/bin/下释放这些文件。其中install-recovery.sh是手机启动时让恶意程序自动运行的配置文件,ipm、dm、.nbwayxwzt、android.sys都是恶意程序文件。Busybox是一个shell命令的工具集。
2. 替换了/system/lib/下的libstlport.so。这个文件经分析并没有进行感染,只是不同的版本,目的是为了防止手机上没有这个文件,以此来保证恶意程序正常的运行
3.
在手机/system/xbin目录下,这三个都是恶意程序文件
4.
在手机/system/etc目录下,会释放入下文件,包括恶意程序文件以及开机自启动文件。
5.
在/system/app下释放这些文件,这些应用包括推广的正常软件,以及其他恶意程序文件,色情软件等。把推广的程序放在这个目录下的目的,是为了用户不能正常地卸载这些恶意程序
现在让我们回过头来再看看1208ggnn.mm这个apk,这个恶意程序之所以功能如此强大,是因为它获取了root权限。这个重要的工作,都在上述这个apk中。这个apk的assets目录下,从他的zip包中,我们看到有26个提权文件。
恶意程序会根据不同的机型,选择不同的方案进行root提权操作。Root方案文件如下图所示:
获取root的相关程序逻辑
将assets目录下的db文件(其实就是一个jar包)拷贝到应用目录下,并用反射调用其中的入口方法开始Root。
另外病毒利用install-recovery.sh来实现开机自启,如下图所示:
病毒程序把/system/etc/install-recovery.sh这个文件给改了,增加了它自启动的相关文件路径。这样手机在开机的时候,就会把.360asshole等文件运行起来。
上述的修改install-recovery.sh文件的内容,都会被保存在这里
这些内容是通过1208ggnn.mm\assets\.sv.qq这个so进行操作的,它会读取xxxx.sh文件,然后把该文件的内容读取出来,写入到install-recovery.sh文件中。
具体汇编代码如下图所示:
恶意程序会把推广的软件也启动起来,是通过配置文件进行的。这里包含着启动脚本,内容都是经过base64编码的,如下图所示:
上述两个文件的内容解密后可以看到相关数据,如下图所示:
在这个so中,我们可以看到对于/data/.hidenman/.ms2以及/data/.hiden/man/.asshole文件的操作。主要是把这两个文件的内容读取出来,然后对他进行base64解码,进行执行的相关操作。如下图所示:
通过上述分析,我们可以看到伏地虫病毒的危害非常大,尤其在一些配置很低的手机上,那么多软件同时运行,外加广告弹窗,会直接导致手机卡死而无法正常使用。
0X004 病毒查杀
发现手机中了此类病毒后,请及时下载腾讯手机管家,并利用顽固木马专杀工具对病毒进行查杀,如下图所示:
0X005 附录——病毒基本信息
病毒样本hash:
A9755A6F8049B9B915457DF6A1D2F995F386480F
病毒包名:
com.ytel.sgh
软件名:
流量分析
证书:
------------------------------------------------
文件名:
1208ggnn.mm
病毒样本hash:
7B865FEAC388D87EF76071E372F65C3A77993858
证书: