干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

admin 2022年6月26日02:05:42评论64 views字数 2544阅读8分28秒阅读模式
文章来源:奇安信攻防社区(苏苏的五彩棒)

原文地址:https://forum.butian.net/share/889


0x01 前言

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


0x02 处置

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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

上传木马成功(这waf,关键时刻咋不起作用呢)。
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


3、将服务器重新启动,先将外网通道关闭,然后进入以下路径,查看问题文件。
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


0x03 成因

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


1、我们首先来看net/controller.ashx 文件,我们可以看到第14行接收了一个名为action参数。
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


2、然后action会通过switch case去判断,当action等于catchimage(远程文件抓取)时,执行以下代码
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


我们去CrawlerHandler中查看,我们发现当Sources为空或长度为零时,返回"参数错误:没有指定抓取源"
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


所以我们测试漏洞是否存在的时候,会访问Ueditor/net/controller.ashx?action=catchimage,查看返回包是否为"参数错误:没有指定抓取源"
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


3、当source的值不等于空的时候,就执行下面代码
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


4、我们定位到Crawler方法处,65行是创建一个请求,将响应内容赋值给response
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


5、观察下面的这行代码,它是从响应里的ContentType去匹配是否有image。
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


6、如果是image,进入下面一行代码,会将文件保存在服务器中,所以只要自定义下ContentType:image/jpeg,就可以抓取任意类型的文件了,就造成了任意文件上传漏洞
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


tips:
可能有些朋友会有疑惑,为什么常见的利用方式是上传xxx.gif?.aspx,因为文件的后辍名是通过截断最后一个 . 来获取的(我们通过查看GetFileName()的官方文档发现,该方法是通过截取url中最后一个.来获取文件名的),url里面xxx.gif?.aspx会被默认当成xxx.gif解析但是传递给我们的文件却是.aspx结尾的文件。


0x04 复现

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

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


2、先上传一个html页面试一下,可以看到上传成功。
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


3、再传一个图片马试一下,发现也上传成功。
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


0x05 修复

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


配置防火墙策略,禁止外网ip访问admin目录(漏洞存在于admin目录下)
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

2、禁止外网IP访问f_load目录(上传后的文件存在于f_load目录)。
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


3、当用户访问admin/Ueditor/net/controller.ashx?action=catchimage时,跳转到admin/Logout.aspx页面
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


4、当开发人员到达现场后,立即让他们将上传成功后的回显关闭了。
干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击


0x06 总结

当遇到类似的应急响应事件后,可以按照以下几个步骤进行处理:
  • 1、先对需要处理的事件现场情况进行详细的了解,与客户商量先将受害服务器进行断网关机处理,如果有主机安全管理设备,先对所有主机资产进行病毒查杀。
  • 2、先将木马文件、可疑文件保存本地,然后将服务器上的可疑文件进行清除。
  • 3、分析木马文件是哪种类型的木马,会造成什么危害,再做出下一步处置。
  • 4、分析漏洞成因,复现漏洞。
  • 5、先使用waf、防火墙等设备紧急修复漏洞,再等研发人员来彻底修复漏洞。

【往期推荐】

【内网渗透】内网信息收集命令汇总

【内网渗透】域内信息收集命令汇总

【超详细 | Python】CS免杀-Shellcode Loader原理(python)

【超详细 | Python】CS免杀-分离+混淆免杀思路

【超详细 | 钟馗之眼】ZoomEye-python命令行的使用

【超详细 | 附EXP】Weblogic CVE-2021-2394 RCE漏洞复现

【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现

【超详细 | 附PoC】CVE-2021-2109 | Weblogic Server远程代码执行漏洞复现

【漏洞分析 | 附EXP】CVE-2021-21985 VMware vCenter Server 远程代码执行漏洞

【CNVD-2021-30167 | 附PoC】用友NC BeanShell远程代码执行漏洞复现

【奇淫巧技】如何成为一个合格的“FOFA”工程师

【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】

【超详细】Fastjson1.2.24反序列化漏洞复现

  记一次HW实战笔记 | 艰难的提权爬坑

【漏洞速递+检测脚本 | CVE-2021-49104】泛微E-Office任意文件上传漏洞

免杀基础教学(上卷)

免杀基础教学(下卷)

走过路过的大佬们留个关注再走呗干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

往期文章有彩蛋哦干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

一如既往的学习,一如既往的整理,一如即往的分享干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

如侵权请私聊公众号删文

推荐阅读↓↓↓

我知道你在看




原文始发于微信公众号(渗透Xiao白帽):干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月26日02:05:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   干货分享 | 应急响应之Ueditor任意文件上传漏洞攻击https://cn-sec.com/archives/1144070.html

发表评论

匿名网友 填写信息