冰点黑客网:CVE-2019-11229详细分析 --git config可控-RCE
2019年4月15号,gitea曾爆出过一个缝隙,恰逢其时对这个缝隙比较猎奇就着手
导读:何为“间谍”?《说文解字》解释道:“谍,军中反间也。”运用反间计当然需求三寸不烂之舌,这是“谍”的转义。“间”怎么会跟“谍”联络起来了呢?“间”本来写作“闲”,清代文字训诂学家段玉裁为《说文解字》所作的注释说:“开门月入,门有缝而月光可入。”因此“间”的转义便是门缝,泛指缝隙,有缝隙就可以运用反间计了,故称“间谍”。去研讨了一下,缝隙的描述是这样的:
models/repo_mirror.go in Gitea before 1.7.6 and 1.8.x before 1.8-RC3 mishandles mirror repo URL settings, leading to remote code execution.
在和朋友@hammer的一起研讨下,成功操控了git config的内容,但是在从git config到RCE的进程遇到了困难,就暂时放置了,在过了几个月之后,偶尔得到@Lz1y和@x1nGuang两位大佬的启示,成功复现了这个缝隙,下面我们就来细心研讨下这个问题。
剖析补丁
首要依据cve的信息,确认缝隙1.7.6和1.8.0-rc3上修正
https://github.com/go-gitea/gitea/releases/tag/v1.7.6
https://github.com/go-gitea/gitea/releases/tag/v1.8.0-rc3
依据缝隙文件为repo_mirror.go这个信息确定更新的commit,commit主要为 #6593和#6595
https://github.com/go-gitea/gitea/pull/6595/commits/52af826a7aa1df6ab538d881db236698cb367cd7
依据patch可以大致确定问题的要害点
/models/repo_mirror.go
当库房为mirror库房时,settings页面会闪现关于mirror的装备
if !repo.IsMirror {
ctx.NotFound("", nil)
return
}
patch中将本来的修正装备文件中的url选项修正为NewCommand。很简略了解,将写入文件更改为实行命令,这种修正办法必定是因为写入文件存在无法修正这个问题的困境,那么这也就说明url这儿可以通过传入%0d%0a来换行,导致修正config中的其他装备。
操控 gitconfig
跟从前面的逻辑,首要我们新建一个miGh0st的流量具有非常典型的特征,很多远控其实都是通过Gh0st源码改的,所以大致的格式都差不都,一段标识码+Zlib紧缩的数据(怎样知道是zlib呢?zlib紧缩的头部标明是x78x9c),通过这个特性,可以在流量侧对这些远控进行检测或解析流量数据,这也是现在大多数IDS/态势感知产品所用到的办法之一。rror库房。
抓包并修正mirror_address为相应的特点。
mirror_address=https%3A%2F%2Ftest%3A%40github.com%2FLoRexxar%2Ftest_for_gitea.git"""%0d%0a[core]%0d%0atest=/tmp%0d%0aa="""
可以传入各种装备,可以操控config文件的内容。
比较风趣的是,假如你更新同步设置时,服务端还会格式化装备。
进一步运用
而重要的是怎么从config文件可控到下一步运用。
首要,git服务端只会保存.git里的内容,并不是没有做日志记载因为时间联络。完好的相似我们客户端运用的git库房。所以很难引进外部文件。不然就可以通过设置hook目录来完成RCE,这种思路的要害点在于找到一个可控的文件写入或许文件上传。
其次,别的一种思路便是寻觅一个可以实行命令的装备,并寻觅一个可以触发相关装备的长途装备。
智能机器人是怎样打电话的— FireEye (@FireEye) December 15, 20189月无黑客24小时接单,手机黑客哪里找 2018年12月,Facebook Photo API 中被...
江阴特产(江阴四大土特产) 江阴在上海的西北边,开车过去大约两个小时的车程,面对长江,在行政区划上属于无锡。这里常年盘踞在中国百强县前二位,一座城市拥有50家上市公司,上百家新三板企业……在广东南番...
液晶电视是每个家庭必备的,那么现在市场上有很多品牌的液晶电视,你知道哪些品牌的液晶电视好呢?我们一起去看看吧!以下是2016年世界液晶电视十大品牌质量排行榜: 第十名:康佳液晶电视 康佳集团成立于...
如何取一个好名字(5种起名方法) 很多家长反映给宝宝取名越来越难,一个好的名字真的是千金难求啊,毕竟名字是要陪孩子一辈子,名字没有取好孩子将来可能会埋怨你……如何取名简单又科学呢? 跳过下...
黑客可以破解别人微信密码不被察觉吗_如何破解老公的微信密码 拳打苹果,脚踢索尼,这次又来单挑特斯拉 今天要说的这位叫George Hotz(乔治•霍兹)的骚年可谓牛逼中的战斗机。...
当我们对企业网站举办优化时,每个SEO外部链的敦促者都离不开成立外部链的事情。在很长一段时间时间,搜索引擎优化人员很是痴迷于提交各类外部链接。 可是有时候,当我们做任何工作的时候,我们往往会太快而达不...