• 保存到桌面加入收藏设为首页
经验分享

分析中国移动伪基站软件

时间:2019-08-15 17:58:16   作者:234IT   来源:234IT   阅读:2282   评论:0
内容摘要:中国移动伪基站软件Date: Aug 14, 2019Tags: 分析报告样本来源通过10086发送的诈骗短信文件与自动分析报告恶意软件分析 & URL链接扫描 免费在线病毒分析平台 | 魔盾安全分析分析工具jadx魔盾行为分析分析过程第一次使用魔盾这个东西,感觉是挺好用......

中国移动伪基站软件

Date: Aug 14, 2019
Tags: 分析报告

样本来源

通过10086发送的诈骗短信

文件与自动分析报告

恶意软件分析 & URL链接扫描 免费在线病毒分析平台 | 魔盾安全分析

分析工具

  • jadx
  • 魔盾行为分析

分析过程

第一次使用魔盾这个东西,感觉是挺好用的。

首先,关注包名,这肯定不是中国移动的,有这东西的可以卸载了。

之后看MainActivity能看到

那么,就是com.phone2.stop.activity.MainActivity,所以去跟进这个类

能看到执行了几个函数然后初始化了一个字符串,跟进分析


C0058h.m510a

这个函数里面

调用StringBuffer,然后自认为很聪明的初始化了4个字符h~mx,从自动分析的报告上看到这个地方是des密钥,虽然还没看到哪里是des,但是至少说明这个app还有分析的价值,那就继续往后看吧


getPackageManager().setComponentEnabledSetting(getComponentName(), 2, 1)

这里是开了个啥,但是我并不会写apk所以只能先搁置,大概理解为开启了某个权限


C0058h.m511a

检查是否

是否初始化手机号码,之后

所以在第一次启动的时候没有初始化手机号,那么就会返回false执行if中的语句

取得手机号,同理应该也是默认手机号

然后C0002f.m9a(C0051a.m360a(context).mo740d()),能发现使用了函数mo740d()这个是获取默认手机号,然后传入m9a()这个函数是使用DES加密获取到的手机号然后存入sharedpreferences,这时的DES的key为123456

然后在这里就有个巨大的bug,我也不清楚程序员是咋想的

能看到上图的m580a这个函数,是相当于hexdecode函数,传入的数据即为获取到的数据,也就是手机号,那么在手机号的情况下手机号为11位不满足偶数位,他也没有填充,而且如下图所示,除了手机号用了这个方法,邮箱号和邮箱密码也用了同样的算法,那么邮箱号中特殊字符如@就是没法转换的,所以这里一定会报错的鸭

写了个程序,可以自己测一下

import java.io.*; class test   {
        public static void main (String[] args) throws java.lang.Exception
        {
                System.out.println(bytesToHex(m580a("165")));
        }

        public static byte[] m580a(String str) {
        byte[] bytes = str.getBytes();
        int length = bytes.length;
        byte[] bArr = new byte[(length / 2)];
        for (int i = 0; i < length; i += 2) {
            bArr[i / 2] = (byte) Integer.parseInt(new String(bytes, i, 2), 16);
        }
        return bArr;
    }

    public static String bytesToHex(byte[] bytes) {  
        StringBuffer sb = new StringBuffer();  
        for(int i = 0; i < bytes.length; i++) {  
            String hex = Integer.toHexString(bytes[i] & 0xFF);  
            if(hex.length() < 2){  
                sb.append(0);  
            }  
            sb.append(hex);  
        }  
        return sb.toString();  
    }
}

所以每次还是获取的默认值?想保存的数据一个都没存进去?这程序员可能思维跟我们不一样吧。。。。。。

反正依次调用的函数为:

  • 初始化接收短信的手机号[是一个沈阳的手机号]
  • 初始化发邮件的邮箱号[是163邮箱]
  • 初始化收邮件的邮箱号[和发邮件的是同一个]
  • 初始化发邮件邮箱密码
  • 初始化endtime?[这里有点迷的就是难道这个东西还会自己停的嘛]

之后判断是否发送手机信息[phone_info],如果没有发过就通过手机号发送手机信息

也就是通过SMS发送手机基本信息到接收短信的手机号上

发送之前还会把一部分关键词改个写法,估计是bypass基站检测吧,但是换句话说,基站检测有这么弱的吗?

发送之后马上调用函数C0002f.m12b

删除刚刚发送的SMS信息


C0008d.m72a

随之调用这个函数启动多线程

这里的C0008d.m75d是发送所有手机短信到接收邮箱,当短信同时包含

这两个东西的时候就不发了?

然后C0008d.m76e是发送通讯录联系人到接收邮箱,当联系人包含

这两个任意之一的时候也不发了?

有张三没李四,有悟空没八戒。。。。。。。。。我的思维是跟不上的


在MainActivity的最后是

貌似就跟他写的一样就是询问提高这个程序的权限吧

然后会在如下图所示的函数回调得到的结果,并且发送结果


调用m445b创建启动服务

应该是启动服务吧,写的bootservice

启动的服务会监听短信接收动作,并且在自己启动的时候启动第二个服务SecondService

看事件函数onDestroy里有启动自己的操作,估计就是不让这么轻易的关闭这个服务,而且在SecondService里面也能看出这个第二个服务是个deamon,专门保护第一个服务的


在第一个启动的服务里会调用两个函数,m321am322b

也就是这两个函数注册了监听短信的操作

到此为止应该就是差不多分析完了,这里面还有邮箱账号密码,有兴趣自己

诈骗信息公示

  • 手机号:16532498033
  • 邮箱:16532498033@163.com

估计都是小号,不过也公开一下吧

***********************************本站申明****************************************

234IT官方友情提示:

1、我们的官方网址是:http://www.234it.cn/
2、本站杜绝收费会员制!本站终身免费学习下载分享~
3、请勿轻信任何软件上或教程上收徒或其他服务项目,网络有风险!
4、本站软件需自行检测有无后门或病毒,如有恶意软件请于小编联系进行删除!
5、本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

感谢大家一路的支持,有什么好的建议或者意见发至邮箱vipfengzivip@qq.com


免责声明:
234IT所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。


标签:软件  中国  分析  移动  
上一篇:没有了
下一篇:联通手机号码误标记查询及清除

本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

发邮件至:vipfengzivip@qq.com  

二三四网 ( 浙ICP备14041900号-12)
Powered by OTCMS V3.72