APP攻防-微信小程序&解包反编译&数据抓包&APK信息资源提取
目录
APP攻防-微信小程序&解包反编译&数据抓包&APK信息资源提取
#知识点:
0、APK信息资源提取
1、微信小程序-数据抓包
2、微信小程序-解包反编译
#章节点:
1、信息收集-应用&资产提取&权限等
2、漏洞发现-反编译&脱壳&代码审计
3、安全评估-组件&敏感密匙&恶意分析
#核心点:
0、内在点-资产提取&版本&信息等
1、抓包点-反代理&反证书&协议等
2、逆向点-反编译&脱壳&重打包等
3、安全点-资产&接口&漏洞&审计等
演示案例
APP&APK-信息资源文件提取
APK Messenger-基本信息&资源文件&开启权限等
这个算是上节课的补充,因为本节课讲的是小程序的相关知识,这个案例主要就是messenger这个工具的使用,没有太多说的。
Messenger是一款安卓APK应用程序信息查看器,也是电脑上最强大的APK信息查看工具。APK Messenger 这款APK文件信息查看工具可以查看apk应用文件的仔细信息,包含应用名、包名、版本号、文件MD5、签名信息、权限信息及活动名称,并且能提取应用图标,及复制多种信息与生成分析报告。
小迪给的用不了,我自己下载了一下,有需要可以给我要,有一点需要注意,压缩包在解压的时候要先把压缩包放到杀毒软件的信任区,不然解压之后会有东西被删除导致某些功能用不了,比如这个资源提取功能。下图就是对贵妃的提取结果。工具挺好用,有很多功能自己可以挖掘挖掘。
微信小程序-真机&模拟器数据抓包
安卓系统抓包(微信小程序):
1、安卓系统7.0以下版本,不管微信任意版本,都会信任系统提供的证书
2、安卓系统7.0以上版本,微信7.0以下版本,微信会信任系统提供的证书
3、安卓系统7.0以上版本,微信7.0以上版本,微信只信任它自己配置的证书列表
基于上述我们解决的方式如下:
1、将证书安装到系统证书中(需要root)
2、苹果手机(苹果手机不受此影响)
3、采用安卓系统低于7.0的模拟器
4、使用低版本电脑版微信小程序抓包
演示:逍遥模拟器5.1安卓系统微信小程序抓包
演示:夜神模拟器多开5安卓系统微信小程序抓包
演示:真机IPhone-IOS系统微信小程序抓包
条件:抓包本机需要和Iphone手机处于同一WIFI下
Iphone配置wifi的代理,代理设置地址写本地抓包的工具地址和端口
在进行微信小程序抓包的时候一般会遇到第三种情况也就是安卓系统7.0以上,微信7.0以上。对于这个微信版本基本现在都是7.0以上了,因为i有的你用的版本过低,他会强制你更新,不然就不能用。而我们常用的解决方法就是2,3,4。一般是用3,因为当安卓版本低于7.0的时候,不管微信版本是啥都能抓包了。这个时候我们就没有阻碍了。
这里用逍遥模拟器来演示,通过这个多开器我们可以看到这个安卓版本是5.1的,默认的应是7.1的,可以在下面点击新建下载5.1的版本。然后再下载个微信打开小程序进行抓包
这里估计是因为安卓的版本过低,微信的版本过高,打不开小程序,也有可能是因为微信版本现在来到了8.多的版本,不让在模拟器上面打开小程序了。接着我换回到7版本的模拟器打开最高版本的微信发现连进去都进不去。然后我又试试老版本的微信看看能不能行,结果老版本的微信进去就提示需要更新版本,不然不让进。我估计是微信现在可能会检测模拟器,然后不让打开小程序。然后我换了个模拟器还是不行。那么就一种方法了就是用iphon,但是我条件有限没有,所以gg(如果是利用iphon的话有条件:抓包本机需要和Iphone手机处于同一WIFI下,Iphone配置wifi的代理,代理设置地址写本地抓包的工具地址和端口)
这是我的个人情况,不代表你的也是,建议自己试一下,就用5版本的模拟器去打开微信小程序,看看能不能正常抓包,能的话就是和小迪的一样了,不能的话就和我一样了。
微信小程序-PC&模拟器分包反编译
1、高富帅版:
欢迎使用多功能小程序助手工具,点击确定开始使用。
免责声明:不得将小程序反编译源码程序和反编译图片素材挪作商业或盈利用
使用教程地:四、使用教程 · 反编译小程序助手使用说明 · 看云
最新版下载地址:https://xcx.siqingw.top/xcx.zip
2、穷屌丝版:
GitHub - sanriqing/WxAppUnpacker: 微信小程序反编译脚本备份
-安装node.js
-安装依赖:
npm install
-部分wxapkg还需要解密
-模拟器取出wxapkg文件:
/data/data/com.tencent.mm/MicroMsg/xxxxxx/appbrand/pkg
-反编译解包
node wuWxapkg.js -s=../ xxxx.wxapkg
这个小程序反编译工具有两个版本,一个是高富帅版也就是收费版,一个是穷屌丝版也就是免费版。收费版的功能肯定是要比免费版多,小迪说收费版是有三个小时的试用的。我没有在哪找到可以使用的地方。如果日后需要使用的话可以自行购买,也不贵一个月15。
高富帅版
我们之前讲的apk一般都是java开发的,而这个微信小程序一般是js代码开发,nodejs这个框架用的比较多,那也就是说如果nodejs这个框架爆出了漏洞,使用该版本开发的小程序也会出现相应的漏洞。而把小程序反编译不仅仅是通过看源码中的资产信息或则代码逻辑,还有一个就是看它使用的框架以及版本来进行漏洞探测。
这个是链接关于如何使用请看链接:小程序助手 · 反编译小程序助手使用说明 · 看云
冲完钱之后我们先来到pc端的微信小程序进行讲解,首先电脑版的话先找到文件位置
来到这个目录下,注意这个applet一定要是WeChat Files这个文件夹里面的applet,这个目录就是你微信小程序的缓存的目录夹。我们先把它全删除,
可以看到这里我们打开了美团,这个目录下就会生成缓存文件。
我们来到这个目录下。把第一个文件拿出来先进行解包然后进行反编译,这个时候软件会提示缺少部分分包源码,这个分包就是该目录下的其他文件,这个分包一般是大型的小程序会有的,就是说这个下程序是由很多个板块组成的。如果提示缺少分包,该目录下就第一个文件,我们就可以到小程序里面到处点一点,把那个分包触发出来,然后再进行解包然后反编译即可。
穷屌丝版
这个工具已经好几年没更新了,之前的作者害怕担法律风险所以就不搞了。工具呢不太好用容易报错,并且有点apk进行反编译的时候还需要进行解密。安装方法上面已经给到了,建议使用高富帅版的,也不是特别贵,一个月15,并且买个永久的还可以换设备。
如果有需要解密的这里也给到了解密的工具,但是高富帅版本一键就反编译了,没有这么多事。反编译之后的东西,穷屌丝版本的也会少点。
如果是手机端的微信的话,它的小程序进程目录在pkg下面
先把这个目录的文件都删除,接着我们打开想要测试的小程序,在pkg目录就会生成两个文件,然后通过共享文件夹把这两个文件传到电脑上利用工具进行反编译。
安全点:
1、渗透角度:测试的app提供服务的服务器,网站,接口等,一旦这个有安全问题,被不法分子利用,相当于APP正常服务就会受到直接的影响!
APK-白盒-Java代码审计
APK-黑盒-资产&WEB&IP&接口等
小程序-白盒-Node.JS代码审计
小程序-黑盒-资产&WEB&IP&接口等
2、开发角度:测试的app里代码的设计安全,采用没加密的发送数据,采用权限过高的设置导致攻击者利用app获取到手机的敏感信息等。
弱加密,逻辑安全,授权,中间人等