Symantec电子邮件系统分析(CVE-2017-6327)

2018-04-10 230248人围观 ,发现 6 个不明物体 数据安全

*本文原创作者:野火研习社·北风飘然,本文属FreeBuf原创奖励计划,未经许可禁止转载

前些天买了shodan的会员玩的特别开心,直到某一天看到了这个东西。这是什么呢? 

1.png

在百度一查原来是一个邮件系统的中间件叫电子邮件网关系统,说白了就是过滤邮件的,那么他的重要性可想而知了,所有的邮件都从这台服务器进出。

Seebug上搜索

2.png

基本上没什么漏洞不过17年有一个远程命令执行  还有个任意文件读取

3.png

不过权限很低,只能看到网关里面的账户下的,而且从官方试用的镜像来看,官方给的账户是一个权限极低的账户。

那么只能从命令执行下手了。官方文档说利用了两个漏洞,先看第一个漏洞。

第一个漏洞会存在一个未授权访问

通过向/brightmail/action1.do?method=method_name发出GET请求,如果method_name是公共方法,则可以执行LoginAction.method_name。

存在一个notificationLogin方法 该方法存在缺陷。

4.png

从官方的LoginAction类中可以看到notificationLogin方法。

他会接收notify参数的值赋值给encryptedEmailAddress,然后通过BrightmailDecrypt类下decrypt方法解密赋值给emailAddress,然后用emailAddress创建个UserTO对象,之后什么过滤<>创建username就不谈了,最后他会创建个session  这个session会有web管理界面的一些权限。

然而官方给的例子是

5.png

6.png

解密失败。。。   看来作者不想全部放出去啊。

那么只能自己分析一波了

7.png

看解密的方法

他会切割传进来的值前十二位为盐 12位到末尾为加密内容 之后会用到PBEWithMD5AndDES加密算法。而这个算法是对称加密的,那么这么看来就好办了,只要用他的加密方法生成一个加密串能被他解密就可以了。而他的加密方法在使用10.6.1的任意文件读取可以获得

8.png

好的成功了!

然后需要做的是获取一个token

9.png

common.jsp会或缺一个symantec.brightmail.key.TOKEN

10.png

而在symantec封装的镜像中存在一个db-restore脚本,该脚本存在调用/usr/bin/du命令注入。

11.png


于是可以愉快的反弹shell了

12.png

看成功反弹shell :)

*本文原创作者:野火研习社·北风飘然,本文属FreeBuf原创奖励计划,未经许可禁止转载

发表评论

已有 6 条评论

取消
Loading...
css.php