转自: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盾升级,钓鱼方式获取网银账号、密码。
一、第一版:“短信僵尸”横空出世
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、证件号码(账户资金往来往往需要告知身份证号,获取几率很大)
第一步:选择忘记登录密码。
第二步:选择通过“手机校验码+证件号码”方式找对登录密码。
第三步:输入手机号码+验证码+身份证号找回登录密码。