查看原文
其他

HTTPS抓包与手机抓包,看这一篇就够了

Mocha Lee 燕幕自安 2021-03-07

点蓝字

关注我


1

前言

关于抓包的话题我之前也写过,这次主要针对HTTPS与手机抓包。最近这方面工作做的不少,一边记录一边分享。


2

正文

01

HTTPS抓包

对于HTTPS的抓包在之前我的文章中也写到过,链接我贴在这里。主要是使用Fiddler4来实现的,上次说过的,这次就不说了,看上面的链接。

不可否认,Fiddler4是在windows下是很友好、很好用的网络分析软件了,它主要针对HTTP(S)协议,不仅仅可以做报文获取,重发等功能也很好用。

这次要介绍的是另一个神器--Charles.

原理:所有针对HTTPS抓包的原理都是一样的,通过做中间代理人,可观察到明文报文,类似于中间人攻击(MITM),如果要理解这一点需要对HTTPS的密钥交换和证书有所了解。不赘述。

下面有请Charles出场。

姓名:Charles

用途:HTTP协议网络报文分析

(Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).)

适用平台:Windows、Mac、Linux

下载地址:https://www.charlesproxy.com/download/

下载完成,正确安装之后,试用版本需要在打开时等待10s,破解也很简单,(链接:http://pan.baidu.com/s/1qYTz48s 密码:t9el)将jar文件替换到charles安装目录下的lib目录中即可。

然后是配置安装根证书,为了让计算机信任我们的证书,我们需要将Charles提供的证书安装在计算机上,如下:

如果此时证书还是不被信任的,让不信任变成信任:打开IE浏览器—>工具—>Internet选项—>内容—>证书—>把中级证书颁发机构中的charles证书导出来—>再把导出来的证书导入到受信任的根证书颁发机构中。这样就ok了。

这样的环境只能抓取非SSL加密的报文,如果需要抓取SSL加密的链接,继续设置SSL。如下:

(写*:443是为了抓取去往所有站点的443端口数据)

现在就可以拦截所有HTTPS数据报文了。如下:


02

手机数据抓包

针对手机数据抓包,给出两个办法。

  1. 使用上述Charles配置的环境,对手机报文抓取

  2. 利用手机APP Packet Capture 拦截收集数据报文

下面分别说这两种方案。

方案1

之前我们已经部署好了Charles抓包的环境,现在我们只要将手机的数据报文流经PC上的Charles即可。

为此,我们将电脑和手机链接在同一局域网内(使用同一wifi即可),然后查看计算机的ip地址,windows之下使用cmd命令ipconfig即可,然后在手机连接Wifi的界面设置代理,如下:

charles默认代理端口为8888,如果修改了此处对应修改。

安卓也有类似的操作界面,长按修改网络什么的。(暴露了自己的土豪手机hiahiahia)。

设置好以后需要在手机端安装证书,在浏览器里访问chls.pro/ssl 来自动下载安装证书(需要设置手机解锁密码)。

安卓手机到这一步就完成了,【重要】iphone手机需要在设置->通用->关于手机->证书信任设置里面打开该证书的开关。

此时,在手机里使用APP,在Charles里面就能看到访问的数据信息了,包括HTTPS。(初次连接的手机Charles会弹窗需要点一下Allow)

方案2

Packet Capture是很强大的一个网络分析APP,在我分析华为云备份的协议报文时,手机始终不信任Charles证书,所有报文均被加密,后来是该应用拯救了我。使用简便,不用证书等设置,下载打开即可使用。

        APP在Google应用市场就有,不能翻墙的话,点这里下载:https://www.coolapk.com/apk/app.greyshirts.sslcapture

        安装完成后界面如下:

点击绿色箭头进行全局捕获,点击带1那个绿色箭头可对某一应用分别捕获。

完成后,点击列表中的某次抓取查看详情。如下:

在该界面,点击右上角的下载按钮可以保存文件成pcap格式,通过PP助手等导出后可以在PC上的WireShark上打开分析。


3

后记

最近做了很多协议逆向的工作,感觉协议逆向要是和APP逆向结合起来才嗯那个威力更大,不然在协议中莫名其妙出现的密文或者不知名的字符串等,根本无法破解,需要与APP逆向结合,才能完整了解和模拟整个通信协议。

以上提到的软件(wireshark、charles、fiddler4、packet capture)均是我正在使用的,如果你有使用上的障碍或者有好的软件推荐,请在后台留言(留言请注明邮箱,我看到会回复邮件说明)与我取得联系。

如果觉得文章靠谱,也请该文章给需要的人。

谢谢支持!





        非经过本人同意,严禁转载。

        如有问题,请关注公众号留言(注明邮箱),我看到会及时回复的。



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存