记一次绕过安全设备Getshell的实战经历
2023-4-3 10:25:12 Author: www.freebuf.com(查看原文) 阅读量:9 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

1、概述

      新华三御雷实验室在一次实战演练中遇到开源CMS系统的网站,经过探测发现网站存在未授权文件上传漏洞但存在安全设备检测导致无法直接利用,经过不断尝试最后绕过安全设备检测成功上传webshell获取服务器控制权限。

      新华三御雷实验室后期在模拟环境下复盘总结成此文,文中涉及到的CMS漏洞厂商目前已经修复。新华三御雷实验室协同盾山实验室,通过对畸形上传报文的覆盖优化上传文件的检测识别,同时加强对变形的webshell文件内容检测识别,新华三全系安全产品通过升级IPS特征库到最新版本可识别上文中的文件上传绕过利用的攻击流量。

0x01 漏洞发现

根据网站URL路径和后台管理页面确认其使用某开源CMS系统且确认其为5.x版本。

1680486768_642a31700616b74f1dbe7.png!small?1680486768790

前台探测其文件上传接口可访问,猜测网站可能存在未授权文件上传漏洞:

1680486837_642a31b55ee3bc404d695.png!small?1680486837916

此CMS在5.x的早期版本中存在文件上传漏洞且漏洞利用条件有:

1、项目通过war包在tomcat等容器中部署

2、允许上传jspx文件(5.2.7之前默认黑名单配置只禁止了上传.jsp和.exe文件)

根据报错了解已满足使用tomcat部署的条件,通过尝试可以正常上传图片且可以成功访问。

1680486882_642a31e2ee3d7dc5186fc.png!small?1680486883761

0x02 后缀黑名单绕过

      尝试上传jspx后缀内容为test的文件被检测拦截,判断有安全设备对上传文件为jspx的后缀做了过滤。尝试后缀大小写、filename参数结构破坏等方法未绕过,最终在头部Content-Type的boundary=值中通过添加tab字符成功绕过后缀检测。

1680486955_642a322bcd8b34aa56984.png!small?1680486956464

0x03 文件内容检测绕过

      利用黑名单绕过的方法直接上传jspx的cmd马被拦截。判断安全设备还对文件内容做了检测。继续尝试通过unicode编码、chunk编码小块传输、垃圾数据填充、修改文件类型如image/jpeg等方式均未果。猜测可能是对<jsp:root>字符串做了检测,通过不断缩小范围测试确认确实是检测<jsp:root>标签。

      通过查找jspx文件上传绕过资料了解到,<jsp:root>中jsp就是默认的命名空间,实际上可以随意替换成其他名字比如:

1680487026_642a327295b9671ce6037.png!small?1680487027362

      继续尝试上传cmd小马结果又被拦截了。判断安全设备仍然对其他jspx结构语句有拦截,经过测试发现是<jsp:scriptlet>被检测:

<jsp:scriptlet>Runtime.getRuntime().exec(request.getParameter("i"));</jsp:scriptlet>

使用如下等效语句替换:

<abc:expression>Runtime.getRuntime().exec(request.getParameter("i"))</abc:expression>

成功绕过上传cmd马:

1680487068_642a329c6bd8e37b603e4.png!small?1680487069146

成功执行命令:

1680487095_642a32b7c9afea682d97a.png!small?1680487096329

      至此可上传无回显的cmd马,且通过测试发现服务器不出网。为了方便后续进一步利用需要上传冰蝎马,综合利用上述绕过的方法成功上传:

1680487124_642a32d43ddc895bc0087.png!small?1680487124896

连接获取服务器的控制权限:

1680487138_642a32e20d9585332befc.png!small?1680487139012

0x04 总结

      在实战演练中经常会遇到WAF等安全设备,探测到目标系统可能存在某个漏洞后进一步利用时流量被识别自动拦截后,可以通过unicode编码、垃圾数据填充或者后端语言的功能等价替换等手段尝试绕过WAF流量测的检测,其关键点在于不断的尝试定位出安全设备过滤的关键字、标签或者某个函数。

      新华三御雷实验室协同盾山实验室,通过对畸形上传报文的覆盖优化上传文件的检测识别,同时加强对变形的webshell文件内容检测识别,新华三全系安全产品通过升级IPS特征库到最新版本可识别上文中的文件上传绕过利用的攻击流量。


文章来源: https://www.freebuf.com/articles/web/362390.html
如有侵权请联系:admin#unsafe.sh