uTorrent协议层远程漏洞的分析和利用
写在前面的话
近期,世界上最流行的torrent客户端uTorrent被爆出了一个安全漏洞,该漏洞的CVE编号为CVE-2020-8437。根据研究人员透露的信息,远程攻击者可以利用该漏洞来入侵任何一个连接至互联网的uTorrent实例,并让其运行崩溃。作为合格的白帽黑客,我们在发现了该漏洞之后便立刻将其上报给了uTorrent团队,该漏洞也在短时间内迅速得到修复。现在在这篇文章中,我们将公开该漏洞的概况以及相应的利用方式。
Torrent协议
Torrent下载(传说中的BT下载)可以同时与多个对等节点建立连接(其他人下载同一文件),并创建一个分散的下载网络来使整个对等节点组共同受益。每个对等节点都可以上传和下载数据到任何其他的对等节点,这种方式可以消除任何单一故障点或宽带瓶颈,从而使所有对等节点的下载速度更快更稳定。
对等节点之间使用了BitTorrent协议进行通信,而这种协议通信方式需要通过握手来发起。在接下来的分析过程中,我们将主要关注握手包以及随后的数据包。
BitTorrent握手
握手包是对等节点之间初始化通信所要发送的第一个数据包,握手包中包含了五个字段,每个字段都有严格的结构化格式。
握手包格式:
- Name Length:1字节无符号整型,后跟字符串长度。
- ProtocalName:可变长度的字符串,用于标记发起初始化的对等节点支持的协议。此字段将用于兼容性问题,不过在目前主要的协议实现中该字段都被设置为了“BitTorrentprotocol”。
- ReservedBytes:8字节比特字段,每一位代表了一个协议功能扩展,现代Torrent客户端将使用这个字段来跟高级功能进行通信以优化下载任务。
- InfoHash:20字节SHA1,用于识别初始化对等节点想要下载的种子文件,这个哈希是目标种子文件全部信息的哈希,其中包括种子名称、文件域哈希、文件大小、数量等等。
- Peer ID:20字节缓冲区,一个发起方跟自己指定的随机标识。
当一个节点收到一个握手包之后,它将会用自己的握手包来回应。如果两个节点的ReservedBytes字段都设置为了“ExtensionProtocol”,那么节点之间将使用一个“扩展”消息握手来交换更多关于扩展组建的信息。
BitTorrent扩展消息握手
扩展消息握手是对等节点之间用于共享额外扩展实现信息时使用的,跟我们之前分析的BitTorrent握手包不同的是,BitTorrent握手包的大小是固定的,但扩展消息握手包是可以动态变化的,这将允许该数据包传输大量扩展数据。
扩展消息握手包格式:
- Length:4字节无符号整型,后跟整个信息的长度。
- BitTorrent Message Type:1个字节,即数据包的BitTorrent消息ID,扩展消息对应的是20(0x14)。
- BitTorrent Extended Message Type:1个字节,代表扩展消息的ID,对应的值为0。
- M:动态变化的数据包大小,支持的补充扩展Bencoded格式字典。
Bencoded字典
M字段是一个Bencoded格式的字典,这种格式跟Python字典格式类似:即字符串类型的键值对。但是,跟Python字典相比,Bencoded字典在值前面会包含每一个字符串的长度,“d”和“e”分别用来代表“{”和“}”。下面给出的是Python字典和Bencoded字典的对比图:
除此之外,Python字典和Bencoded字典都可以在字典内部包含一个单独的字典,即支持字典嵌套:
漏洞CVE-2020-8437
漏洞CVE-2020-8437存在于uTorrent解析Bencoded字典的代码之中,说准确一点,就是解析嵌套字典的代码。在补丁发布之前(uTorrent3.5.5及其之前版本),uTorrent将使用一个32位整数作为一个比特字段来跟踪Bencoded字典当前正在解析的部分。比如说,当uTorrent在解析第一层时,这个比特字段将会被设置为‘000000000000000000000000 00000001’,当uTorrent在解析第二层时,这个比特字段将会被设置为‘00000000 000000000000000000000011’。
但是,如果一个Bencoded字典的嵌套层数超过32层的话,会发生什么呢?于是乎,我便创建了一个这样的字典,然后丢给了uTorrent的字典解析器,结果如下:
这就很Nice!uTorrent崩溃啦!深入分析后,我们发现这是一个空指针引用错误。
漏洞利用
漏洞CVE-2020-8437有两个简单的利用向量,首先是要一个远程对等节点发送一个包含恶意Bencoded字典的扩展消息数据包,其次就是需要一个包含了恶意Bencoded字典的.torrent种子文件。
1. 远程对等节点利用
当两个支持扩展消息的对等节点开始交互通信时,它们都会发送一个数据包来枚举各自支持的扩展功能,而关于支持扩展的消息就是通过Bencoded字典来发送的,如果字典是恶意字典,那么客户端在解析Bencoded字典时就会触发漏洞CVE-2020-8437。
2. Torrent文件利用
.torrent种子文件封装了客户端开始下载torrent所需的最基本信息,这些文件在torrent网站上公开共享,任何人都可以直接下载,然后使用torrent客户端来打开,因此这些文件都有可能成为触发漏洞CVE-2020-8437的工具。一个.torrent文件相当于是一个以文件格式保存的Bencoded字典,因此我们只需要将一个恶意Bencoded字典保存为一个.torrent文件,就可以实现攻击向量的创建了。
漏洞利用代码:【点我获取】
漏洞利用演示视频
视频地址:【点我观看】
缓解方案
根据该漏洞的严重性情况,建议广大用户尽快将uTorrent客户端程序升级至最新版本!
鸿蒙官方战略合作共建——HarmonyOS技术社区
推荐系统
微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载
语言:中文版系统大小:5.13GB系统类型:Win11微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Win11 64位 Office办公版(免费)优化 1、保留 Edge浏览器。 2、隐藏“操作中心”托盘图标。 3、保留常用组件(微软商店,计算器,图片查看器等)。 5、关闭天气资讯。
Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载
语言:中文版系统大小:4.75GB系统类型:Win11Ghost Win11 21H2是微软在系统方面技术积累雄厚深耕多年,Ghost Win11 21H2系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Ghost Win11 21H2是微软最新发布的KB5019961补丁升级而来的最新版的21H2系统,以Windows 11 21H2 22000 1219 专业版为基础进行优化,保持原汁原味,系统流畅稳定,保留常用组件
windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载
语言:中文版系统大小:5.31GB系统类型:Win11windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化
微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载
语言:中文版系统大小:5.31GB系统类型:Win11微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载
微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件
语言:中文版系统大小:0MB系统类型:Win11微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为
雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载
语言:中文版系统大小:4.75GB系统类型:雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统
雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO
语言:中文版系统大小:5.91GB系统类型:Win7雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户
番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载
语言:中文版系统大小:3.91GB系统类型:Win7欢迎使用 番茄花园 Ghost Win7 x64 SP1 2022.07 极速装机版 专业装机版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上独有人性化的设计。是电脑城、个人、公司快速装机之首选!拥有此系统
相关文章
- 工业互联网安全研究笔记
- 强!1分钟破解Windows系统开机密码
- IE 0day漏洞 问题出自MS Works
- Windows 7系统如何创建硬盘分区?
- 开展专业的红蓝演练 Part.4:论红队的自动化方法
- 怎么解决笔记本风扇声音大的问题?
- 猫和光纤信号灯闪红灯是怎么回事?
- 各种在线客服插件的安装使用注意事项
- 网络安全攻防:无线网络安全之WPA
- 简单破解“高强度文件夹加密大师”
- Win 8系统查看无线网络密码的方法
- win10 ie浏览器停止工作问题解决方法
- 黑客技术之slv unpackme 脱壳
- 亚信安全与安徽电信达成战略合作,共建零信任安全联合创新中心
- 深入分析在ISC BIND服务器中潜藏了15年的RCE漏洞
- 网络安全编程:注册表下启动项的管理
- 网卡驱动程序不正常怎么办?
- 两会看点 | 360周鸿祎提案:以安全为基,构筑“城市级网络安全基础设施”
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 3电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 4雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
常用系统
- 1新萝卜家园Ghost Win8.1 X64位 纯净版2020年10月(自动激活) ISO镜像高费下载
- 2深度技术 Ghost Win7 Sp1 电脑城万能装机版2018年7月(32位) ISO镜像免费下载
- 3电脑公司 GhostXpSp3 电脑城装机版 2020年3月 ISO镜像高速下载
- 4电脑公司 装机专用系统Windows10 x86元旦特别 企业版 版本1903 2022年1月(32位) ISO镜像快速下载
- 5番茄花园 Ghost XP SP3 海量驱动装机版 2022年6月 ISO镜像高速下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版 版本1903 2021年4月(64位) 高速下载
- 7雨林木风 Windows10 x64 企业装机版2020年5月(64位) ISO镜像高速下载
- 8电脑公司 装机专用系统Windows10 x64 企业版2022年5月(64位) ISO镜像高速下载
- 9笔记本系统Ghost Win8.1 (32位) 喜迎国庆 极速纯净版2020年10月(免激活) ISO镜像高速下载
- 10笔记本&台式机专用系统GhostWin7 64位旗舰版2020年8月(64位) 高速下载