Vulnhub Walkthrough:Matrix-3

原文链接地址:https://www.hackingarticles.in/matrix-3-vulnhub-walkthrough/
Today we are going to take another CTF challenge from the series of Matrix. The credit for making this VM machine goes to “Ajay Verma” and it is another boot2root challenge where we have to root the server and capture the flag to complete the challenge.
你可以在这里下载该VM
安全等级:中级

渗透方法:
1.扫描
Netdiscover
NMAP
2.枚举
Web Directory Search
3.开发
Ghidra
SSH
4.提升权限
Exploiting Sudo rights
演练
扫描:
让我们通过扫描网络,并确定主机的IP地址开始的。我们可以通过使用Netdiscover确定我们的主机IP为192.168.1.104。

扫描
然后,我们使用Nmap的端口枚举。我们发现80端口是开放的,SSH是在端口6464和端口7331上运行在目标机器上打开。
命令: nmap -p- -A 192.168.1.104
在这里插入图片描述

枚举:
正如我们可以看到80端口是开放的,我们试图在我们的浏览器中打开的IP地址,但我们没有发现任何网页上的有用。
在这里插入图片描述
因此使用dirb进行目录枚举。
命令: dirb http://192.168.1.104
用DIRB暴力破解后,我们发现了一个名为/assets 的目录
在这里插入图片描述

我们在浏览器下/assets/ img / URL打开了assets目录,发现一个名为Matrix_can-show-you-the-door.png的图像文件。
在这里插入图片描述

我们先打开这个图片,但没有找到我们所使用的任何东西。然后,在观看的文件名正确,我们发现该文件的名称本身给了我们前进的道路。
所以我们用Martix的URL如下面的图像中,它为我们工作。从目录矩阵的内容,我们知道我们必须使字母的正确组合,以继续进行。
在这里插入图片描述
因此,在尝试了多种组合之后,我们更积极地利用我们的小大脑,将n/e/o/6/4组合起来,neo是《黑客帝国》电影中演员的名字,64号是我猜这个虚拟机创造者最喜欢的号码,因为他到处都在使用它。
在这里插入图片描述
我们下载的文件secret.gz,发现它实际上是一个txt文件,并包含用户名和密码。
命令: file secret.gz/下载文件 cat secret.gz//查看文件内容
在这里插入图片描述
破解后使用在线工具hashkiller哈希密码,发现密码为passwd文件。

如果从记得NMAP扫描,我们有一个端口7331打开,它与基本身份验证保护。
因此,我们试图打开URL http://192.168.1.104:7331并提示进行身份验证,所以我们用管理员:passwd作为用户名和密码,并能成功登录。

但是,我们找不到任何有用的数据存在,所以我们用DIRB与已获得的目录暴力破解用户名和密码。
暴力破解之后,我们发现了一个名为数据目录。
命令 : dirb http://192.168.1.104:7331 / -u admin:passwd
在这里插入图片描述
在数据目录中,我们发现它出来是DOS文件的文件名的数据
开发:
我们把需要谷歌我们最好的朋友的帮助下知道如何打开一个DOS文件。而一些研究之后,我们发现了一个名为Ghidra打开一个DOS文件的工具。
用Ghidra工具打开数据文件后,我们发现一个用户名和密码 guest:7R1n17yN30
在这里插入图片描述
正如我们已经从我们的nmap扫描知道有SSH在目标计算机上的端口6464上运行,因此我们尝试用上面找到用户名和密码的ssh目标机就能成功的登录。
命令: ssh [email protected] –p6464
Id
但是我们获得了restricted bash(rbash)shell,所以我们使用–t选项运行带有noprofile扩展的ssh,得到了来宾用户的完整shell.
正在检查来宾用户的sudo权限我们发现此用户可以使用其他用户trinity的权限运行/bin/cp。
命令: ssh [email protected] –p6464 –t “bash --noprofile”
sudo -l
在这里插入图片描述
提升权限:
要提升到一个更加特权的用户,我们所做的是我们创建了一个新的SSH密钥对,给读写执行权限id_rsa.pub文件,这样我们就可以把它复制到我们的目标位置。
命令: ssh-keygen
cd .ssh
chmod 777 id_rsa.pub

在这里插入图片描述
然后,我们利用sudo权限复制/home/trinity/.ssh/authorized_keys文件夹中的id_rsa.pub文件。现在我们可以使用id_rsa密钥使用trinity user访问目标机器的ssh。
检查trinity的sudo权限它可以使用根权限执行oracle文件。
命令: cp id_rsa.pub /home/guest
cd …
sudo -u trinity /bin/cp ./id_rsa.pub /home/trinity/.ssh/authorized_keys
ssh [email protected] -i /.ssh/id_rsa -p 6464
sudo -l
在这里插入图片描述
但是在/home/trinity目录中没有名为oracle的文件,因此我们使用echo命令创建了一个包含/bin/sh的oracle文件。最后,我们用sudo命令执行oracle文件,得到了root shell。
一旦你有了root shell,你就可以很容易地得到flag。
命令 : echo “/bin/sh” > oracle
chmod 777 oracle
sudo ./oracle
id
ls
cat flag.txt
在这里插入图片描述
作者:Auqib迩是一个认证的道德黑客,渗透测试,并与超过5年的网络和网络安全领域的经验的科技爱好者。

猜你喜欢

转载自blog.csdn.net/w1304099880/article/details/105152083