应急响应之Ueditor任意文件上传漏洞攻击
2023-3-14 00:2:17 Author: 橘猫学安全(查看原文) 阅读量:18 收藏

0x01 前言

七一重保期间,某合作公司向我司紧急求救,APT系统出现攻击告警,现场工作人员发现有ip针对他们系统进行Ueditor 文件上传漏洞攻击,并成功上传木马文件。于是我只能又又又背上电脑出发了(苦逼的网安人)。

0x02 处置

1、提前在电话中与客户沟通情况,建议能否先将服务器的外部通信关闭,避免再出现一些其它问题,客户同意了我的建议,简单粗暴的将服务器关闭了。

2、到现场后,查看APT系统,发现了攻击告警。

上传木马成功(这waf,关键时刻咋不起作用呢)。
3、将服务器重新启动,先将外网通道关闭,然后进入以下路径,查看问题文件。

发现就是普通的冰蝎aspx马子,悬着的心也放下一半。

4、对于文件列表中的一些有问题的文件,都先保存在了本地,然后将服务器中的文件进行了删除处理,在其中发现一些关于黄赌毒的黑页。

5、同时为了保险起见,立即对网站进行了后门扫描。

6、对攻击者IP和上传文件的域名进行分析,在威胁情报平台上都显示为恶意。

发现都是香港的IP,也没有进行备案。

5、访问攻击者的木马地址,将文件下载下来

发现只是一个gif文件和冰蝎aspx马子合成的图片马。

6、放进云沙箱运行也会报毒。

0x03 成因

ueditor的官方网站已经停止访问了,但是我们可以在github上下载源码包:https://github.com/fex-team/ueditor/releases/tag/v1.4.3.3

1、我们首先来看net/controller.ashx 文件,我们可以看到第14行接收了一个名为action参数。
2、然后action会通过switch case去判断,当action等于catchimage(远程文件抓取)时,执行以下代码
我们去CrawlerHandler中查看,我们发现当Sources为空或长度为零时,返回"参数错误:没有指定抓取源"
所以我们测试漏洞是否存在的时候,会访问Ueditor/net/controller.ashx?action=catchimage,查看返回包是否为"参数错误:没有指定抓取源"
3、当source的值不等于空的时候,就执行下面代码
4、我们定位到Crawler方法处,65行是创建一个请求,将响应内容赋值给response
5、观察下面的这行代码,它是从响应里的ContentType去匹配是否有image。
6、如果是image,进入下面一行代码,会将文件保存在服务器中,所以只要自定义下ContentType:image/jpeg,就可以抓取任意类型的文件了,就造成了任意文件上传漏洞
tips:可能有些朋友会有疑惑,为什么常见的利用方式是上传xxx.gif?.aspx,因为文件的后辍名是通过截断最后一个 . 来获取的(我们通过查看GetFileName()的官方文档发现,该方法是通过截取url中最后一个.来获取文件名的),url里面xxx.gif?.aspx会被默认当成xxx.gif解析但是传递给我们的文件却是.aspx结尾的文件。

0x04 复现

1、首先访问Ueditor/net/controller.ashx?action=catchimag,发现返回"参数错误:没有指定抓取源",证明存在文件上传漏洞。

2、先上传一个html页面试一下,可以看到上传成功。
3、再传一个图片马试一下,发现也上传成功。

0x05 修复

1、由于系统开发商赶来还需要一段时间,所以先从软件层面将漏洞修补一下。

配置防火墙策略,禁止外网ip访问admin目录(漏洞存在于admin目录下)
2、禁止外网IP访问f_load目录(上传后的文件存在于f_load目录)。
3、当用户访问admin/Ueditor/net/controller.ashx?action=catchimage时,跳转到admin/Logout.aspx页面
4、当开发人员到达现场后,立即让他们将上传成功后的回显关闭了。

0x06 总结

当遇到类似的应急响应事件后,可以按照以下几个步骤进行处理:
文章来源:奇安信攻防社区(苏苏的五彩棒)原文地址:https://forum.butian.net/share/889

如有侵权,请联系删除

推荐阅读

实战|记一次奇妙的文件上传getshell
「 超详细 | 分享 」手把手教你如何进行内网渗透
神兵利器 | siusiu-渗透工具管理套件
一款功能全面的XSS扫描器
实战 | 一次利用哥斯拉马绕过宝塔waf
BurpCrypto: 万能网站密码爆破测试工具
快速筛选真实IP并整理为C段 -- 棱眼
自动探测端口顺便爆破工具t14m4t
渗透工具|无状态子域名爆破工具(1秒扫160万个子域)
查看更多精彩内容,还请关注橘猫学安全:
每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“再看

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5OTY2NjUxMw==&mid=2247506030&idx=1&sn=4d2071708d6b9a5cf8500575584e5d3b&chksm=c04d5f50f73ad646c5cd8ba0ddb3febcbe2a394aa564ed9a1f1978d15accdf2a9bd4b018d289#rd
如有侵权请联系:admin#unsafe.sh