漏洞发现—APP应用之漏洞探针类型利用修复

漏洞发现—APP应用之漏洞探针类型利用修复

20210512122227

思路说明:

反编译提取URL或抓包获取url,进行web应用测试,如不存在或走其他协议的情况下,需采用网络接口抓包进行数据获取,转至其他协议安全测试!

案例1:抓包精灵

Android抓包软件,可以安装到手机上,不需要过多设置,即可抓住手机上app产生的http/https包并自动解析,确定是只能看不能操作。

地址:https://github.com/huolizhuminh/NetWorkPacketCapture/releases/tag/1.0.4

案例2:ApkAnalyser

简介:一键提取安卓应用中可能存在的敏感信息。

用法:将所有app放到程序自动创建的apps目录,再运行主程序就好了,不用加参数。

功能:目前提取了APK内所有字符串、所有URLs、所有ip、可能是hash值的字符串、存在的敏感词(如oss.aliyun)、可能是accessKey的值。

地址:https://github.com/TheKingOfDuck/ApkAnalyser//releases/download/1.0/apkAnalyser.zip

案例3:xray与burp联动被动扫描

参考:https://www.cnblogs.com/L0ading/p/12388928.html

思路说明:

反编译提取 URL 或抓包获取 URL,进行 WEB 应用测试,如不存在或走其他协议的情况下,需采用网络接口抓包进行数据获取,转至其他协议安全测试!

APP->WEB APP->其他 APP->逆向

WEB 抓包,其他协议抓包演示及说明

未逆向层面进行抓包区分各协议测试

逆向层面进行提取 APK 代码层面数据

抓包工具WEB协议面使用说明
burpsuite抓包

burpsuite优点:在“HTTP history”记录历史数据包,且可以排序,点击空白处还可以筛选数据包;可以抓包还可以在线提交测试,可以做漏洞扫描

抓包前设置代理:在模拟器上将本机设为代理,注意不是127.0.0.1;在burpsuite上也添加对应的代理并勾选

使用需要抓包的app,产生大量数据包

数据包的“Host”数据以“http://”开头,可知其为HTTP数据包;“Params”处有对勾“√”说明该数据有参数,可以测试漏洞;“Extension”为文件类型,“Status”为状态码

将“Host”中的网址输入到浏览器,发现是网站,按照网站思路测试

Charles抓包

抓包前设置代理:“Proxy”“Proxy Settings…”填写HTTP代理的端口,然后选择“Proxy”“Windows Proxy”

使用需要抓包的app,产生大量数据包

Charles会将抓包产生的数据按网址分类,每次产生新数据时,对应的网址会有黄色高亮,注意排除调用接口

选择网址会显示有关的数据,有的能够显示网站的结构,有的只能显示抓取的数据包

将与app相关的网址输入到浏览器,无法访问,只有用手机的数据包才能访问

只能修改数据包来访问,如何做漏洞扫描:在扫描工具的设置里面修改扫描的http头部/被动扫描

抓包精灵抓包

打开软件,点击右上角的箭头

使用需要抓包的app,产生大量数据包

回到抓包精灵,数据包分条显示,内容包括app的图标和进程,点开有详细信息

抓包精灵只抓WEB协议

Fiddler与Charles用法类似

抓包工具非WEB协议面使用说明
wireshark抓包

选择要抓取的网络接口,由于手机模拟器使用的本机网络出口,所以这里抓取本机的网络出口,也就是“以太网”,显示的IP地址和本机的一致

软件左上方,红色方块表示暂停,蓝色鲨鱼鳍代表开始抓包,可以筛选

选择一条数据,下方会显示数据包的内容

安卓逆向便捷APK一键提取URL演示
漏了个大洞\apk数据提取

将apk文件放在“apps”文件夹下

运行apkAnalyser.exe

程序会在“result”文件夹下创建以apk文件名命名的文件夹来存放反编译文件

文件夹中有“urls.txt”存放apk中涉及的网站,没有该文件则没有对应内容

建议逆向和抓包并用,综合获取的信息

利用Burp筛选及联动功能打出军体拳
xray联动burpsuite(awvs也可以)

burpsuite到“User options”“Connections”的“Upstream Proxy Servers”部分,添加一条代理规则:“Destination host”为“*”,意为转发一切内容,“Proxy host”为“127.0.0.1”,“Proxy port”填写一个未被占用的端口。别忘记勾选

在模拟器上将burpsuite设置为代理

管理员运行PowerShell,来到xray的文件夹,“.\xray_windows_amd64.exe”

执行命令“.\xray_windows_amd64.exe webscan –listen 127.0.0.1:端口号”来监听端口,端口号与前面一致

使用需要抓包的app,产生的数据因为代理会先发送到burpsuite,burpsuite再转发给xray

可以在xray再加参数,将扫描结果保存到本地

xray与burp联动被动扫描

0X00xray建立监听

在实际测试过程中,除了被动扫描,也时常需要手工测试。这里使用 Burp 的原生功能与 xray 建立起一个多层代理,让流量从 Burp 转发到 xray 中。

首先 xray 建立起 webscan 的监听

.\xray_windows_amd64.exe webscan –listen 127.0.0.1:7777 –html-output proxy.html

使用该命令建立起监听

Snipaste_2022-05-30_06-36-09

0X01对brup端进行配置

进入 Burp 后,打开 User options 标签页,然后找到 Upstream Proxy Servers 设置。

点击 Add 添加上游代理以及作用域,Destination host处可以使用*匹配多个任意字符串,?匹配单一任意字符串,而上游代理的地址则填写 xray 的监听地址。

Snipaste_2022-05-30_06-36-23

参考链接:

1
https://www.cnblogs.com/L0ading/p/12388928.html

涉及资源

1
2
3
4
https://www.wireshark.org/download.html
https:/www.charlesproxy.com/latest-release/download.do
https://github.com/huolizhuminh/NetWorkPacketCapture/releases
https://pan.baidu.com/s/1UGro7nQoBpT9vYRONsQi4w 提取码:xiao