数据抓包及分析实战-2

admin 2024年8月5日22:52:13评论10 views字数 3357阅读11分11秒阅读模式
紧接上篇文章《数据抓包及分析实战》这一次具体的抓包细节
1、抓包工具
fiddler:这个在windows下使用比较友好,这个是微软官方出的,对于植入证书和抓包展示比较方便,易上手
charles:全平台下面,不需要其他环境配置,安装即可使用,配置证书也比较方面,但是不免费,网上有不少研究破解的,特点可以抓取websocket流量而且可以编辑重发
burpsuite:全平台,需要java环境配置,需要手工植入证书,不免费,可以破解,这个对于安全专业人员比较算是神器,安全人员不会用这个可以认为没有入门
mitmproxy:python版抓包工具,没有界面,属于引擎类型,开源免费,可以基于这个做扫描器,上手成本比较高,但是会用了算是比较高手了
Yakit:国产抓包分析工具,有点类似于burp,打的旗号也是无缝替代,并且支持插件和编程,不过对我来说,burp的地位是无可替代的,用不习惯这个。
chrome插件:这个属于基于chrome环境编写的抓包工具,类似于开发者工具,但是可以根据自己的需求进行数据包修改,对于https无需证书植入,但是需要进行自研,曾基于这个抓包工具写了sql注入扫描插件,产出还行,几千块钱吧,缺点是会影响上网性能。

2、HTTP协议

先看个http的数据包:
数据抓包及分析实战-2
(1)request请求方法

HTTP1.0 定义了三种请求方法:GET, POST 和 HEAD方法。

HTTP1.1 新增了五种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

HEAD方法主要是为了探索资源在不在,这个一旦批量出现很大可能是在扫描

PUT:PUT方法用于请求服务器把请求中的实体存储在请求资源下,如果请求资源已经在服务器中存在,那么将会用此请求中的数据替换原先的数据。向服务器上传指定的资源。
注:一般情况下为了防止出现安全问题,只允许GET和POST方法即可
(2)HTTP请求头信息
Host 请求报头域主要用于指定被请求资源的Internet主机和端口。
User-Agent 请求报头域允许客户端将它的操作系统、浏览器和其他属性告诉服务器。
Referer 包含一个URL,代表当前访问URL的上一个URL,也就是说,用户是从什么地方来到本页面。当前请求的原始URL地址。
Cookie 是非常重要的请求头,常用来表示请求者的身份等。

(3)HTTP响应头信息

Allow 服务器支持哪些请求方法(如GET、POST等)。
Content-Encoding 文档的编码(Encode)方法。
Content-Type头指定的内容类型。
Content-Length 表示内容长度。
Content-Type 表示后面的文档属于什么MIME类型。
Set-Cookie 设置和页面关联的Cookie。
WWW-Authenticate 客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的应答中这个头是必需的。
(4)HTTP的状态
HTTP协议是无状态的,所有有了会话的概念会话ID可以通过一种称之为Cookie的技术在请求消息中进行传递,也可以作为请求URL的附加参数进行传递。会话ID是WEB服务器为每客户端浏览器分配的一个唯一代号,它通常是在WEB服务器接收到某个浏览器的第一次访问时产生,并且随同响应消息一道发送给浏览器。
会话过程由WEB服务器端的程序开启,一旦开启了一个会话,服务器端程序就要为这个会话创建一个独立的存储结构来保存该会话的状态信息,同一个会话中的访问请求都可以且只能访问属于该会话的存储结构中的状态信息。
(5)抓包分析看啥-请求
数据抓包及分析实战-2
(6)抓包分析看啥-响应码、页面内容

1xx:信息提示,表示请求已被成功接收,继续处理。

2xx:请求被成功提交。

3xx:客户端被重定向到其他资源。

4xx:客户端错误状态码,格式错误或者不存在资源。

5xx:描述服务器内部错误。

3、基于charles的WEB端抓包实战

先看下charles的界面,相对于bp来说UI比较漂亮
专有功能:小乌龟是龟速网络模拟,在测试中可以用得到
数据抓包及分析实战-2
界面展示:
数据抓包及分析实战-2  数据抓包及分析实战-2

4、移动APP抓包实战

(一)证书锁定(SSL Pinning)

证书锁定(SSL/TLS Pinning)顾名思义,将服务器提供的SSL/TLS证书内置到移动端开发的APP客户端中,当客户端发起请求时,通过比对内置的证书和服务器端证书的内容,以确定这个连接的合法性。

证书锁定(SSL/TLS Pinning)提供了两种锁定方式:Certificate Pinning 和 Public Key Pinning

  • Certificate Pinning:
我们需要将APP代码内置仅接受指定域名的证书,而不接受操作系统或浏览器内置的CA根证书对应的任何证书,通过这种授权方式,保障了APP与服务端通信的唯一性和安全性,因此我们移动端APP与服务端(例如API网关)之间的通信是可以保证绝对安全。但是CA签发证书都存在有效期问题,所以缺点是在证书续期后需要将证书重新内置到APP中。
  • Public Key Pinning:
公钥锁定则是提取证书中的公钥并内置到移动端APP中,通过与服务器对比公钥值来验证连接的合法性,我们在制作证书密钥时,公钥在证书的续期前后都可以保持不变(即密钥对不变),所以可以避免证书有效期问题。
具体实现可参考:
https://zhuanlan.zhihu.com/p/127847550
(二)无证书锁定

无证书锁定的情况下,直接配置上电脑的IP即可抓包,需要注意的是处于同一个局域网,需要手机上安装charles的证书:

数据抓包及分析实战-2
点击之后出现
数据抓包及分析实战-2
数据抓包及分析实战-2
然后手机安装证书即可
数据抓包及分析实战-2
安装完成之后打开baidu
数据抓包及分析实战-2
说明证书是不信任的.
这样搞不定的话还需要将证书植入到根证书下面,可以按照如下方式进行:
1) 获取 Charles 证书放置在系统安装证书目录的文件名
openssl x509 -inform PEM -subject_hash_old -in charles-proxy-ssl-proxying-certificate.pem | head -1
根据以上命令可以获得类似 34a6819c 的字符串,加上 .0 就是文件名,完整文件名如下:
34a6819c.0
2) root方式连接Android机器
adb connect [ip]adb rootadb remount
3)将Charles 证书放置于系统安装证书目录
adb push charles-proxy-ssl-proxying-certificate.pem /system/etc/security/cacerts/34a6819c.0
4)修改 Charles 证书权限

chmod 644 /system/etc/security/cacerts/34a6819c.0

5)重启系统

这样charles就植入到系统证书下面了
数据抓包及分析实战-2
这样就可以正常抓包分析了
数据抓包及分析实战-2
(三)通过hook解除证书锁定
常用的hook工具有两个,一个xposed,一个fridra。
推荐使用fridra,xposed需要不断重启手机

  • 安装frida
pip install fridapip install frida-tools
  • 安装服务端
https://github.com/frida/frida/releases
下载android版本的server版本,注意需要选择和手机系统位数一样的包,解压后上传到手机里面
chmod +x fridaadb push ./frida /data/local/
  • 开始使用
adb进入手机中,启动服务端
数据抓包及分析实战-2
此时就可以用frida进行操作了
首先可以看下手机的进程信息,看到以下信息说明安装成功了
数据抓包及分析实战-2
  • 解除限制
    采用脚本为
https://github.com/WooyunDota/DroidSSLUnpinning
下载下来,使用frida家在js脚本。如注入到Via进程中,看日志也能看到已经做了相关函数的注入替换
数据抓包及分析实战-2

5、微信小程序的抓包

工具使用
proxifier+charles
这个的话可以直接使用电脑微信抓包处理,不用模拟器,看下面配置即可,微信小程序的app名称是WeChatAppEx,Action设置为proxy代理,这样就可以直接抓取小程序的数据包了
数据抓包及分析实战-2

原文始发于微信公众号(YY的黑板报):数据抓包及分析实战-2

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月5日22:52:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   数据抓包及分析实战-2https://cn-sec.com/archives/2013606.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息