2015年03月09日 10:51 2569
2014年下半年积分兑换木马和假冒掌上营业厅木马非常猖狂,该类木马采用积分短信的形式进行传播,诱导用户进入假冒的积分兑换页面进行资金信息填写和下载安装短信拦截和转发木马。结合两者,攻击者就可以轻易获取用户资金。央视,新华网等主流媒体曾因此过广泛报道提醒用户。近日阿里钱盾又发现了一款功能相似的短信劫持和转发的木马“幽默王”,但其日传播量是前期爆发的积分兑换木马和假冒掌上营业厅木马的2.5倍和1.5倍。目前阿里钱盾已经第一时间实现该病毒的查杀。阿里聚安全的病毒专家团队也对此病毒进行了深入分析
主体行为分析
1、图标为一个典型的安卓程序默认图标
2、程序运行后的截图如下
从其Manifest.xml中可以看到,程序执行的入口是在类WebActivity中
WebActivity的onCreate方法如下:
findViews方法的本质,是加载了百度搜索的首页,以此用来迷惑用户,以便木马在后台运行程序。
3、 回头看manifest.xml文件的其他内容,发现该程序静态注册了如下action的过滤
从图中不难看出,除了对短信的发送进行监听之外,还监听了开机启动完成广播,以及一个发送短信的监听。所有这些功能都是在SMSReceiver中实现的。该方法主要有如下功能:
1) 先判断是否是系统启动完成的action,如果是,写入事件日志,并启动程序。
2) 如果不是系统启动完成的action,则继续判断是否是短信接收的action,如果不是,最后再判断是否是自定义的短信发送action。通过分析发现,若此时的action为SENT_SMS_ACTION,则判断发送返回状态,根据不同的返回结果,将事件写入到日志。日志的格式为:yyyy-MM-dd HH:mm:ss.SSS.txt,例如2014-01-01 02:32:32.650.txt,这样文件名就不会重复。注意:程序这里对需要过滤的action的字符串进行了base64加密处理,这样在程序中不出现明文,也算是逃避杀毒软件特征码查杀的一种方式。
加密后的action及其他信息如下:
3) 如果步骤2中,不是短信发送的操作,此时程序会转到另一个流程,会做4件事情:a. 启动一个线程,将手机中的所有短信,发送到远程服务器。b. 拦截接收短信广播,并将接收到的短信内容发送到多个手机号。c. 再次将拦截到的短信发送到远程服务器。d. 将要发送到远程服务器的数据插入到本地数据库中。如下面3副图片所示
目的手机号码及服务器地址:
发送线程及程序SMSManager分析
1. 发送线程主要是从本地数据库中读取之前存入的需要发送的信息,然后将其发送出去。该操作在类SubmitDateThread中实现,其执行入口代码截图如下:
2. SMSManager的send方法,实质上也是调用了上述所说的发送线程,这不过这里是延迟发送的一个过程。
其他行为及服务分析
1、 动态注册短信监听服务,相关的两个类为SMSApplication和SMObserver,一旦监听到有短信变动,就将该短信插入到本地数据库,随后发送到指定的远程服务器,另外,也发送到其他的几个手机号码。
2、 重启服务。重启服务是在类RestartService中实现的。入口代码调用了两个方法:startFreeToKillService和initData
第一个方法实现了免杀服务,第二个方法实现了一些数据的初始化操作,比如是否是首次启动等。而所谓的免杀,其实是让设置程序在前台运行,以便在低内存的时候,不会被系统干掉。
本文来自合作伙伴“阿里聚安全”.