APP抓包渗透测试首尝试
2024-5-23 10:20:36 Author: www.freebuf.com(查看原文) 阅读量:3 收藏

前言

文章分为两大部分,一是介绍抓取app数据包的常用方法,二是结合笔者所接触的授权项目,对抓取的app数据包转传统Web渗透测试的小分享。通过阅读文章分享内容,读者能快速了解app渗透测试方式,初步入门APP抓包渗透测试。文章写作初衷依旧是想借助FREEBUF平台回顾并分享自己入门期间的学习成果。最后依旧是再一次特别感谢何君师傅的指导。

**免责声明:**由于传播、利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人自行承担相关法律风险及责任,Freebuf平台、文章作者、工具提供者不对使用者的未授权行为和后果负责。在进行相关知识学习,技术操作时请务必遵守《中华人民共和国个人信息保护法》、《中华人民共和国网络安全法》等相关法律法规。

APP抓包绕过方式

小述:本章节将展示三种通过burp抓取app数据包的常用方式,通过该方式可以抓取大部分对抓包检测不过分严格的APP。至于对抓包检验极为严苛的APP,该如何抓包?这....呃...因授权的相关APP项目不多,无授权项目进行进一步研究,故,文章内容暂时无法涉及更多技巧,待碰到相关授权项目,笔者再进行内容补充。同时,请读者在进行app抓包检测测试或是渗透操作时,务必使用授权资产进行测试,Freebuf平台、文章作者、工具提供者不对使用者的未授权行为和后果负责。

方式一.Burp配置证书抓取模拟器流量与APP流量

前提环境:物理机安装夜神模拟器7、Burp任意版本
过程:
①安装夜神模拟器并配置代理服务器:
image
②Burp设置监听的IP和端口(与模拟器一致)
image
③模拟器下载burp证书
image
image
④修改证书后缀(X.der-->X.cer)
image
⑤证书安装(设置--->安全--->从SD卡中安装) 注意:找到证书存放位置;证书需要导入两次
image
⑥抓模拟器中浏览器的流量包
1.疯狂点击继续,进入浏览器页面
image
2.待页面能正常访问后,关闭安全警告:设置--->隐私和安全--->(隐私和安全)取消勾选
image
3.再次确认burp监听ip和端口
image
4.成功抓到模拟器中浏览器的数据包
image
⑦安装X-APP,尝试通过方式一抓取APP流量包(本小节选取X-APP脱敏资产信息作为参照演示,读者在测试时,请务必使用授权项目做测试)
image

方式二.Xpose框架绕证书校验

1.介绍:
Xposed框架:不修改APK文件的情况下影响程序运行(修改系统)的框架服务 JustTrustMe组件:禁用、绕过 SSL 证书验证

2.实操: 抓Y-APP流量包
①情景铺垫:尝试验证Y-APP是否有证书检验
1.正常配置模拟器代理
image
2.Burp能正常抓模拟器流量包
image
安装Y-APP,尝试抓包,发现app有证书检验,检查到模拟器设置代理后APP将不进行内容界面载入(本小节选取Y-APP脱敏资产信息作为参照演示,读者在测试时,请务必使用授权项目做测试)
image
4.取消模拟器代理设置
image
6.发现不进行代理能进入app内容界面,故:Y-APP做了证书代理校验
image
②Xposed绕过代理检测抓Y-APP流量包
1.模拟器应用商店下载Xposed
image
2.安装Xposed框架
image
3.重启模拟器
image
4.模拟器导入附件资料(JsutTrustMe、JustMePlush),进入Xpose框架中的模块选项,勾选导入的组件,最后重启模拟器
image
5.模拟器设置代理,burp设置监听(具体如上文)
image
6.成功配置Xpose绕过检查抓取流量包
image

方式三.全局代理(绕开证书校验)

一.原因:
部分APP会检测模拟器是否开启代理,开启代理则会禁止访问该APP
二.全局代理流量走向:
模拟器--->全局代理工具--->下一跳地址(Burp)---->发给网卡
三.重点:
IP地址配置(以太网卡地址)
模拟器网卡程序位置,夜神(NoxVMHandle.exe)
四.实操: 抓Y- APP

①Burp设置代理监听
image
②Proxifier设置代理服务器
配置文件---代理服务器---添加---IP、端口(同Burp)、HTTPS---检测---确认
image
③Proxifier设置代理规则
1.模拟器网卡进程
任务管理器--详细信息---NoxVMHandle.exe---右键属性---复制名称
image
2.配置文件---代理规则---添加---模拟器网卡进程名称、动作---确认
image
④全局代理抓包
1.核验,确认模拟器内部未作任何代理
image
2.成功抓到流量包(本小节选取Y-APP脱敏资产信息作为参照演示,读者在测试时,请务必使用授权项目做测试)
image

附件资料

1.Xpose框架+JustTrustMe组件
2.Proxifier v3。42中文版
链接:https://pan.baidu.com/s/10tRffaMVSkyV2ixzoKASLA
提取码:aapp

渗透测试分享

小述:进行渗透测试操作前请务必准守《中华人民共和国个人信息保护法》、《中华人民共和国网络安全法》等相关法律法规。要学会保护好自己,在已确保获得直接测试目标单位的书面授权后才开展相关测试工作。

前章总结:采用一系列方法技巧先抓取到app的数据包
image

一.前期APP抓包准备

①环境测试准备:
确保app正常运行且能抓取到相应数据包。(本节选取Z-APP脱敏资产信息作为参照演示,读者在测试时,请务必使用授权项目做测试)

1.安装授权客户提供的Z-APP后提示ROOT权限风险,在夜神模拟器设置中取消勾选“开启Root”。
image
2.采用抓包方式一,能正常抓到Z-APP流量
image

image

3.踩坑:夜神模拟器取消勾选“开启Root”后还是出现相关报错,排查发现是事先配置Xpose框架,需要卸载Xpose框架或者重新安装夜神模拟器,以新环境开展测试。

4.一些细节分享:
(1)建议先有序点击app内的所有功能点,让burp记录所点击过的数据包,再查看burp记录的数据包数据,可以初步获取一些关键子域资产信息。通过ICP备案或者和授权客户沟通确认burp中的域名资产归属后再开展后续工作,防止打偏。
(2)可在Burp中的target中查看某个资产的目录结构详情,在url后添上该特定目录名,然后进行相应扫描。(在Target截取了C.C.com脱敏资产信息作为参照演示)
(2.1)发现C.C.com资产目录结构里拼接/api/接口信息,尝试选取C.C.com/api/进行相应扫描
image
(2.2)这里使用Afrog(https://github.com/zan8in/afrog)作为扫描演示。通过Afrog扫描探测到Druid登录界面资产,后续可对其进行授权渗透。
注:在使用Afrog等相应工具前,请前往官网查看使用须知。工具使用时,请务必遵守《中华人民共和国个人信息保护法》、《中华人民共和国网络安全法》等相关法律法规。
image

二.开启APP转Web渗透测试

被动扫描

启用被动扫描------初步了解目标功能业务:

①配置优秀的漏洞扫描工具并开启被动扫描,边全局“点点点”熟悉业务功能,边让扫描工具被动扫描漏洞,这里使用绿盟的EZ(https://docs.ezreal.cool/docs/intro/)和长亭的Xray(https://docs.xray.cool/tools/xray/QuickStart)作为被动扫描展示。
注:在使用EZ/xray等相应工具前,请前往官网查看使用须知。工具使用时,请务必遵守《中华人民共和国个人信息保护法》、《中华人民共和国网络安全法》等相关法律法规。

②踩坑:
(1)先查看并熟悉相关工具手册,大致了解工作原理以及使用事项。因为测试时难免会传递一些包含第三方数据请求包(非渗透授权目标资产),如xxx.xxx.cn,xxx.edu ,xxx.org等,需要在EZ和Xray的配置文件做相关黑名单设定,减少不必要的麻烦。
(2)检查Burp上流代理的IP地址和EZ/Xray开启被动监听的IP地址是否一致,保证联动的正常运行。
image
③正式开启扫描:

1.在burp中设置上流代理,EZ/Xray开启被动监听
image
2.EZ被动扫描展示
.zip备份文件泄露:
image
3.Xray被动扫描展示
过时的文件泄露:
image
全部浏览完app功能点后可到EZ/Xray所在目录下查看相应扫描结果,尝试“收个菜”。

主动扫描

主动扫描---对获取的资产信息进行第一轮“漏洞筛选”
这里使用AWVS(https://www.acunetix.com)进行演示。注:在使用AWVS等相应工具前,请前往官网查看使用须知。工具使用时,请务必遵守《中华人民共和国个人信息保护法》、《中华人民共和国网络安全法》等相关法律法规。
①进行被动扫描后,可以在Burp的Proxy选项中看到Http history里的资产目标,HTTP history收录了访问过的所有资产详细,可以在这找到许多子域资产。

1.Burp-->Proxy-->HTTP history:
(在HTTP history中截取了A.A.com和B.B.com脱敏资产信息作为参照演示)
image
②浏览资产详情,尝试将能通过浏览器访问的资产导入AWVS中进行爬虫扫描
(在AWVS中截取了A.A.com脱敏资产信息作为参照演示)
image

image

半手工测试

半手工测试----对获取的资产信息进行进一步的“漏洞筛选”
1.找寻“可疑”目标资产
随着不断在APP内各种点击,burp的Target栏里收录了访问的所有历史资产信息,可以在资产信息中对目标信息进行数据包查看,将“有问题的”资产导入相应的burp插件辅助检测
2.Fastjson
Burp中的Target看到如下post请求携带JSON数据的请求包,尝试盲打fastjson
(在Target中截取了A.A.com,B.B.com,C.C.com,D.D.com脱敏资产信息作为参照演示)
image
3.Burp插件检测
右键导入burp辅助插件GatherBurp(https://github.com/kN6jq/gatherBurp)中进行DNSLOG检测
(在GatherBurp截取了D.D.com脱敏资产信息作为参照展示)
注:在使用GatherBurp等相应工具前,请前往官网查看使用须知。工具使用时,请务必遵守《中华人民共和国个人信息保护法》、《中华人民共和国网络安全法》等相关法律法规。
image

手工测试

对APP内收集到的资产信息进行授权渗透测试,将可通过web访问的资产信息进行信息收集工作
(在资产信息中截取了B.B.com脱敏资产信息作为参照演示)

1.进行目录扫描时发现报错界面,借助Wappalyzer插件和Nday信息发现疑似存在TinyMCE 4漏洞
image
2.结合报错返回信息和TinyMCE 4漏洞详情,进行xss漏洞检测:输入(123456<>’”),检测网站对特殊字符的过滤情况
image
3.结合网站对特殊字符的过滤情况,尝试闭合标签进行弹窗验证XSS漏洞.
image

结语

尝试一系列方式抓取APP内所有数据包信息,获取目标资产信息后,进一步对数据包内容进行修改,根据返回结果信息进行漏洞挖掘。
image


文章来源: https://www.freebuf.com/articles/web/401654.html
如有侵权请联系:admin#unsafe.sh