-
报告来源
漏洞详情链接:https://nvd.nist.gov/vuln/detail/CVE-2023-39618
CVE 编号分配日期:2023-8-20
NVD漏洞发布日期:2023-8-20
-
漏洞概述 *
漏洞名称 | TOTOLINK无线路由器远程执行漏洞 |
漏洞编号 | CVE-2023-39618 |
漏洞类型 | 远程执行漏洞 |
威胁等级 | 高危 |
漏洞详情 | 该漏洞存在于setTracerouteCfg接口中,该接口允许用户配置Traceroute功能,但由于未对输入参数进行适当过滤,导致攻击者可以通过构造恶意输入注入任意命令 |
影响范围 | TOTOLINK X5000R V9.1.0u.6118_B20201102 |
-
环境搭建过程
测试系统 | Ubuntu 16.04 虚拟机 |
固件下载地址 | https://www.totolink.net/home/menu/detail/menu_listtpl/download/id/218/ids/36.html |
固件解包工具 | Binwalk |
固件模拟工具 | firmware-analysis-toolkit |
逆向工具 | IDA 7.5 (32bit) |
流量抓取工具 | Burpsuite、Wireshark |
其他辅助工具 | 010editor,ida |
访问:
下载固件X5000R B20210419
固件下载成功后,执行
binwalk -Me TOTOLINK_C8343R-1C_X5000R_IP04433_transition_B20210419_ALL.web
获取虚拟镜像和磁盘
wget https://people.debian.org/~aurel32/qemu/mipsel/debian_wheezy_mipsel_standard.qcow2
wget https://people.debian.org/~aurel32/qemu/mipsel/vmlinux-3.2.0-4-4kc-malta
执行
brctl addbr virbr2
ifconfig virbr2 192.168.6.1/24 up
tunctl -t tap2
ifconfig tap2 192.168.6.11/24 up
brctl addif virbr2 tap2
给路由器web服务创建一个虚拟网络环境
镜像和虚拟磁盘下载完毕后,执行
qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1" -netdev tap,id=tapnet,ifname=tap2,script=no -device rtl8139,netdev=tapnet -nographic
用户和密码都是root
登录虚拟环境后,执行
ifconfig eth0 192.168.6.10
配置虚拟环境网络
返回原始机器环境,执行
scp -r squashfs-root/ root@192.168.6.10:/root/
将文件系统拷贝至虚拟环境中
在虚拟环境中执行
chroot ./squashfs-root/ /bin/sh
lighttpd -f lighttp/lighttpd.conf -m lighttp/lib/
在原始机器环境中通过浏览器访问
http://192.168.6.10/login.asp
出现如图所示页面代表环境搭建成功
在burp suite中抓取数据包发现/cgi-bin接口
在数据包中构建poc
这段请求的目的是通过setLanguageCfg接口注入恶意命令,利用目标系统对输入参数的处理漏洞(如命令注入漏洞),执行系统命令ls>/www/lm-lan.txt。如果攻击成功,攻击者可以在目标设备的/www目录下创建一个名为lm-lan.txt的文件,并将当前目录下的文件列表写入该文件
在bp中看到成功响应。回到目录下查看
这是原来的列表下的目录
这是注入后的目录,很明显出现了我们命令中的文件
输出文件内容,为当前工作内容。
可浏览器访问:
command参数直接从用户输入获取,且未对输入进行过滤或转义,导致攻击者可以通过注入特殊字符(如反引号`)执行任意命令。
攻击路径:攻击者可以通过向setTracerouteCfg接口发送包含恶意命令的command参数,从而在设备上执行任意代码。
流量分析
利用wireshark获取到目前的数据包
1. 更新固件
立即更新:建议用户尽快将TOTOLINK X5000R路由器的固件更新到最新版本。最新固件通常会修复已知漏洞。
定期检查更新:定期访问TOTOLINK官方网站或关注官方公告,确保设备始终运行最新版本的固件。
2. 限制网络访问
更改默认IP地址:将路由器的默认IP地址更改为非标准地址,增加攻击难度。
禁用远程管理:如果不需要远程管理功能,建议关闭远程管理功能,仅允许本地访问。
3. 输入验证与过滤
启用输入过滤:确保路由器的输入验证机制启用,防止恶意输入数据注入。
限制输入长度:对输入参数(如command)的长度进行限制,避免过长的输入导致缓冲区溢出。
4. 网络隔离与监控
启用防火墙:启用路由器的防火墙功能,限制不必要的入站和出站流量。
监控日志:定期检查路由器的日志,监控异常行为或未经授权的访问尝试。
5. 使用安全通信协议
启用HTTPS:确保路由器管理界面使用HTTPS协议,保护数据传输过程中的机密性和完整性。
6. 增强身份验证
更改默认密码:立即更改路由器的默认管理员密码,使用强密码策略。
启用多因素认证:如果支持,启用多因素认证(MFA)以增强安全性。
7. 安全审计与漏洞扫描
定期审计:定期对路由器进行安全审计,检查是否存在配置错误或潜在漏洞。
漏洞扫描:使用专业的安全工具对路由器进行漏洞扫描,及时发现并修复问题。
8. 用户教育
避免点击可疑链接:提醒用户避免点击不明来源的链接,尤其是与路由器管理相关的链接。
通过以上措施,可以有效降低CVE-2023-39618漏洞被利用的风险,保护路由器的安全。