ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何为mitm_relay创建客户端可信证书:从自签名到Burp CA签发的完整流程

如何为mitm_relay创建客户端可信证书:从自签名到Burp CA签发的完整流程 如何为mitm_relay创建客户端可信证书从自签名到Burp CA签发的完整流程【免费下载链接】mitm_relayHackish way to intercept and modify non-HTTP protocols through Burp others.项目地址: https://gitcode.com/gh_mirrors/mi/mitm_relaymitm_relay 是一款用于非 HTTP 协议中间人MITM的流量拦截代理工具它能借助 Burp 等现成代理完成 SSL 与 STARTTLS 流量拦截。要让客户端信任你的拦截流量第一步就是创建服务端证书与私钥。本文带你完整走一遍证书创建流程从最简单的自签名证书到用 Burp CA 签发的客户端可信证书 。为什么代理工具需要一张证书当 mitm_relay 检测到 TLS 握手时会自动包裹连接两侧完成 SSL 拦截。此时它出示给客户端的就是你通过-c证书文件和-k私钥文件参数提供的证书。⚠️ 关键点有两个客户端如果做证书校验自签名证书会被直接拒绝证书的 Common NameCN必须匹配客户端预期否则 SSL/STARTTLS 拦截会悄悄失败。所以先判断你的客户端是否校验证书再选择下面对应的方案。方案一一键生成自签名证书最快上手项目仓库自带证书生成脚本 [gen_certs.sh]它会自动创建cert目录生成 2048 位 RSA 私钥cert/private.key生成有效期长达 10 年的自签名证书cert/server.pemCN 为*.acmecorp.com可按需修改脚本。sh gen_certs.sh适合不做证书校验的客户端10 秒搞定。方案二用 OpenSSL 手动创建自签名证书想自己控制有效期和 CN一条 OpenSSL 命令就够了openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 \ -keyout private.key -outform pem -out server.pem -subj /CN*.acmecorp.com 小技巧先抓一下真实服务器证书的 CN把自签名证书的 CN 设置成一样的值可以少走很多弯路。方案三Burp CA 签发客户端可信证书完整流程当被测客户端会校验证书链例如 Windows 上的厚客户端自签名证书就不管用了。思路是把代理的 CA 装进客户端信任库再用这个 CA 签发一张服务端证书。假设你用的是 Burp Windows 客户端3.1 从 Burp 导出 CA 证书与 CA 私钥在 Burp Proxy 监听器选项中点击Import / Export CA Certificate将 CA 证书和 CA 私钥都以DER 格式导出分别命名为cacert.cer和cakey.cer。3.2 把 CA 装进客户端信任库在 Windows 上双击cacert.cer选择安装证书放入Trusted root certification authorities受信任的根证书颁发机构存储区。这一步完成后客户端就会信任这张 CA 签发的任何证书。3.3 把 CA 转换成 PEM 格式openssl x509 -inform der -in cacert.cer -outform pem -out cacert.pem openssl rsa -inform der -in cakey.cer -outform pem -out cakey.pem3.4 签发最终的 CA 签名证书openssl genrsa -out server.key 2048 openssl req -new -key server.key -out server.csr -subj /CN*.acmecorp.com openssl x509 -req -in server.csr -CA cacert.pem -CAkey cakey.pem \ -CAcreateserial -out server.pem -days 365 -sha256至此得到的server.pemserver.key就是客户端完全信任的证书组合前提是客户端没有做证书绑定。把证书交给 mitm_relay 运行用-c指定证书文件、-k指定私钥文件即可启用 SSL 拦截python3 mitm_relay.py -r 8080:192.168.1.100:8080 -p 127.0.0.1:8080 \ -c server.pem -k server.key如果目标服务器还要求客户端证书再加-cc 客户端证书与-ck 客户端私钥两个参数。 注意如果不传-c/-kmitm_relay 启动时会明确提示SSL/TLS interception will not be available遇到 TLS 握手也只会原样放行不会解密。常见坑位与速查现象原因与解决SSL 拦截无反应CN 与客户端预期不匹配对照真实服务器证书修正 CN客户端拒绝证书客户端在校验证书链 → 安装 Burp CA 并改用方案三装了 CA 仍被拒客户端启用了证书绑定pinning证书层面无法绕过想进一步改流量配合-s加载自定义脚本参考仓库里的 [sample_script.py] 实现handle_request/handle_response小结自签名最快gen_certs.sh或一条 OpenSSL 命令适合不校验证书的客户端客户端可信走 Burp CA 签发路线——导出 CA → 装入信任库 → 转 PEM → 签发服务端证书CN 匹配是 SSL 拦截成功的隐形关键最后别忘了用-c和-k把证书与私钥真正交给 mitm_relay 【免费下载链接】mitm_relayHackish way to intercept and modify non-HTTP protocols through Burp others.项目地址: https://gitcode.com/gh_mirrors/mi/mitm_relay创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表