第70天:APP攻防-微信小程序&解包反编译&数据抓包&APK信息资源提取

#知识点:
0、APK信息资源提取
1、微信小程序-数据抓包
2、微信小程序-解包反编译
#章节点:
1、信息收集-应用&资产提取&权限等
2、漏洞发现-反编译&脱壳&代码审计
3、安全评估-组件&敏感密匙&恶意分析
#核心点:
0、内在点-资产提取&版本&信息等
1、抓包点-反代理&反证书&协议等
2、逆向点-反编译&脱壳&重打包等
3、安全点-资产&接口&漏洞&审计等
#安全点:
1、渗透角度:测试的app提供服务的服务器,网站,接口等,一旦这个有安全问题,被不法分子利用,相当于APP正常服务就会受到直接的影响!
APK-白盒-Java代码审计
APK-黑盒-资产&WEB&IP&接口等
小程序-白盒-Node.JS代码审计
小程序-黑盒-资产&WEB&IP&接口等
2、开发角度:测试的app里代码的设计安全,采用没加密的发送数据,采用权限过高的设置导致攻击者利用app获取到手机的敏感信息等。
弱加密,逻辑安全,授权,中间人等
- APP&APK-信息资源文件提取
APK Messenger-基本信息&资源文件&开启权限等
把apk拖放进去,但是好像异常
资源文件有:图片资源 xml资源,so资源,视频资源,音乐资源等,还有权限信息等等。

- 微信小程序-真机&模拟器数据抓包
安卓系统抓包(微信小程序):
1、安卓系统7.0以下版本,不管微信任意版本,都会信任系统提供的证书
2、安卓系统7.0以上版本,微信7.0以下版本,微信会信任系统提供的证书
3、安卓系统7.0以上版本,微信7.0以上版本,微信只信任它自己配置的证书列表
安卓的版本一般真机都高于7.0,微信版本更改不了,安卓版本需要刷机才有可能到达7.0以下版本。
基于上述我们解决的方式如下:
1、将证书安装到系统证书中(需要root)
2、苹果手机(苹果手机不受此影响)
3、采用安卓系统低于7.0的模拟器
4、使用低版本电脑版微信小程序抓包
在模拟器上安装微信,模拟器的版本为5.1(逍遥默认5.1,夜神需要多开器多开一个5.1版本的模拟器)
需要下载32位的微信

打开代理,然后打开微信的小程序,打开burp配置代理,就可以完成抓包了。
但是好像提示不能微信不能运行。有少于的数据包出现。在夜神模拟器中就可以完成。

如果用手机接入的话,那就手机跟电脑同一局域网。
条件:抓包本机需要和Iphone手机处于同一WIFI下
Iphone配置wifi的代理,代理设置地址写本地抓包的工具地址和端口
- 微信小程序-PC&模拟器分包反编译
大部分微信小程序是使用node.js来进行开发,所以如果小程序利用到node.js存在漏洞,那么小程序也存在漏洞。
在电脑中打开微信,尝试抓取数据包,打开fiddler进行抓包,但是发现小程序运行,这个数据包也抓不到了。比较高的版本微信就抓不到,低版本的微信是可以获取数据包的。

wire shark是可以抓的,但是太多数据包了,比较麻烦。
微信小程序的开发一般都是node.js开发的,然后关于里面的反编译可以用到工具,但是有收费的。反编译的话也是基于node.js来进行反编译。
高富帅版
1、高富帅版:
欢迎使用多功能小程序助手工具,点击确定开始使用。
免责声明:不得将小程序反编译源码程序和反编译图片素材挪作商业或盈利用
使用教程地:https://www.kancloud.cn/ludeqi/xcxzs/2607637
最新版下载地址:https://xcx.siqingw.top/xcx.zip
因为授权过期,演示不了。
1.找到微信安装目录:D:\微信\WeChat Files
打开这个目录下的D:\微信\WeChat Files\Applet目录,这个里文件就是小程序的缓存运行的目录。
随便打开一个小程序,就会产生一个文件,打开一个的时候就会生成一个文件夹,里面就是这个小程序的缓存

把里面的__APP__.wxapkg取出来,在这里软件中选择反编译小程序-->选择解压文件。选择这个__APP__.wxapkg文件。
选择后会提示解包完成,生成一个wx03d08fe79e942282.wxapkg,点一下刷新反编译包,在选择这个wx03d08fe79e942282.wxapkg文件来执行反编译。
这个时候,会在这个工具目录下生成一个wxpack目录生成wx03d08fe79e942282文件夹,里面的源码框架就是这个小程序的源码框架。用vs打开这个文件夹。
比较大的源码会有其他的wxapkg文件,

如果这个源码用node.js框架开发,并且符合node.js版本的漏洞,也是可以利用的。
穷屌丝版
项目地址:https://github.com/sanriqing/WxAppUnpacker
已经停止更新了,因为有法律风险。
-安装node.js
http://nodejs.cn/download/

-安装依赖:
npm install
-部分wxapkg还需要解密

安装完成后,然后把wxapkg这个文件放在工具目录,直接运行:node wuWxapkg.js -s=../ xxxx.wxapkg
用这个版本的话,有一些wxapkg文件还需要解密,用到UnpackMiniApp.exe工具。解密之后再次尝试解包。
执行:node wuWxapkg.js -s=../ __APP__.wxapkg

发生错误,尝试进行解密

也是发生错误,所以还是用收费的比较好。
也可以用模拟器中的小程序
-模拟器取出wxapkg文件:
/data/data/com.tencent.mm/MicroMsg/xxxxxx/appbrand/pkg

然后把这个wxapkg文件取出到电脑上,选中他,然后到storage/emulated/0/Picures目录中,点一个3个点按钮,然后粘贴就可以完成

然后在C:\Users\我是正经人z\Nox_share\ImageShare目录下就会出现_1088601496_17.wxapkg文件
然后在执行这个操作就行了,先解密,然后在反编译。
执行:node wuWxapkg.js -s=../ _1088601496_17.wxapkg

在工具目录下生成文件夹_1088601496_17,里面就是编译完后的node.js文件


浙公网安备 33010602011771号