Joomla Unauthorized”后”渗透到RCE

Joomla Unauthorized”后”渗透到RCE

Betta 火线Zone 2023-04-14 17:06

前言

前文已经分析过了Joomla Unauthorized的漏洞成因,总的来说是由于函数array_merge()变量覆盖引起的,未授权的api接口很多。

Joomla Unauthorized RCE1

api路径

api/index.php/v1/config/application?public=true

http://joomla.net:8011/api/index.php/v1/config/application?public=true

登录mysql写入webshell,有条件限制
– 通过log写入webshell

数据库的当前用户为ROOT或拥有FILE权限;(FILE权限指的是对服务器主机上文件的访问)
明确网站路径
general_log参数值为ON
general_log_file参数为webshell路径
  • 通过函数outfile写入webshell(该传统方式不可行

Joomla漏洞版本无注入点无法通过注入点和outfile函数写入webshell

Joomla Unauthorized RCE2****


进入后台administrator的方法1

通过未授权api

api/index.php/v1/users?public=true

可读取用户信息,使用社工方式暴力破解登录后台,利用进行RCE

进入后台administrator的方法2
– 修改模板文件

获取mysql权限后执行sql语句或者使用工具修改后端管理员密码或者其他用户密码,joomla有自己的加密算法,所以也没必要破解他们的加密方式,老版本搭建后使用用户的哈希值更换

Toggle Menu->Users-Manage

123456123456::$2y$10$GauLOsp1NBJLO0FGjlqhxOu8LZe9wconNuPwqgjX/pGxAqn7dL5ba

修改admin的密码为该密码

可登录后台

后台RCE的两种方式

Toggle Menu->System->Templates->Site Templates->cassiopeia

修改模板文件,添加恶意代码实现命令执行,获取webshell

测试webshell

  • 导入恶意插件

项目地址

https://github.com/p0dalirius/Joomla-webshell-plugin

路径

Toggle Menu->System-> Extensions

下载地址

https://github.com/p0dalirius/Joomla-webshell-plugin/releases/tag/1.1

上传下载的恶意插件

上传成功后查看插件管理

http://joomla.net:8011/administrator/index.php?option=com_installer&view=manage

http://joomla.net:8011/modules/mod_webshell/mod_webshell.php?action=exec&cmd=whoami

成功执行命令

当前目录下创建一个1.txt,,文件内容如下

http://joomla.net:8011/modules/mod_webshell/mod_webshell.php?action=download&path=./1.txt

文件内容为

参考文章

https://github.com/p0dalirius/Joomla-webshell-plugin

https://vulncheck.com/blog/joomla-for-rce

往期推荐

火线Zone是火线安全平台运营的安全社区,拥有超过20,000名可信白帽安全专家,内容涵盖渗透测试、红蓝对抗、漏洞分析、代码审计、漏洞复现等热门主题,旨在研究讨论实战攻防技术,助力社区安全专家技术成长,2年内已贡献1300+原创攻防内容,提交了100,000+原创安全漏洞。

欢迎具备分享和探索精神的你加入火线Zone社区,一起分享技术干货,共建一个有技术氛围的优质安全社区!