目录
- 文章思路说明
- 案例演示:
- 抓包工具WEB协议面使用说明
- 抓包工具非WEB协议面使用说明
- 安卓逆向便捷APK一键提取URL演示
- 利用Burp筛选及联动功能打出军体拳
- 模拟器四个违法案例APP安全分析测试
- 涉及资源:
逆向只会涉及到相关工具的使用,不会涉及到原理,因为我们讲的是安全测试,不是逆向破解的知识点
文章思路说明
我们在平时测试的时候,会碰到苹果、安卓,苹果的操作系统比较封闭,所以我们在苹果上面做的反编译相对困难,我们做的演示大部分都是集中在安卓上进行
我们要提前准备一台手机和安卓的模拟器,一般我们会采用反编译提取URL,就是安卓的apk文件里面涉及到的url,IP地址;第二种形式采用抓包获取URL,这种是建立在我们反编译逆向程序上去测试的,如果不采用逆向反编译的,就安装好apk程序之后,采用抓包程序,获取app里面涉及到的网站和IP信息,由于他涉及到url和ip,我们就可以从这里面转向到web测试,因为他这里面会涉及到网站协议相关的东西,我们在实战情况下,这两个方法都要采用避免部分的东西你没有看到,信息收集的不够全面,也会导致后期的问题
进行WEB应用测试,如不存在url、IP或走其他协议的情况下,app通常走网站协议,但是有部分app不会走网站协议,数据的传输、app的运行,他会走其它协议,这种情况下有些抓包工具就会束手无策,我们就需要采用网络接口的抓包工具来抓取,TCP的协议、UDP的协议,各种各样的协议他都抓,因为走的不是web协议,我们对它的渗透思路就是要转到其它的协议,那就是关于非web协议的安全测试该如何进行
#APP->WEB APP->其他 APP->逆向
#WEB抓包,其他协议抓包演示及说明
#未逆向层面进行抓包区分各协议测试
#逆向层面进行提取APK代码层面数据
案例演示:
抓包工具WEB协议面使用说明
BP是有相应的功能集中在上面,虽然它的抓包功能没有像Charles、Fiddler、抓包精灵工具那么好用,但是它上面集成的功能,可以让我们便捷的去测试,所以我们也会用到BP,考虑到BP的抓包工具不够全面,我们会优先使用Charles、Fiddler、抓包精灵工具,这三款工具是目前在市面上公开使用比较广的,Fiddler、抓包精灵是安装在手机这种移动端上面的,不是安装到我们电脑上面的
如果是其它协议的,我们就采用wireshark全能的抓包工具去抓
0x01.Burpsuite
尽可能地翻,不用管,尽可能的产生相关的数据包,多点数据包产生的越多
数据包都点完之后,我们就可以随便看一下数据包了,筛选出id的
找到域名之后,我们就可以对网站进行简单的访问和测试
0x02.Charles软件使用
charles抓包工具下载地址:https://www.charlesproxy.com/latest-release/download.do
我们使用这款工具的时候,不要跟BP冲突了
抓包前设置代理:“Proxy”"Proxy Settings…“填写HTTP代理的端口,这里监听8888
选择"Proxy”“Windows Proxy”,windows代理选中,这里就会监听到
我们看到数据包就出现了
这是我们刚才操作的数据包都有显示
这边把网站的目录架构都给展示出来了,这就相当于自动帮你做爬虫
这个打开出现404,APP里面涉及到的网站有相应的检测,具有唯一性,就是它只能在APP、手机端打开,对这个网站进行访问,手机客户端和电脑访问是有明确的区别的,这就是浏览器的内核不一样,你如果是用苹果那就是iso,数据包请求的时候明显就不一样,这就是为什么有些网站用手机和电脑打开就不一样的原因,这是因为网站有检测你是用什么客户端访问的,它检测到你是用电脑端访问的,就不让你看到信息,只允许手机,这个时候也可以通过在电脑上面伪造手机端去访问
这个是电脑访问的数据包
这个是手机访问的数据包,数据包的结构首先就不一样,浏览器信息也不一样,我们必须按照下面的数据包去请求才能访问到
利用扫描工具,设置里面,修改扫描的http头部信息或xray被动扫描都可以对目标进行扫描
Charles整体来说抓的比较全面,就是很清晰明了,涉及到域名,但是缺点是拓展性不强,仅仅只能看数据包
0x03.抓包精灵app使用
抓包精灵地址:https://github.com/huolizhuminh/NetWorkPacketCapture/releases/tag/1.0.4
Android抓包软件,可以安装到手机上,不需要过多设置,即可抓住手机上app产生的http/https包并自动解析,确定是只能看不能操作。
打开软件,点击右上角的箭头
使用需要抓包的app,产生大量数据包
回到抓包精灵,数据包分条显示,内容包括app的图标和进程
每个APP在开发的时候都会有兼容性问题,app开发多了,就会对安卓的兼容性变差
点开有详细信息
这个工具只抓APP的WEB协议
抓包工具非WEB协议面使用说明
有些app打开不走web协议的,那就只能用wireshark,不是web协议的,wireshark也能抓到,我们要区分app走的是不是web协议,从而判断是否进入下一步
选择要抓取的网络接口,由于手机模拟器使用的本机网络出口,所以这里抓取本机的网络出口,也就是“以太网”,显示的IP地址和本机的一致
软件左上方,红色方块表示暂停,蓝色鲨鱼鳍代表开始抓包,可以筛选
通过本地地址和远程地址的区别,来分析是不是APP的数据包
http的数据包也能抓到,只是比较麻烦,你需要自己进行筛选
选择一条数据,下方会显示数据包的内容
安卓逆向便捷APK一键提取URL演示
漏了个大洞
简介:一键提取安卓应用中可能存在的敏感信息。
用法:将所有app放到程序自动创建的apps目录,再运行主程序就好了,不用加参数。
功能:目前提取了APK内所有字符串、所有URLS、所有ip、可能是hash值的字符串、存在的敏感词(如oss.aliyun)、可能是accessKey的值。
ApkAnalyser工具下载地址:https://github.com/TheKingOfDuck/ApkAnalyser//releases/download/1.0/apkAnalyser.zip
将apk文件放在"apps"文件夹下
运行apkAnalyser.exe,会自动反编译apps里面的文件
程序会在“result”文件夹下创建以apk文件名命名的文件夹来存放反编译文件
文件夹中有“urls.txt”存放apk中涉及的网站,没有该文件则没有对应内容
这些网站可能就是跟APP套用的
建议逆向和抓包并用,综合获取的信息,因为多一个目标,相当于在测试的时候,多一条机会,多一条深入
逆向提取和抓包提取是两码事,一个是代码中寻找跟app挂钩的网站数据,还有一种是抓包里展示出来的东西,这两个是不一样的
利用Burp筛选及联动功能打出军体拳
因为有些从APP里面提取出来的目标,无法用web协议访问,这个时候可以用BP把app链接提取出来,然后给xray扫描,然后在转发给BP去访问,从而解决非web协议无法访问到的问题
模拟器四个违法案例APP安全分析测试
看似是APP,其实是网站,没有什么好讲的,只是app外面有个包装,你把他撕开就是那个情况
apk代码里面有个功能,但是这个代码功能并没有在安装app之后里面有这个触发,比如apk代码里面有数据库连接,但是这个数据连接并没有在app里面有这个触发,这个时候我们利用反编译改代码之后,就可以把它调用,让app在使用的时候调用这个代码
安卓逆向里面的代码基本上是java的,没有学过,看不懂代码是很难的,因为逆向基本上是会去修改代码,再把它打包,再把它编译,你懂开发,学了之后,你也看不懂
会安卓逆向出去吹吹牛也挺好的
涉及资源:
抓包精灵地址:https://github.com/huolizhuminh/NetWorkPacketCapture/releases/tag/1.0.4
ApkAnalyser工具下载地址:https://github.com/TheKingOfDuck/ApkAnalyser//releases/download/1.0/apkAnalyser.zip
xray与burp联动被动扫描参考文章:https://www.cnblogs.com/L0ading/p/12388928.html
wireshark下载地址:https://www.wireshark.org/download.html
charles抓包工具下载地址:https://www.charlesproxy.com/latest-release/download.do
apk数据提取下载:https://pan.baidu.com/s/1UGro7nQoBpT9vYRONsQi4w 提取码:xiao