【Android病毒分析报告】- 手机支付毒王“银行悍匪”的前世今生
from://http://blog.csdn.net/androidsecurity/article/details/18984165
2014年1月8日,央视曝光了一款名为“银行悍匪”的手机银行木马,该木马高度模仿真正的手机银行软件,通过钓鱼方式获取用户输入的手机号、身份证号、银行账号、密码等信息,并把这些信息上传到黑客指定服务器。盗取银行账号密码后,立即将用户账户里的资金转走。
百度安全实验室第一时间对“银行悍匪”手机木马进行了分析。安全研究员发现其实该木马是早前风靡一时的“短信僵尸”木马的新变种。2012年7月25日,TrustGo安全分析团队首次发现该病毒,并对其进行命名。该病毒采用了精妙的防卸载技术阻止用户通过正常途径卸载,并窃取用户金融类短信息。
通过对大量“短信僵尸“样本的分析统计,安全研究员发现到目前为止,“短信僵尸”病毒已经迭代到第四个版本,危害也越来越大。该病毒家族几乎囊括了目前所有针对“用户财产”的攻击方法。包括短信诈骗、支付宝攻击、财付通攻击、手机银行攻击。虽然迭代升级了四个版本,但是该病毒家族本身的以下特制还是一成不变的:
1、 母包+恶意子包的运行机制。
2、 通过技术手段防止用户通过正常途径卸载。
3、 以窃取用户账户资金为目的。
4、 以短信作为指令通道。
该病毒主要有两部分组成:
1、 母包:检测恶意子包是否安装,如果设备没有安装恶意子包,则负责诱骗用户安装。恶意子包以图片文件形式隐藏在assets目录。安装成功后,启动恶意子包。
2、 恶意子包:完成短信指令执行、防卸载等恶意行为。
母包工作原理如下:
母包会启动一个子包安装检测服务,每隔数秒检测一次是否安装恶意子包,如果未安装恶意子包,则安装检测服务会不断弹出该诱骗安装界面。直到用户妥协安装恶意子包为止。
恶意子包工作原理及关键技术实现如下:
1.1、强迫用户激活设备管理器方式
用户如果选择“取消”激活设备管理器,则继续弹出激活界面,直到用户妥协选择“确认”为止。
1.2、程序防卸载方式:
通过Logcat监听日志,当监控到用户进入以下界面则跳转到HOME界面:
1、设置->应用程序->选择恶意子包->应用程序信息
2、 恶意子包程序卸载界面
3、设备->安全->设备管理器
一、第一版:“短信僵尸”横空出世
2012年7月25日,TrustGo安全分析团队首次发现该病毒,并对该病毒进行命名。该病毒是第一个采用防卸载技术阻止用户移除的木马。
1.1、控制信息:
默认指令控制号码:13093632006
默认拦截规则:
<?xmlversion='1.0' encoding='UTF-8'?>
<up>
<H>
<D>13093632006</D>//指令控制号码
</H>
<K>//短信拦截关键字,并上传含有关键字短信息到控制号码。
<n>转</n><n>卡号</n><n>姓名</n><n>行</n><n>元</n><n>汇</n><n>款</n><n>hello</n>
</K>
<A>
<zdh>10</zdh>//自动回复,当遇到号码含有该内容,自动发送“内容+号码”到控制号码。
</A>
</up>
1.2、短信指令格式:
短信指令功能 |
短信指令格式 |
升级拦截规则,但不覆盖文件中的默认拦截规则 |
<S> 内容格式同默认拦截规则 </S> |
升级拦截规则,并覆盖文件中的默认拦截规则 |
<J> 内容格式同默认拦截规则 </J> |
发送指定内容短信到指定号码 |
<M> <con>sms content</con> <rep>phone number</rep> </M> |
插入伪造短信到短信收件箱 |
<E> <xgh>phone number</xgh> <xgnr>sms content</xgnr> </E> |
1.3 、攻击场景:
该版本病毒通过拦截银行类短信获取用户账户资金往来信息,获取的信息主要用来进行精准的短信诈骗。
根据短信指令该版本有以下几种攻击可能:
1、通过手机短信支付方式为恶意攻击者购买指定收费服务。如游戏账号充值等。
2、感染设备可能成为恶意攻击者发送短信诈骗的肉鸡。
3、根据窃取的资金账户往来信息,进行精准的短信诈骗。
短信诈骗场景一:
1、朋友B向感染木马用户A借钱并以短信形式把账户信息告诉A
2、该病毒截取B发来的账户信息,并插入以B为发送者的伪造短信到A的短信收件箱,但是账户信息以被修改为恶意攻击者账户信息。
“请打到我爱人卡号,姓名*** *行卡号***”
3、 用户A转账给恶意攻击者。
短信诈骗场景二:
1、 伪造银行U盾升级,钓鱼方式获取网银账号、密码。
二、第二版:强化账户信息窃取,增加针对支付宝账户攻击
该版本的短信僵尸病毒在第一版本的基础上做了如下改进:
1、增强了默认的拦截规则。通过增强拦截关键字,恶意攻击者几乎可以得到所有与用户相关账户、财产相关的隐私信息。
2、批量发送诈骗短信的能力。包括陌生人和所有联系人。
3、增加针对支付宝账号的攻击。
4、 优化短信诈骗场景细节, 如向联系人发送完诈骗短信后,设置手机进入飞行模式,使对象无法进行电话确认。
1.1、控制信息:
默认指令控制号码:13482728336
默认拦截规则:
<?xml version='1.0'encoding='UTF-8'?>
<up>
<K>
<n>元</n><n>行</n><n>费</n><n>钱</n><n>款</n><n>账户</n><n>帐号</n>
<n>余额</n><n>充值</n><n>客户</n><n>申请</n><n>密码</n><n>卡号</n>
<n>尊敬</n><n>注册</n><n>购买</n><n>订单</n><n>发货</n><n>业务</n>
<n>累计</n><n>登录</n><n>登陆</n><n>编辑</n><n>输入</n><n>预缴</n>
<n>货款</n><n>授权</n><n>服务</n><n>开通</n><n>到账</n><n>购买</n>
<n>销售</n><n>信用卡</n><n>一卡通</n><n>支付宝</n><n>验证码</n>
</K>
</up>
1.2、短信指令格式:
在第一版本基础上增加如下短信指令:
短信指令 |
短信指令格式 |
开启关闭短信监听 |
<n> <g> <g>//开启短信监听 <h> </h>//关闭短信监听 </n> |
批量发送短信 |
<p> <t>发送时间间隔</t> <c>发送次数</c> <o>短信内容</o> <r>手机号码</r> </p> |
向所有联系人发送特定短信 |
<l> <z>短信内容</z> </l> |
拨打电话 |
<b> <w>电话号码</w> <u>拨打时间</u> </b> |
1.3、攻击场景:
根据短信指令该版本在第一版的基础上增加了以下攻击场景:
1、通过拨打电话进行电话吸费。
2、向所有联系人发送诈骗短信。
“朋友找我借500元急用,帮我汇下,我现在抽不开身,等会忙好了把钱给你,工商银行,张子远,6222021…”
3、支付宝账户资金的窃取。
利用支付宝“找回密码”功能,根据“找回密码”流程设计,如果能够获取以下三个因子即可成功获取支付宝账号:
1、登录名(手机号码即为登录名,攻击者能够获取)
2、手机验证码(短信验证码拦截能够获取)
3、证件号码(账户资金往来往往需要告知身份证号,获取几率很大)
第一步:选择忘记登录密码。
第二步:选择通过“手机校验码+证件号码”方式找对登录密码。
第三步:输入手机号码+验证码+身份证号找回登录密码。
三、第三版:增强代码安全性,增加针对财付通账户的攻击
该版本的短信僵尸病毒在第二版本的基础上做了如下改进:
1、关键信息的安全性。
默认拦截规则和默认短信指令控制号码都通过加密的方式存放。
2、安全软件攻防。
当用户设备已Root情况下,该病毒会请求获取root权限,然后静默卸载安全软件。
3、联系人信息的窃取,并可对单个联系人进行精准短信诈骗。
4、增加对财付通账号资金窃取。
1.1、控制信息:
默认指令控制号码:15614026801
以AES加密:解密后为15614026801
默认拦截规则:
以数据库形式AES加密后存储。
解密后的拦截关键字密文明文对应关系如下:
0a1f1738f53c1c71dc30bfbb69b11e1d-->授权
0dd29d45780a5ef2a585cefe3e0d09d5-->信用卡
1f6b8db4cb71802bf901f7a121b9d704-->qq
2d6164c4aecf53e144b025177f75f00c-->验证码
2ea3e530a3dadebab16211c2580a92b0-->发货
5be4bf625d7f08110b92a3e366d48293-->登录
6b7478ac11843d5bd292660aa98c4ca7-->编辑
7cdd9cc73d920413ebef3ec7f9f0b6ea-->登陆
9af274a3dc74f0188494e2c31c3c3510-->充值
09c16e2b89bc9dc785dc566e0cc73983-->订单
21c4b3fa8361f7aef91615d93e2a6358-->卡号
32d5db9586ca676e73c509877becf4d5-->销售
59f6d5511a18c4f77d151e1f66487650-->元
68b8f5b4e9c5e41e076b0ee41136dbae-->注册
119f09d65da3de2fa322124ab14b75b0-->余额
182e46277e59522d3908807a420ac979-->购买
182e46277e59522d3908807a420ac979-->购买
365e1df4026d042f116c5dc94ea22a0b-->业务
482c7bd438166ba6e3ab0d84e95a5d48-->尊敬
929edb3b2bd13f943671c35c8f6cab13-->账户
955d14c0d5f183b287ea07bdf68e781a-->申请
4338c555087f1b697d24863c3238d6aa-->行
5290d12800e93fc3b55806227d670e10-->钱
067623a985b2389a5fc2f0143c3df77d-->财付通
0032784482c06dd176a3dc11980c2483-->开通
a2f3eae4bab0406ec39d79d17c7fd88a-->款
a3be950fb4c10d51732a163bc079cf05-->累计
a6968790a4f4b0e06c376e9c7753a37a-->客户
b77b7262fcf726017fe4a26e5db6051b-->服务
c7d516d70cfb788ce5abe81344994fe2-->QQ
c2950665754568ccad81f2a460938a4a-->费
cbf8ef2c60269aaee434a4017faed52b-->到账
d37d954e3083e4652f045e88ab2d80d6-->密码
d72182d17e5a44722badcc3c95ddd37a-->帐号
dfbc94359470cdce7c747cfc868ec7c7-->支付宝
e07b4b7fe90df0b72e4596e4dbb8a47a-->一卡通
ed99794a8c69501b1b3cdbf4fb9340d5-->输入
fbbac81ac4e247763050495a180c93c7-->预缴
1.2、短信指令格式:
在第二版本基础上增加如下短信指令:
短信指令 |
短信指令格式 |
窃取联系人信息 |
<k> </k> 窃取数据格式:id1'name1:phonenumber1; id2'name2:phonenumber2; |
向特定id联系人发送特定短信 |
<i> <d>id1'id2'id3</d> <f>短信内容</f> </i> |
1.3 攻击场景:
在第二版本的基础上增加了以下攻击场景:
1、向特定联系人发送诈骗短信。
2、增加对财付通账号资金窃取。
整个攻击流程如下:
第一步:登录财付通首页,并选择“忘记密码”
(由登录页可知,财付通账号可以使用QQ\手机号码\Email)
第二步:选择忘记QQ密码,点击“立即找回”
第三步:账号输入感染设备的手机号。账号类型选择“账号密码”,输入验证码后,选择下一步
第四步:选择短信找回密码。
第五步:恶意攻击者发送短信指令,令感染设备发送指定短信到1065755802381,这样就可以重新设备QQ密码。
该处含有一个关键的漏洞:输入手机号后通过页面可以获取到该手机号绑定的QQ号码。QQ号码是财付通登录用户名。
第六步:输入第五步获取到的QQ号码和通过短信设置的新密码登录财付通。
如果财付通账号设置了二次登录密码。还需要另外做如下操作:
第七步:选择忘记二次登录密码
第八步:输入绑定的手机号码,即感染设备手机号码
第九步:输入木马拦截到的短信验证码,并设置新的二次登录密码。
整个财付通账号窃取流程就完成了。
四、第四版:蜕变为“银行悍匪”,增加针对手机银行攻击。
短信僵尸第四版在保留了第三版本功能的基础上,增加了针对几十家银行、淘宝手机客户端的“钓鱼”攻击。短信僵死也蜕变成了“银行悍匪”。根据百度安全实验室的病毒检测数据表明,随着手机支付、手机购物的流行,这种针对银行、网购类客户端的“钓鱼”攻击方式开始频繁出现,给用户的账户财产安全带来了很大的隐患。
“银行悍匪”病毒针对如下银行:
农业银行、招商银行、广发银行、兴业银行、邮储银行、南京银行、中信银行、光大银行、民生银行、浦发银行、平安银行、广州农商银行、重庆银行、中国银行、华夏银 行、湖州银行、上海银行、青岛银行、泰隆银行、四川银行、杭州银行、昆仑银行。
以上银行使用相同的“钓鱼界面”,并根据用户打开银行客户端的不同,修改为相应银行Title。
病毒作者为中国工商银行、中国建设银行、交通银行、手机淘宝专门定制了高仿真“钓鱼界面”。
手机银行客户端钓鱼流程如下:
总结:
从该病毒家族的迭代升级路线,我们可以看出,随着移动互联网和Android智能手机的发展,Android手机用户面临的手机安全问题愈发严重,短信吸费、电话吸费、短信诈骗和金融账户安全将时刻困扰着用户。
【Android病毒分析报告】- 手机支付毒王“银行悍匪”的前世今生的更多相关文章
- 【Android病毒分析报告】 - ZooTiger “集恶意推广、隐私窃取、恶意吸费于一体”
本文章由Jack_Jia编写,转载请注明出处. 文章链接:http://blog.csdn.net/jiazhijun/article/details/11772379 作者:Jack_Jia ...
- 【Android病毒分析报告】 - ZxtdPay 吸费恶魔
本文章由Jack_Jia编写,转载请注明出处. 文章链接:http://blog.csdn.net/jiazhijun/article/details/11581543 作者:Jack_Jia ...
- [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告
Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...
- 【Windows编程】大量病毒分析报告辅助工具编写
解决重复劳动 是否在分析单个病毒时很爽,分析N个病毒写报告很机械的情况.. 1)样本下载多个文件,这些文件写报告时要加上这些文件的MD5 2)写报告时明明是17个MD5,实际样本有18个的情况.不知道 ...
- 一份通过IPC$和lpk.dll感染方式的病毒分析报告
样本来自52pojie论坛,从事过两年渗透开始学病毒分析后看到IPC$真是再熟悉不过. 1.样本概况 1.1 样本信息 病毒名称:3601.exe MD5值:96043b8dcc7a977b16a28 ...
- Virut.ce-感染型病毒分析报告
1.样本概况 病毒名称 Virus.Win32.Virut.ce MD5 6A500B42FC27CC5546079138370C492F 文件大小 131 KB (134,144 字节) 壳信息 无 ...
- Android木马病毒com.schemedroid的分析报告
某安全公司移动病毒分析报告的面试题目,该病毒样本的代码量比较大,最大的分析障碍是该病毒样本的类名称和类方法名称以及类成员变量的名称被混淆为无法辨认的特殊字符,每个被分析的类中所有的字符串都被加密处理了 ...
- PE文件附加数据感染之Worm.Win32.Agent.ayd病毒分析
一.基本信息 样本名称:1q8JRgwDeGMofs.exe 病毒名称:Worm.Win32.Agent.ayd 文件大小:165384 字节 文件MD5:7EF5D0028997CB7DD3484A ...
- M1事后分析报告(Postmortem Report)
M1事后分析报告(Postmortem Report) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们项目组所开发的软件为一个基于Andro ...
随机推荐
- 更改jupyter notebook的主题颜色(theme) 包括pycharm
https://blog.csdn.net/Techmonster/article/details/73382535
- Redis Scan命令
原地址:https://www.cnblogs.com/tekkaman/p/4887293.html [Redis Scan命令] SCAN cursor [MATCH pattern] [COUN ...
- TCxGrid 把列移上移下。
T
- sed的一些使用技巧
一.当一个文件里有两行相同的内容,但这时只想修改第一行的内容或者第二行的内容,而不是全部修改,以下例子说明下: 1.修改匹配到第一行为port的内容(若要真修改前面记得-i): [root suppo ...
- 【AtCoder】ARC087
C - Good Sequence 题解 用个map愉悦一下就好了 代码 #include <bits/stdc++.h> #define fi first #define se seco ...
- streaming优化:并行接收数据
val numStreams = 5 val kafkaStreams = (1 to numStreams).map { i => KafkaUtils.createStream(...) } ...
- P2429 制杖题
P2429 制杖题这个题用线性筛会WA一个点,因为这个题是给定的质数集,最大的质数会比当前的倍数大,就会出现上面的情况.怎办?判重用set啊!set+线性筛就过掉了.16ms #include< ...
- P3512 [POI2010]PIL-Pilots
P3512 [POI2010]PIL-Pilots我一开始打的O(n^2)(最坏情况)的算法.枚举区间长度.60分 #include<iostream> #include<cstdi ...
- django 2.0 中URL的include方法使用分析
一.问题出现: 在使用Django2.0,配置全局URL时,希望指向某个APP的URL,配置如下: from django.contrib import admin from django.conf. ...
- Redis集群主从复制(一主两从)搭建配置教程【Windows环境】
如何学会在合适的场景使用合适的技术方案,这值得思考. 由于本地环境的使用,所以搭建一个本地的Redis集群,本篇讲解Redis主从复制集群的搭建,使用的平台是Windows,搭建的思路和Linux上基 ...