Tiki:利用某CMS漏洞绕过管理员认证


靶机下载地址

1.信息收集

端口扫描:

端口信息及思路:

22: ssh OpenSSH 8.2p1 —— 公钥、私钥

80:http —— 源码找线索、目录扫描、功能点测试

139和455:samba —— enum4linux工具枚举

nmap扫描出了80端口的robots.txt文件,显示目录/tiki/,访问该目录:

这是一个名为tiki的CMS系统,看到CMS系统一般就想到想办法登录到管理员,然后注入反弹shell。

2.枚举samba服务

那么查看一下samba吧,用enum4linux扫描靶机:

用户名为silky

发现用户名:silky

samba share枚举中发现名为Notes的Share可以利用,尝试无用户名密码登录:

smbclient -U '' //192.168.71.153/Notes

连接成功!查看内容,Mail.txt文件中泄露了silky账户的CMS系统密码,还提示了CMS存在0 day漏洞。

3.利用CMS漏洞绕过管理员认证

利用账号密码silyky:51lky571k1登录tiki CMS系统:

在Silkys Homepage 中写道,他发现了一个CVE漏洞,但是不知道编号。这又是在提示需要利用这个漏洞。我去exploit-db搜了“tiki”,显示漏洞很多不知道哪一个。后来发现可以点击“History”按钮查看编辑记录,这篇文档编辑记录很多,显然有猫腻。

终于在第二篇编辑记录里发现了CVE编号。

漏洞CVE号:CVE-2020-15906

漏洞描述:在Tiki 21.2 之前的 版本中,tiki-login.php 在 50 次无效登录尝试后将管理员密码设置为空值。

想到用burpsuite登录50次,把拦截的登录数据包发送到“Intruder”模块,payload设置在密码处,然后随便加50个密码,我这里是数字1-50,然后进行攻击。

拦截数据包发送到Intruder

设置密码1-50

数据包发送中

攻击完成之后,再次登录会有以下提示:50次以上密码错误,账号已停用。

再次拦截登录数据包,把密码部分删除,即为“空”。

然后点击“Intercept is on”切换为off状态,放出修改后的数据包,页面跳转,以admin用户登录成功!

登录之后,这里找了半天反弹shell注入点,但是事实证明我想多了,在Wiki里面有一个“Credentials”页面,直接把账号密码写里面了!(-。-!)

4.获取root权限

用账户密码silky:Agy8Y7SPJNXQzqA登录ssh:

连接成功!当前用户为silky,发现该用户拥有sudo权限:

用sudo su命令,输入silky的密码,提权到root用户成功!获取到flag。

5.总结

这个靶机是我没查别人的wp,完全靠自己做出来的第一个靶机。虽然简单吧,比如提权,可以说是完全没考察什么知识点,但是自己从头到尾做出来还是很开心的,怎么说呢,一个小菜鸟通过努力学习还是有进步哒!

这个靶机主要是考察对N day漏洞的利用能力,这个靶机提示了漏洞编号,很多是没有提示的,就是要靠自己对靶机应用的理解去筛选。

还有就是我把简单的问题想复杂了,看到CMS首先想到的是注入反弹shell,验证了好几个功能甚至还上传了shell.php文件,然后找不到触发点。但是这个靶机是把账密直接给你了,不然开22端口干嘛?直接反弹shell就好了啊!所以要综合考虑,大多数情况下,靶机的每个开放端口都不白给。


文章作者: Summer One
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Summer One !
  目录