当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0101511

漏洞标题:TerraMaster NAS网络存储服务器多处任意命命执行漏洞

相关厂商:www.terra-master.com/

漏洞作者: 路人甲

提交时间:2015-03-15 17:13

修复时间:2015-04-29 17:14

公开时间:2015-04-29 17:14

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:15

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-15: 细节已通知厂商并且等待厂商处理中
2015-03-18: 厂商已经确认,细节仅向厂商公开
2015-03-28: 细节向核心白帽子及相关领域专家公开
2015-04-07: 细节向普通白帽子公开
2015-04-17: 细节向实习白帽子公开
2015-04-29: 细节向公众公开

简要描述:

TerraMaster NAS网络存储服务器存在多处任意命令执行漏洞。

详细说明:

受YY-2012 WooYun-2015-95059的启发,对TerraMaster的NAS进行了一番研究,发现存在不少问题,在此一并列出,纯属学习研究性质,不妥之处敬请指正。
首先到TerraMaster的官方网站上下载一个大小为50M左右的固件升级文件update-2.374.bz2,对应型号是F4-NAS。

1.png


解压后发现网页部分位于/usr/www目录,但是php源码被加密,文件头部显示一个特殊的字符串\tspartacus\t,后面为随机乱码。

2.png


经查看发现该设备的php主程序位于/usr/sbin/php-cgi,对该程序进行反汇编后发现存在上述字符串,

3.png


根据周边的字符串信息,我们基本可以确认该设备采用php-screw对源码进行加密,到SourceForge上下载php-screw源代码,然后手动修改一下源代码即可将加密部分变成解密程序,编译后可用于php加密代码的解密。
有了明文源代码,就可以进行正常的代码审计工作了,在/usr/www/include/ajax/ajaxdata.php文件中,发现存在多处任意命令执行的隐患。
程序先将$_POST全局变量赋给局部变量$data,再逐一判断执行各个功能分支,流程部分如下

5.png


在scanwlan分支中
else if(isset($data['scanwlan']))
{
if($data['scanwlan'] == 0){
……
}else if($data['scanwlan'] == 1){
if($data['linkstat'] == 0){
……
}else if($data['linkstat'] == 1){
$cmd = "$_func_common && noontec_wirelssapdisconnect ".$data['wlanName']."";
$return = $root[wifi][linking]." ".$data['ssid']." ".$root[wifi][wifiSign];
shell_exec($cmd);
}
echo $return;
}
}
在scanwlan=1且linkstat=1时,$cmd变量在装配时带入了$data['wlanName'],此处变量由$_POST而来,用户可控且无过滤,可轻易引发下面shell_exec执行时的命令注入。
再如在SNMP分支中
else if(isset($data['SNMP']))//--------snmp stop---------
{
if($data['SNMP'] == 0){
……
}else if($data['SNMP'] == 1){
shell_exec("$_A00snmpd stop");
$command = "snmpdset 1 \"".$data['SNMPdata']."\"";
shell_exec($command);
和上面一样的原理,$data['SNMPdata']因用户可控且无过滤,轻易引发命令注入。
如上情况在整个ajaxdata.php中多处存在,这里就不一一列举,道理都是一样。

漏洞证明:

POST时带入恶意数据即可。如scanwlan=1;linkstat=1;wlanNmae=xxx%3byyy
yyy为要执行的具体命令。

修复方案:

不要直接将用户输入带入命令中执行。

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2015-03-18 13:36

厂商回复:

CNVD确认并复现所述情况,已经由CNVD通过网站公开联系方式(或以往建立的处置渠道)向网站管理单位(软件生产厂商)通报。

最新状态:

暂无