作者:0431实验室
公众号:吉林省信睿网络
在一个风和日丽的早晨,我的朋友给我发来了一个秒抢红包的apk,我心想还有这好事呢?
0x01 初探安卓勒索病毒
下载安装便会看到以下情景
嗯???这一看就是个锁机的啊,坑人能不能坑的用点心?但我由此来了兴趣决定搞一下,曝光这些垃圾的锁机组织。
通常来说病毒的名称都会用一些有诱惑性的名字或者图标来吸引用户下载,当然,这个也不例外,有些人就会利用这点,将锁机程序或病毒佯装在程序里。
该病毒会诱导用户点击免费激活,注册使用,或者允许权限等让用户上钩。行为主要包括:
1.激活设备管理器,重置锁屏密码,并锁屏,同时监听用户修改锁屏密码的行为;
2.创建子线程,在SD卡中无限创建空文件和空文件夹,导致SD卡几乎无法打开。
3.将SD卡里的文件加密
首先先用模拟器进行安装,点击激活,模拟器无响应,重启模拟器后,在我意料之中的生成了密码锁,接下来讲apk丢入反编译神器中会生成很多文件。
assets:可以存放项目一些较大的资源文件,比如:图片,音乐,字体等。
res:可以存放项目所有的资源文件,比如:图片,文本等。
lib:存放的是一些jar包,也就是第三方的东西。
smail:反编译出来的所有代码,语法与java不同,类似汇编 是Android虚拟机所使用的寄存器语言 。
AndroidMainfest.xml:清单文件,包含了整个应用的配置信息。
我们先进入他的清单文件,AndroidMainfest.xml可以看到很多配置信息。
uses-permission告诉我们的是该apk获取的一些权限:
SEND_SMS:发送短信; SYSTEM_ALERT_WINDOW:显示悬浮窗锁屏; RECEIVE_BOOT_COMPLETED:开机启动;
INTERNET:访问网络; ACCESS_NETWORK_STATE:查看网络状态; WRITE_EXTERNAL_STORAGE:允许应用程序写入SD卡: MOUNT_UNMOUNRT_FILESYSTEMS:装载和卸载文件系统的
然后接下来看
debuggle:是否能够被debug; icon:应用图标; theme:主题; name:应用类名。 接下来我们追踪到名为M的类。
可以看到activitedevice:激活设备管理器,ADD_DEVICE_ADMIN先获取了手机的超级用户权限,然后进入到MyAdmin。
进入MyAdmin中便可以看到锁屏密码为8985,继续向下可以看到s类,那里写的就应该是随机码了
进入s可以看到onCreate,解锁码为随机码+锁屏码8985
以上是一个比较简单的锁机程序,因为平常没什么时间,为了节约时间我只能在公交上看看逆向.
0x02 安卓勒索病毒分析
用手机搞逆向的一款工具叫MT管理器,MT管理器是安卓平台上一款功能强大的工具软件, 拥有独具特色的双窗口文件管理和强大的 APK 编辑功能,让你可以在手机上高效地进行各种文件操作以及修改安卓软件。 感兴趣的小伙伴可以去玩一下。但因VIP功能需要花钱,所以我上网去寻找破解版下载,安装完成后,看到这个界面的我哭出了声。
秉着对勒索病毒的分析,我淡淡的点了允许,几秒钟后,我的模拟器重启后,一片青青草原映入眼帘,勒索病毒都做的这么丑的吗?
OK,我们还是一样先将apk进行反编译,是百度加固,然后我下载了MT管理器的正常版,发现这就是源文件的壳,那么就猜测这个锁机的apk只是混淆在其中。
此程序因是锁机apk镶嵌在MT管理器中,MT管理器本身使用了百度壳,就会混淆其中,接下来我们使用ADB工具,ADB是一个调试工具,借助adb,我们可以用电脑来控制Android上面的设备。查看释放的病毒进程名:adb shell pm list packages便可以看到一个com.nmsl.shabi,嗯???果然没文化还没素质。
am force-stop com.nmsl.shabi便杀死了进程,但是过了一会还会反复弹出,然后我重新安装了模拟器,在不联网的情况下锁机病毒不释放,便分析此锁机病毒是联网锁机病毒,当点允许时会向服务器发送请求然后释放锁机apk。接下来启动fidller神器,这是一个http协议调试代理工具,也就是说客户端的所有请求都要先经过Fiddler,然后通过fidller抓取这个下载锁机的网站。果然,HX.apk浮现眼前,网址为https://kiss-125609989.cos.ap-chengdu.myqcloud.com/HX.apk。
ping一下,找出IP地址,然后查询,看见此人买的是代理服务器。
接下来才开始真正的分析这个寄生在宿主apk上的锁机apk了
老规矩先看配置单,可以看到这里面获取的权限就比较多了,显示允许程序写入外部存储,比如SD卡上写文件;允许程序访问订阅信息的数据库,允许程序访问网络连接;允许程序显示系统窗口;允许程序获取任务信息;允许程序开机自动允许等等,不懂的小伙伴可以自行查询每个获取的权限。
主程序入口为MainActivity。
追踪过来便可看到onCreate,Class.forName("com.nmsl.shabi.Lock"),从代码中便可以看到跳转到com.nmsl.shabi.Lock类。
进入com.nmsl.shabi.Lock类分析代码,可以知道这里面写了多种加解密方法进行调用,例如DES,MD5等,猜测此锁机不止一层。
紧接着进入DES类,可以看见此作者拟定的字符也是非常有趣。
接下来进入PWD。
在这里还用到了zlib,进入zlib。
在Request代码里面可以看到请求了一个URL,我们去访问一下便可以看到一些字符,那这里就应该有一层解密是通过这个生成解锁码,然后根据这个解锁码进行解锁
以上这些就是可以利用的加解密代码,但由于最近搞开发,比较忙碌,所以只能大概分析到这里,算法和加解密我会在后续的文章中详解。
0x03 社会工程学
如果是一个小白中了这个勒索病毒怎么办?乖乖交钱吗?我们回到反编译文件xml中,搜索关键字QQ,便看到了此锁机一共有四层,也就是说你以为你乖乖的交了第一层的30块钱就能玩你的王者荣耀了?太天真了!一共得交260大洋,往下自己看吧。。。
根据锁机上留的QQ群,我找到了此人的QQ号,可以看到此人非常嚣张,先收费后解锁。此QQ号是个小号。
加了好友之后,通过一顿胡扯最后要到了这个人的真实微信,微信号为HX666HX7,广东阳江人,姓名**友。
0x04 结束语(未完待续)
文章到这里就告一段落了,劝诫大家,不要相信什么游戏外挂,微信秒抢红包,不要再网页上下载那些不明的破解apk;如果你下载了,当你安装后要求root权限,或者激活时,不要相信;如果你中了勒索病毒,找懂的人帮你解锁,解锁不了就刷机,刷机之后还不行就换手机吧,别成全了这些设计锁机的骗子,因为贪婪是无限的,你不知道他会给你挖多少坑,一层又一层的剥削你的财产。
勒索apk链接: https://pan.baidu.com/s/1xXWlqkP37uT5Q7e62rI6sw 提取码: wywg
本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1085/