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手机用户面临的手机安全问题愈发严重,短信吸费、电话吸费、短信诈骗和金融账户安全将时刻困扰着用户。