关闭

Wireshark和Fiddler分析Android中的TLS协议包数据(附带案例样本)

2739人阅读 评论(2) 收藏 举报
分类:

一、前言

在之前一篇文章已经介绍了一款网络访问软件的破解教程,当时采用的突破口是应用程序本身的一个漏洞,就是没有关闭日志信息,我们通过抓取日志获取到关键信息来找到突破口进行破解的。那篇文章也说到了,如果这个app应用没有日志信息,我们该怎么办呢?那么这时候就需要采用抓包来寻找突破口了。


二、安装Fiddler证书

我们通过Fiddler连接手机进行抓包查看,应用访问数据信息都是用的HTTPS协议,也就是加密的数据,我们可能无法查看,比较麻烦,本文就来讲解如何查看这些加密数据了。



首先我们知道Fiddler抓包工具是可以抓HTTPS数据的,就是把Fiddler证书安装到设备中即可。安装过程也很简单:

第一步:导出Fidder的证书文件


进入Fiddler选项中:


然后直接选择导出证书到桌面即可。


第二步:把证书安装到设备中

先把上一步导出来的证书文件,放到设备的SD目录下,然后在设备中直接打开这个证书文件,会提示安装信息,当然这里在老版本系统中,可能还需要去设置页面进行操作:


在设置中,选择安全,然后选择从SD卡安装证书,就可以正常安装了。安装成功之后,可以查看这个证书信息:



三、抓取样本app的数据包

这样,我们的设备就有了Fiddler证书,这时候在用Fiddler抓包会看到正常的HTTPS协议数据了:


我们可以查看返回的数据信息:


可惜的是,这里的数据显示是不全的。所以这时候,我们得想办法获取返回的全部数据,可以借助Wireshark工具进行操作了,而Wireshark工具相对于Fiddler工具来说会分析的更加详细,但是Fiddler更加方便快捷。但是Wireshark工具只能在PC端抓包运行,所以如果想用这个工具抓取手机端数据的话,可以用两种方式:

第一种:Wireshark+Fiddler工具

Fiddler作为手机端的代理在PC上访问流量。然后Wireshark可以抓取PC上的请求,这样来做到用Wireshark抓取手机端的请求。

第二种:Wireshark+tcpdump工具

当然我们还可以利用tcpdump工具来直接抓取手机端的请求数据,一般保存为pcap文件格式,然后在PC端用Wireshark来分析pcap文件格式即可。关于tcpdump如何抓包生成pcap文件,可以自行搜索即可。这里不做解释了。

很多同学会考虑第二种,但是第二种会失败的,因为这里需要抓取HTTPS协议的数据,所以有证书相关的信息,如果直接用tcpdump工具抓包生成文件,然后用Wireshark工具分析是会失败的。因为Wireshark分析TLS协议数据是需要设置证书信息的,不然是解析失败的。所以这里采用第一种方式进行操作。


四、Wireshark分析TLS数据包

因为Wireshark分析TLS协议的数据是需要设置证书信息的,不然看到的也是加密数据信息:


那么这里的问题其实就转化成,如何利用Wireshark来解密TLS数据信息了,这个就比较简单了,我们可以借助浏览器自动生成的证书信息,来作为解密的工具。这里需要借助一个知识点:就是浏览器在访问HTTPS协议信息的时候都会有这么个提示:


让我们信任这个证书:


然后,我们确认安全,这时候,如果设置了一个系统环境变量。浏览器会把证书信息保存到指定文件中的,这个系统环境变量就是:SSLKEYLOGFILE,然后自定义一个SSLKEY的保存文件名称即可。


因为我们在上面用Fiddler可以抓到HTTPS请求链接的,这时候我们把这个链接放到浏览器中访问一次:


然后就会有相对应的SSLKEY数据保存下来了,可以去看看这个信息:



这样我们就弄到了这个url对应的证书信息了,这里可以看到其实是借助浏览器的功能获取到的,下面就来Wireshark中设置这个证书信息:


在Wireshark的Edit->Preferences->Protocols->SSL,设置刚刚保存的SSLKEY信息文件位置,保存即可。


下面就来开始抓包分析吧,在启动Wireshark抓包的时候,可能有的同学无法看到抓包的网络接口信息:


这个就需要启动系统的npf服务了,我们可以这么做:

01、在开始–>运行
02、输入:%windir%/system32
03、将会开启一个文件夹窗口,在里面找到CMD.EXE(cmd.exe)
04、点击右键,选择"以管理员身份运行"
05、输入命令:net start npf
06、系统提示NetGroup Packet Filter Driver 服务已经启动成功。
07、至此,Wireshark再点击Interfaces list就可以正常选择需要捕捉的接口了。
08、如果需要关闭此服务,是要在命令行输入命令:net stop npf 即可。


操作成功之后,再去Wireshark选择接口列表信息就有了网络接口信息了:


这里运行的时候,一定要记得把本地连接和无线网络连接都选择上,以免请求被遗漏:



点击开始之后,就会发现很多请求在刷屏,为了想看到我们关心的数据,可以利用一些过滤规则来进行过滤,而这里其实有很多过滤规则命令的,感兴趣的同学可以自行搜索操作实验即可,这里我们只想看到SSL协议的请求信息:


然后我们在利用浏览器去刷新刚刚那个HTTPS的请求,会发现多了很多TLS协议请求,如果这里没有设置上面的SSLKEY信息的话,看到的都是加密信息:


这里简单说一下TLS协议的原理,直接盗了网上的一张图:


设置了SSLKEY信息之后,就可以看到Application Data会被解密:


而且,这时候,底部会多出一个Decrypted SSL选项卡。这里解密之后会发现在SSL层后面多了一个超文本传输层,也就是HTTP等信息了。然后我们在选中这条信息,右键查看他的HTTP信息流:


记得是有OK字样的那条HTTP协议数据信息条目,这里是因为已经解密了,所以看到的是HTTP协议:



五、解密返回数据信息

这里就可以清晰的看到这次请求信息和返回信息了。然后我们把这部分的数据,在用AES进行解密:


看到打印的结果就是一个返回json信息:


关于这里的解密方法,之前一篇文章在用Jadx分析样本已经看到了:


我们直接把这个方法拷贝出来,写一个简单的Java成功就可解密了。不了解的同学去回顾上一篇介绍的内容吧。


六、TLS知识点总结

好了,到这里我们就介绍完了,如何利用Wireshark和Fiddler这两个抓包神器,解密HTTPS请求信息。关于TLS协议可能有的同学还不太了解,而且他和SSL的区别是啥,其实TLS是SSL的升级版:


现在很多协议都会用到TLS了,而且TLS1.3版本已经出来了。比如WX就采用了这个协议进行数据加密的。我们有了这个技能之后,后面就可以很轻松的分析TLS协议数据了,当然我们一定要熟练掌握Wireshark这个工具的用法,我们在学习过网络工程课的时候,都知道网络协议栈,比如物理层,网络层,传输层,应用层:


我们在上面看到Wireshark的底部信息栏中也是有这么几层信息的:


在SSL层,需要解密才能看到后面的超文本传输层协议的详细信息了,也就是上面的解密方法进行操作的结果。


七、问题解惑

其实看到这里有的同学会有好奇的地方:

  • 第一个:开始利用Fiddler可以直接进行解密数据了,为何还要用Wireshark去抓包呢?因为我们可以看到Fiddler抓取的信息是不全的。当然有时候可能是全的,那么就不需要在用Wireshark进行抓包分析了。
  • 第二个:在把Fiddler中抓取到的链接放到浏览器中访问,生成对应的SSLKEY信息文件。在浏览器中不是直接可以看到返回数据了吗?为什么还要用Wireshark进行抓包呢?这个的确是可以看到全部的返回信息在浏览器中访问的话,但是利用Wireshark抓包是为了更加信息的看到TLS协议的访问流程。这个也是为了以后熟练操作做准备。

在逆向研究中,有时候抓包是一个非常重要的一个突破口点。所以抓包分析包信息也是至关重要的技能。


严重声明

本文介绍的内容只是为了逆向技术探讨,绝对不允许不法分子进行恶意用途。而涉及到安全隐患,本文提到的样本,加编码美丽技术圈,留言我的真实姓名,发放仅供参考分析而已。


《Android应用安全防护和逆向分析》

点击立即购买:京东  天猫

更多内容:点击这里

关注微信公众号,最新技术干货实时推送

编码美丽技术圈
微信扫一扫进入我的"技术圈"世界

扫一扫加小编微信
添加时请注明:“编码美丽”非常感谢!
3
0
查看评论

Android中免root的hook框架Legend原理解析

Android中hook框架已经非常多了,最优秀的当属Xposed和Substrate了,这两个框架我在之前的文章都详细介绍过了,不了解的同学,可以转战这里:http://www.wjdiankong.cn;但是这两个框架用于破解逆向是非常有用的,可惜他们最大的局限性就是需要root权限,这个几乎现...
  • jiangwei0910410003
  • jiangwei0910410003
  • 2017-07-10 08:41
  • 7299

2016这一年,回顾我们一起走过的"编码美丽"之路!

不知不觉"编码美丽"已经一岁多了,感谢大家对我的支持和陪伴,在这一年中我们一起学习一起进步。下面就来总结一下本年度"编码美丽"给大家带来的精彩内容,让错过的同学再一次回顾!​逆向篇Android中静态方式破解apkAndroid中动态调试smali源码Andr...
  • jiangwei0910410003
  • jiangwei0910410003
  • 2017-01-19 18:33
  • 7500

Android逆向之旅---Android手机端破解神器MT的内购VIP功能破解教程

在破解app的时候,我们现在几乎都是在PC端进行操作,但是之前bin神的MT管理器,可以在手机端直接破解,不过也有很大的局限性,但是对于一些简单的app破解没问题的。这个工具其实原理也很简单,就是解析apk中的dex,arsc等文件,然后支持修改其中的类方法信息和资源信息,然后在二次打包签名即可。其...
  • jiangwei0910410003
  • jiangwei0910410003
  • 2017-10-29 14:17
  • 2071

Android逆向之旅---Android中的GG大玩家应用破解教程分析

之前介绍了如何破解手机端的破解神器MT管理器:点击查看;一直有人让我出一篇关于这个工具如何使用破解教程,可是发现好多应用搞不定,所以就一直没去弄了。今天感谢BinCrack同学的投稿研究,分析教程很详细。一、前言相信提起手游辅助界一免ROOT辅助神器——GG大玩家大家都不陌生,在本人印象中他应该是业...
  • F0ED9cZN4Ly992G
  • F0ED9cZN4Ly992G
  • 2017-12-04 00:00
  • 461

Wireshark和Fiddler分析Android中的TLS协议包数据(附带案例样本)》》》原文链接

原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/77720411 一、前言 在之前一篇文章已经介绍了一款网络访问软件的破解教程,当时采用的突破口是应用程序本身的一个漏洞,就是没有关闭日志信息...
  • AriesZhao23
  • AriesZhao23
  • 2017-09-18 10:21
  • 260

Wireshark 认识捕获的分析数据包(及各个分层协议的介绍)

综述:认识Wireshark捕获数据包 当我们对Wireshark主窗口各部分作用了解了,学会捕获数据了,接下来就该去认识这些捕获的数据包了。Wireshark将从网络中捕获到的二进制数据按照不同的协议包结构规范,显示在Packet Details面板中。为了帮助用户能够清楚的分析数据,本节将介绍识...
  • u013258415
  • u013258415
  • 2017-09-12 09:52
  • 1378

使用wireshark分析TCP ——以HTTP协议为例

1. 对以太网帧、ip数据报、TCP报文结构的分析以南邮图书馆网站为例,图书馆网址为:http://lib.njupt.edu.cn,对应的IP地 202.119.224.202。 设置wireshark的过滤条件为”ip.addr == 202.119.224.202”,得到下面结果: 双击第...
  • cclethe
  • cclethe
  • 2017-06-16 20:55
  • 492

fiddler结合wireshark抓取安卓手机数据包

之前在找抓取安卓手机数据包方式时看到可以通过fiddler,在手机端设置代理后,这样手机端的数据就会通过代理,也就是通过本机电脑出入数据包,这样通过fiddler就可以很方便的抓取到http数据流。 于是我就想,既然手机端设置代理后,fiddler能够抓取到数据,说明手机请求的数据包是通过电脑的网...
  • jiujiu372
  • jiujiu372
  • 2017-06-29 08:51
  • 1203

网络抓包及Http Https通信协议分析

Wireshark基本介绍和学习TCP三次握手 之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS。 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。 记得大学的时候就学习过TCP的...
  • txl16211
  • txl16211
  • 2014-10-24 13:38
  • 9149

联调扯皮的分歧解决办法------抓包(wireshark, tcpdump, fiddler)

你用java打日志, 我用C++打日志, 联调扯皮一堆事, 抓包才客观, 而且抓包不需要重新去加代码编译。 爽爽哒。
  • stpeace
  • stpeace
  • 2016-03-02 23:12
  • 3123
    《Android应用安全防护和逆向分析》正式开售
    《Android应用安全防护和逆向分析》

    360创始人周鸿祎、CSDN创始人蒋涛、看雪创始人段钢联袂推荐

    零基础学习移动安全逆向,手把手带你进入安全逆向领域!安全不息,逆向不止!让别人的应用都成为我们手中的炮灰!

    读者技术交流QQ群:682646223



    购买地址: 京东 天猫
    技术分享微信公众号
    扫一扫关注

    关注公众号留言可咨询问题和技术交流,推送最新技术文章!
    酱爆短视频
    酱爆短视频



    全球首款短视频聚合应用「酱爆视频」正式发布上线

    别人等车干着急,我在酱爆看视频

    想你说想,为你所做!

    不负众望,就在酱爆!

    点击查看详情
    微信扫一扫加入安全逆向圈

    友情链接
    个人资料
    • 访问:5673171次
    • 积分:32240
    • 等级:
    • 排名:第169名
    • 原创:306篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1667条
    博客专栏
    文章分类