apk和小程序渗透

apk和小程序域服务器通信使用的还是http协议,只是使用了加密。只要可以获取到http的请求报文,就可以回归到web渗透的层面。apk和小程序的渗透很复杂,涉及逆向时要进行脱壳,脱壳后反编译了,源代码没做加密就能直接逆向出来,将后缀改成zip,apk将后缀名改成zip解压出来后如果没做加密解压出来就是源代码。

APK

如何对APK进行渗透?

找源代码中的url地址,APK中的url地址大概率就是这家公司的服务器,只不过这个服务器只是给APK访问的。在代码页面使用ctrl+f搜索https直接找出url。这些url很大概率是这家公司的资产。

除了查找url也可以查找api(接口),info

查看源代码是为了:

  • 查看url地址,收集目标资产,扩大资产范围

  • 找关键字

    • API接口:有很多APK或小程序的接口是允许未授权访问的,以大学为例,向该接口提供一个学号会返回一个学生的信息
    • info(信息):例如version_info(版本信息)

渗透过程

image-20231016220456717

image-20231016220549703

image-20231016220907660

使用微信开发者工具打开代码,项目->导入项目->选择文件夹即可查看源代码。

双击apkAnalyser.exe后生成apps和result(结果)两个文件夹,随后将要需要渗透的小程序移动到apps中然后双击apkAnalyser.exe,在result中生成以apk的名称新建文件夹并将结果保存在apk文件夹中。

image-20231016223505580

打开apk文件夹,查看内容,string字符串中可能会有一些敏感路径。

image-20231016224304672

image-20231016224647285

知道这些密钥后可以尝试破解apk密文

小程序

默认下载位置

安卓手机:/data/data/com.tencent.mm/MicroMsg/

Windows系统:C:\Program Files (x86)\Tencent\WeChat\WeChatApp

Mac系统:/Applications/微信.app/Contents/Resources/miniprogram

解包工具

wxapkg_1.5.0_windows_amd64

使用微信开发者工具打开反编译的小程序,寻找url地址

wxapkg_1.5.0_windows_amd64.exe scan

安卓证书

openssl x509-inform DER-in cacertder-out cacertpem
openssl x509-inform PEM-subject hash-in cacertpem
进入nax目录的bin目录
PS D:\Program Files\Nox\bin>./adb devices
./adbroot
./adbremount
./adb push./7bf17d07.0/system/etc/security/cacerts/
./adbshell
chmod 644/system/etc/security/cacerts/7bf17d07.0
reboot

抓包过程

下载证书:打开代理访问http://burp,证书下载。但是安卓中burp证书不能直接安装到andriod中还需要借助openssl工具转换证书格式。

image-20231017220558081

下载openssl

image-20231017220805986

添加ssl环境变量,配置好环境变量后在终端输入ssl

image-20231017221038739

把证书转换成安卓可以认识的格式

image-20231017221128893

将转换格式后的证书重命名为生成的7bf17d07,并且后缀改为0。

image-20231017221312932

使用夜神模拟器的adb程序,adb程序可以进入安卓程序的模拟器,可以以Linux的形式进入安卓系统,也可以直接在真实机复制粘贴文件到模拟器。

image-20231017221903750

image-20231017221937712

配置bp

image-20231017222048534

模拟器中设置道理:设置->wifi->左键不动->修改网络->高级选项->代理->手动,添加模拟器所在主机IP和设置的端口10086

使用模拟器上程序,进行抓包

image-20231017222429144

image-20231017222515207

总结

小程序渗透?

  • 小程序通信几乎百分百是使用https,只要抓到包,就可以进行渗透测试;
  • 删除cookie后相应的内容还是一摸一样,那么说明这个请求点有问题很可能存在越权漏洞;
  • 可以使用小程序的反编译工具,编译出小程序的源代码进行代码审计,获取里面的url地址尝试访问抓包;
  • 查找api,info等具有特殊含义的变量或函数(方法),通过这些特殊字符可以发现小程序的一些未授权、敏感信息泄露等信息
  • 安卓高版本不信任https的证书了,在给小程序安装证书,证书需要进行编译

apk小程序渗透时抓不到包怎么办==对服务器间的通信做了加密怎么解决?

  • 证书问题,将证书安装到应用程序中

过这些特殊字符可以发现小程序的一些未授权、敏感信息泄露等信息

  • 安卓高版本不信任https的证书了,在给小程序安装证书,证书需要进行编译

apk小程序渗透时抓不到包怎么办==对服务器间的通信做了加密怎么解决?

  • 证书问题,将证书安装到应用程序中

  • 小程序和apk客户端和服务器之间的通信一般采用了加密。采用的加密方式是对称加密算法,由于密钥是写在小程序的源码里的;需要对小程序进行反编译,小程序反编译出来的就是js代码,尝试在源代码中找到密钥。对称加密经过了几次加密源代码中都写了。

ApkTool』简要介绍 提供1.3.5测试版源码。 此程序在其基础上完善并添加一些功能,此版本号定位2.0 最终版。 定为最终版的原因是支持动态加载最新的内置工具: ..\Bin\*.*目录下的所有工具如果有最新版本的,替换Bin目录内的程序即可应用最新版。 [注意:不要更改目录内的文件名,否则不会被加载。],判断是否使用最新版本的程序, 可以看启动日志中每个文件的路径。日志内容如下: 加载apktool.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\apktool.jar 加载aapt.exe的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\aapt.exe 加载signapk.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\signapk.jar 加载testkey.pk8的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin estkey.pk8 加载testkey.x509.pem的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin estkey.x509.pem 加载baksmali.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\baksmali.jar 加载smali.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\smali.jar 加载dex2jar.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\dex2jar.jar 加载asm-debug-all.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\asm-debug-all.jar 加载commons-io.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\commons-io.jar 加载slf4j-simple.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\slf4j-simple.jar 加载slf4j-api.jar的路径:C:\Users\Owner\Desktop\ApktoolGul\Bin\slf4j-api.jar ============================================================== 华丽的分割线 ============================================================== 使用说明: =========================================================== 使用环境:须安装 java,下载地址:http://www.java.com/zh_CN/ 1、反编译APK 拖拽APK程序到"反编译APK"按钮前的输入区,点击"反编译APK"按钮 2、重建APK 把第一步得到 文件夹 拖拽到"重建APK"按钮前面的输入区,点击"重建APK"按钮, 至此会自动生成已经签名好的"XXOO(已签名).apk" 3、签名 拖拽APK程序到"签名"按钮前的输入区,点击"签名"按钮,自动生成已经签名好的"XXOO(已签名).apk" 4、反编译dex 拖拽dex文件或odex到"反编译dex"按钮前的输入区,点击"反编译dex"按钮, 会在dex文件所在目录外生成一个与dex文件名相同的目录 5、重建dex 拖拽要重建的目录到"重建dex"按钮前的输入区,点击"重建dex"按钮,会生成与目录名相同的dex文件 6、dex转jar 拖拽dex文件或odex到"6、dex转jar"按钮前的输入区,点击"6、dex转jar"按钮, test.dex 会生成 test.dex.dex2jar.jar 文件 7、jar,class转java 拖拽保护class的目录,或.class文件或 jar文件到"jar,class转java"按钮前的输入区,点击"jar,class转java"按钮, 会生成相应的 java文件。 ========================== 内置软件版本: | apktool 1.4.3 | aapt r04 | baksmali 1.3.2 | smali 1.3.2 | dex2jar 0.0.7.9 | asm-debug-all 3.2 | commons-io 2.0 | slf4j 1.5.6 | jad 1.5.8e2 | ========================== ^_^ Enjoy! 2012.3.16 By:漏网之鱼 QQ:530747686
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网安咸鱼1517

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值