走近科学:中国移动(10086)钓鱼手机APP分析

0×01.钓鱼短信

前几天仿冒中国电信的钓鱼程序,似乎风风火火,今天给大家分析一个中国移动的钓鱼程序。

首先通过冒充10086发送短信,引导进入网站,进去后除领取选项别的都不能点,然后引导输入关键信息,

页面为用积分换取RMB的信息

(这张图片来自吾爱破解)

此处选择银行卡,但可以填入任何错误的信息,当然很有可能部分用户会填写真正的信息。

填写完储蓄卡信息后,就会让你下载apk,进行激活。

0×02:安装APK

在应用中,无法删除此软件

在设备管理器里,可以看到软件已经激活了。

0×03:APP分析

1.首先看AndroidManifest.xml中定义了两个receive:

整个APK的结构比较简单,只有两个receive的程序

由于代码不能用jd-gui打开,只能看smali了,MainActivity中没有太多内容,主要定义了手机号。

2. 监听“android.app.action.DEVICE_ADMIN_ENABLED”的是FssAdmin.smali,其中存在两个函数onDisabled和onEnabled

onDisabled函数的作用是“当从设备管理器里面把单选框勾除时,发送短信提示:软件被取消激活;服务终止!”

onEnabled函数的作用是“当从设备管理器里面勾上单选框时,短信提示:

3.监听“android.provider.Telephony.SMS_RECEIVED”的代码是SmsReceive.smali,

关键代码和注解如下

当然还使用了abortBroadcast()来阻断手机接收短信,因为在AndroidManifes.xml中定义了程序的优先级是1000,所以终止后,手机是不会收到短信的。

最终就是将短信发送出去了

现在,我们梳理下次钓鱼程序的流程:

总结: 地球太黑暗,到处都是黑客。大家保重!