吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 21023|回复: 41
收起左侧

[移动样本分析] 加固病毒的脱壳与分析全过程(对小白友好)

  [复制链接]
顺利毕业 发表于 2019-3-19 21:51
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
样本:0A2CA97D070A04AECB6EC9B1DA5CD987.apk
应用名:相册

先用jeb打开软件,发现“相册”软件使用了腾讯乐固进行了加固:
加固证据.png

所以,不得不先学习一下脱壳~

目测帖子比较长,先来个大概的目录:

一、脱壳,得到dex文件
二、对dex进行静态分析
三、展望一哈未来,手动脱壳~


**************************************** 华丽地分割线 即将开始进入正题啦 ********************************************************


一、脱壳,得到dex文件

参考贴:https://www.52pojie.cn/thread-777287-1-1.html,这个帖子写得非常仔细,很适合我这种小白来学习,感谢一下贴主~
使用的工具:VirtualXposed、FDex2(两个工具的下载地址在帖子https://www.52pojie.cn/thread-758726-1-1.html里有)
设备:真机

1、安装并运行工具
(1)VirtualXposed下载链接:https://vxposed.com/download.html。我下载的是0.14.5版本。工具是一个apk
(2)FDex2下载链接:https://bbs.pediy.com/thread-224105.htm。工具是一个apk。
这样,脱壳的工具(VirtualXposed、FDex2)跟原材料(相册apk)就准备好了。
3个apk.png

(3)利用adb命令,将上方3个apk全都安装到手机上:
安装3个apk.png
已安装3apk.png

(4)运行VirtualXposed并激活,将FDex2与恶意软件克隆安装到VirtualXposed:
Xposed1.png
Xposed2.png
Xposed3.png
Xposed4.png

返回刚才的设置界面:
Xposed5.png
Xposed6.png

再次返回设置里的“模块管理”,此时已出现FDex2:
出现FDex2.png

再再次返回设置,找到最下方的“重启”:
重启Xposed.png

(5)返回VirtualXposed主界面,在VirtualXposed里运行FDex2:
运行FDex2_1.png
运行FDex2_2.png

此时尚未对“相册”进行脱壳,故dex输出目录为空(用adb要cd到该目录,得su):
dex.png


2、脱壳并获取dex文件
(1)运行一下“相册”吧:
运行相册.png

(“相册”在我这台手机上与mumu模拟器上都无法运行,但这没关系,毕竟当前是学习分析加固恶意软件)

(2)获取脱壳后的dex文件到电脑上:
此时查看dex输出目录,发现了3个dex文件:
生成3dex.png

由于该目录访问需要su,不便于直接将dex文件拷贝到电脑上,故可先将这3个dex文件拷贝到/sdcard/目录下,再从/sdcard/目录拷贝到电脑上:
拷贝3dex1.png
拷贝3dex2.png


3、确定主dex文件:

将3个dex文件均用jeb打开:
首先可以排除mix.dex
mixdex.png

com.mycompdgscany.myapp828584.dex是腾讯乐固相关的dex,也可排除:
排除dex.png

在com.mycompdgscany.myapp558248.dex里找到Androidmanifest.xml里的入口类v.v.v.MainActivity,故com.mycompdgscany.myapp558248.dex就是“相册”软件的主要dex文件,接下来仅对这个dex文件进行分析即可。
选择dex.png


到此,脱壳完成啦~

**************************************** 华丽地分割线 脱壳结束,要开始静态分析dex文件啦 ********************************************************


二、对dex进行静态分析

在进入分析之前,先剧透一下我后面的分析流程图,避免因繁琐让大家看晕啦。
流程图.jpg

1、从v.v.v.MainActivity的oncreate()方法入手,发现该应用的四个行为,即获取IMEI,隐藏应用图标,申请激活设备管理器,启动xservicr服务:
启动xc.png

2、那么看下love.qin.co.service.xservicr都做了什么吧:

(1)在love.qin.co.service.xservicr注册了短信监视器
注册短信监视器.png

查看所涉及的com.b.a.b.g类与com.b.a.b.f类,首先先看里面的com.b.a.b.f类:

(1.1)com.b.a.b.f类是一个Handler,查看handleMessage(),需要着重关注com.b.a.b.d类、com.b.a.b.h类、com.b.a.b.i类:
f中的3个类.png

(1.1.1)先查看:com.b.a.b.d类。com.b.a.b.d类为AsyncTask,故先查看doInBackground()方法:
d类.png

从截图可看出,关键的就是方框中的b类了,查看b类:
b类.png

为方便理解,我对上面两个图设计的方法进行下重命名:
重命名d.png
重命名b.png

即,在上面两个截图中,“相册”软件给13172043886@163.com发送了一封邮件,邮件内容目前还未知,等下面会分析到。为方便后续分析,暂时先将com.b.a.b.d类重命名为”com.b.a.b.d_发送邮件”

(1.1.2)返回com.b.a.b.f,接着看com.b.a.b.h
h类.png

从上图可先大概猜到,“相册”软件要拦截信息并且发送给恶意主人了。主要的操作如下:
h操作.png

为了方便理解,依旧先重命名一波:
h重命名1.png
h重命名2.png
h重命名3.png

这几张图说明,“相册”软件获取了手机的通讯录信息并发给恶意主人。故将com.b.a.b.h类重命名为“com.b.a.b.h_获取通讯录信息”

(1.1.3)返回com.b.a.b.f,接着看:com.b.a.b.i
分析这个类,跟上述两个类的操作流程一样,所以我就直接放结果啦:
i1.png
i2.png
i3.png
i4.png
i5.png

这几张图说明,“相册”软件设置了来电转移、给通讯录里的人群发短信、将所有短信信息通过邮件发送给恶意主人。故将com.b.a.b.i类重命名为“com.b.a.b.i_来电转移与群发与读取短信”
(1.1.4)因此,我们可以总结,com.b.a.b.f这个类主要用于读取短信、通讯录、群发短信、来电转移、将用户信息发给恶意主人。故将com.b.a.b.f这个类重命名为”com.b.a.b.f_短信通信录来电邮件”

(1.2)查看love.qin.co.service.xservicr调用的g类,这个类比上面的f类简单很多,做了“删除短信”的操作:
删短信.png

(2)回到love.qin.co.service.xservicr,继续往下分析发现“相册”软件做的事跟上面分析的差不多,就不赘述了。

3、回到v.v.v.MainActivity的oncreate()方法,该方法内调用了v.v.v.MainActivity的a()方法,查看一下里面调用的PAReceiver类:
a调PAR.png
PAR1.png
PAR2.png
PAR3.png

从上面几张图可以看出,PAReceiver类在阻止用户取消设备管理器,并进行通风报信。


好啦,这个样本分析完啦~技术性要求不高,但是挺需要耐心的,能看到这里的你也是很有耐心的~
**************************************** 华丽地分割线 正事都做完啦 ********************************************************


三、展望一哈未来,手动脱壳~
去学习学习加固、脱壳的原理,尝试纯手动脱壳,立个flag在这里~希望不要打脸呀。

免费评分

参与人数 20威望 +2 吾爱币 +24 热心值 +19 收起 理由
lenbobopp + 1 + 1 我很赞同!
tanyoubin + 1 + 1 用心讨论,共获提升!
a48602 + 1 + 1 谢谢@Thanks!
tcdii + 1 + 1 谢谢@Thanks!
sunnylds7 + 1 + 1 热心回复!
chanchan + 1 + 1 热心回复!
k123258 + 1 + 1 用心讨论,共获提升!
hzwsuki + 1 + 1 谢谢@Thanks!
命若落叶 + 1 + 1 谢谢@Thanks!
cckiller + 1 + 1 谢谢@Thanks!
Vip_川川 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
samoul + 1 + 1 谢谢@Thanks!
52Sql1920 + 1 我很赞同!
willJ + 2 + 6 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
独行风云 + 1 + 1 谢谢@Thanks!
chenhaiping1435 + 1 + 1 用心讨论,共获提升!
hafeng45 + 1 + 1 用心讨论,共获提升!
ZERO.ONE + 1 我很赞同!
longge188 + 1 用心讨论,共获提升!
cxp521 + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 顺利毕业 发表于 2019-3-20 20:58
a48602 发表于 2019-3-20 18:03
樓主的重命名教學使小白更能多看懂一些點,收下慢慢吸收學習了,謝謝樓主的分享。

jeb的重命名功能很友好,建议每次都使用,分析起恶意软件来会更流畅。
lmy9898 发表于 2019-4-5 12:55
顺利毕业 发表于 2019-4-4 10:31
如果方便的话,直接在这说?

我想问下你这些方面的东西,你方便的话就给个联系方式,我这人也不怎么会说话,希望你不要介意
头像被屏蔽
ilove52pj 发表于 2019-3-19 22:37
chenjingyes 发表于 2019-3-20 01:07
很适合小白,谢谢楼主分享思路!
caoying888 发表于 2019-3-20 05:25
小白一个,学习中,收藏慢慢研究。谢谢
chenhaiping1435 发表于 2019-3-20 07:55
优秀,道理就是道理。厉害
独行风云 发表于 2019-3-20 08:07
教程很详细,学习了。
 楼主| 顺利毕业 发表于 2019-3-20 09:38
xiaoshenshi 发表于 2019-3-20 08:50
我看完了,看到了最后一句。楼主棒ヾ(^▽^*)))

看完的你也很棒呀,一起加油呀
hui00000 发表于 2019-3-20 10:00
小白一个,学习中
丶那年如此年少o 发表于 2019-3-20 10:07
感谢分享,以前都不会脱壳,原来可以用工具。
52linux 发表于 2019-3-20 10:25
谢谢楼主分享思路!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 13:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表