Vulnhub靶机:hacksudo2 (HackDudo)

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:hacksudo2 (HackDudo)(10.0.2.44)

目标:获取靶机root权限和flag

靶机下载地址:https://download.vulnhub.com/hacksudo/hackdudo2.rar

二、信息收集

使用nmap主机发现靶机ip:10.0.2.44

在这里插入图片描述

使用nmap端口扫描发现,靶机开放端口:80、111、1337、2049、37205、45247、56943、60739

在这里插入图片描述

80端口:打开网站未发现可利用的功能点,查看源码也没有发现隐藏信息

在这里插入图片描述

直接使用dirsearch工具进行目录爆破

在这里插入图片描述

将爆破得到的目录和文件一个个访问,发现file.php、info.php两个文件比较可疑

在这里插入图片描述

在这里插入图片描述

根据网页上的提示,使用wfuzz工具探测,看看file.php文件是否存在文件包含LFI

wfuzz -w /usr/share/wordlists/wfuzz/general/common.txt http://10.0.2.44/file.php?FUZZ=/etc/passwd

在这里插入图片描述

发现一个参数file,浏览器访问,成功回显passwd文件内容

在这里插入图片描述

2049端口:根据nmap扫描分析2049端口开放了NFS服务,尝试查看靶机利用NFS共享的全部文件夹,发现开放/mnt/nfs文件夹

showmount -e 10.0.2.44

在这里插入图片描述

在攻击机上面创建一个文件夹/tmp/,将靶机上的共享文件挂载到该文件上面。

mount -t nfs 10.0.2.44:/mnt/nfs tmp -o nolock

在挂载成功之后我们可以通过df -h命令查看所有的本地磁盘的信息

在这里插入图片描述

查看共享文件夹里面的文件,发现flag1.txt

在这里插入图片描述

三、漏洞利用

利用文件包含漏洞读取靶机上的文件,看看有没有可利用的信息。直接读取文件,但大多数时候很多信息无法直接显示在浏览器页面上,可以将文件内容进行base64编码后显示在浏览器上,再自行解码。

http://10.0.2.44/file.php?=php://filter/convert.base64-encode/resource=file.php
尝试读取:
/home/hacksudo/.bash_history
/home/hacksudo/.bash_logout
/home/hacksudo/.bashrc
/home/hacksudo/.ssh/id_rsa

读取均未发现什么可利用的信息

想到2049端口开放了NFS服务,我们可以直接将反弹shell脚本上传到共享文件夹,然后使用文件包含漏洞包含上传的shell,反弹shell

在这里插入图片描述

访问上传的webshell,反弹shell

http://10.0.2.44/file.php?file=/mnt/nfs/php-reverse-shell.php

在这里插入图片描述

获取交互式shell

python3 -c 'import pty; pty.spawn("/bin/bash")'

在这里插入图片描述

四、提权

方法一:

查看靶机是否存在特权文件,或可利用的具有root权限的文件,发现/usr/libexec/polkit-agent-helper-1文件

find / -perm -u=s -type f 2>/dev/null

在这里插入图片描述

该版本的polkit存在提权漏洞CVE-2021-4034,因为靶机没有gcc环境,可以上传已经编译好的exp(因为靶机和本机运行库的版本存在很大差异,如果直接在本机编译,在靶机运行会报错,所以我是在另一个已经攻克的靶机里面进行编译的)

在这里插入图片描述

执行exp,获得root权限

在这里插入图片描述

方法二:

当服务器中存在NFS共享,且开启了no_root_squash选项时,这时如果客户端使用的是root用户,那么对于共享目录来说,该客户端就有root权限,可以使用它来提升权限。

使用攻击者本地root权限创建Suid shell。

cp /bin/bash shell
chmod u+s shell

在这里插入图片描述

回到要提权的服务器上,使用普通用户使用shell -p来获取root权限。

在这里插入图片描述

发现报错,可能是靶机的bash环境和本地的bash环境版本问题导致的

在这里插入图片描述
在这里插入图片描述

我们找到一个合适版本的bash,再次尝试,提权成功

在这里插入图片描述
在这里插入图片描述

获取flag

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/368204.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

双非本科准备秋招(15.3)—— 力扣二叉树

今天学了二叉树结点表示法,建树代码如下。 public class TreeNode {public int val;public TreeNode left;public TreeNode right;public TreeNode(int val) {this.val val;}public TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left …

C++ | 部分和函数partial_sum的使用技巧

如果你需要处理一个数组的前缀和,或者数组中某一段元素的前缀和,你会怎么做呢? partial_sum函数是STL中的函数,用于计算范围的部分和,并从结果开始分配范围中的每个元素,range[first,last)中相应元素的部分…

MH-ET LIVE Boards(ATTiny88)实验一---点亮板载灯

MH-ET LIVE Boards(ATTiny88)实验一点亮板载灯 在Arduino IDE中添加开发板资源包加入开发板json添加开发板 安装开发板驱动方法一:github下载2.0a4.rar方法二:开发板的package包中自带的2.0a4.rar安装驱动确认安装成功 blink.ino程序测试![在…

知识图谱嵌入学习在推理方法中的应用与挑战

目录 前言1 关系推理的嵌入模型1.1 嵌入模型介绍1.2 模型的差异1.3 嵌入模型的发展趋势 2 符号推理与向量推理3 嵌入模型的多样性4 强化学习与挑战5 元关系学习结论 前言 在人工智能领域,推理一直是关键任务之一。然而,传统的符号推理受限于人工定义&am…

【Vitis】Vitis HLS学习系列笔记 :第一个例程

在学习vitis的过程中一定要跑几个例程试试看,这中间遇到了几个小问题,记录下 有干货,请注意查收:作为新手,跑例程大概率会遇到问题,这里记录几个问题,如果刚好你也遇到,一定会帮到你…

每日一题——LeetCode1389.按既定顺序创建目标数组

方法一 splice 使用splice函数就可以在数组的指定索引位置添加元素 var createTargetArray function(nums, index) {let res[]for(let i0;i<nums.length;i){res.splice(index[i],0,nums[i])}return res }; 消耗时间和内存情况&#xff1a; 方法二 模拟 如果res[index[…

计算机网络——链路层(1)

计算机网络——链路层&#xff08;1&#xff09; 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c; [跳转到网站](https://www.captainbed.…

[每日一题] 02.03 - 质因数分解

质因数分解 枚举到n的平方根&#xff08;得包括平方根&#xff09; 偶数去除 import math n int(input()) if n % 2 0:print(max(n // 2,2)) else:for i in range(3,int(math.sqrt(n)) 1,2):if n % i 0:print(max(n // i,i))

2023年度总结 | 关于意义,爱与回望——写给清醒又无知的20岁

Hi&#xff0c;大家好&#xff0c;我是半亩花海&#xff0c;一名再普通不过的大学生。2023年&#xff0c;20岁&#xff0c;充实而零乱的一年&#xff0c;清醒又无知的一年。年末&#xff0c;最近的一些事儿也让我逐渐地有感而发&#xff0c;心静&#xff0c;除杂&#xff0c;思…

redis布隆过滤器(Bloom)详细使用教程

文章目录 布隆过滤器1. 原理2. 结构和操作3. 特点和应用场景4. 缺点和注意事项 应用-redis插件布隆过滤器使用详细过程安装以及配置springboot项目使用redis布隆过滤器下面是布隆过滤器的一些基础命令 扩展 布隆过滤器 Bloom 过滤器是一种概率型数据结构&#xff0c;用于快速判…

在低代码平台上实现精益软件开发:提高效率与灵活性的关键实践

什么是精益软件开发&#xff1f; 精益软件开发是一种敏捷的软件开发框架。它基于最小化浪费和最大化价值的原则。该框架基于最小可行产品策略运行&#xff0c;该策略强调交付具有基本基本功能的产品&#xff0c;然后根据收到的反馈进行迭代以即兴发挥并提供卓越。 精益软件开发…

编译opencv4.6问题汇总,第三方软件包见我发的资源

win10系统 python3.8.2&#xff0c;cmake-3.15.5-win64-x64&#xff0c;opencv4.6 编译方式见&#xff1a;OpenCV的编译 - 知乎 本文主要总结问题。赠人玫瑰手留余香。 问题1 Problem with installing OpenCV using Visual Studio and CMake (error code: MSB3073) 解决方法…

魔改冰蝎 —— 绕过检测,自动生成免杀后门

为什么要魔改工具&#xff1f; 生成的代码很容易被监测 生成的后门很容易被杀软杀掉 了解冰蝎流量特征 开启http代理&#xff0c;数据经过BP抓包进行分析数据 冰蝎数据包分析&#xff1a; 1、三个请求头固定 AcceptAccept-LanguageUser-Agent&#xff08;内部有十个&a…

VSCODE使用ssh远程连接时启动服务器失败问题

错误情况 ping服务器的ip可通并且使用terminal可以ssh连接到远程服务器。但使用vscode的remote-ssh时&#xff0c;在「输出」栏出现了一直报 Waiting for server log… 的情况&#xff01; 解决方法一 重置服务器设置&#xff0c;包括以下手段&#xff1a; 1.清理服务器端的…

问题:测风站应设置在平直的巷道中,其前后()范围内不得有障碍物和拐弯等局部阻力。 #微信#媒体

问题&#xff1a;测风站应设置在平直的巷道中&#xff0c;其前后&#xff08;&#xff09;范围内不得有障碍物和拐弯等局部阻力。 参考答案如图所示

windows安装配置anaconda 创建并激活自己的虚拟环境(亲测可行,装不好你打我)

一.下载 选择一&#xff1a;进入清华镜像选择过去的版本 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 本人电脑配置不高&#xff0c;并且一般过去的版本比较稳定&#xff0c;因此保守起见选择2022年5月的版本。 选择二&#xff1a;进入官网&#xff0c;下载最…

备战蓝桥杯---搜索(应用基础1)

话不多说&#xff0c;直接看题&#xff1a; 显然&#xff0c;我们直接用深搜&#xff0c;我们可以先把空位用结构体存&#xff0c;然后打表存小方块&#xff0c;再用数组存行列。 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int a[12][12];…

【Python小游戏】五子棋小游戏(完整代码)

文章目录 写在前面Tkinter简介五子棋小游戏游戏介绍程序设计运行结果注意事项写在后面写在前面 本期内容:基于tkinter开发一个五子棋小游戏 实验环境 python3.11及以上pycharmtkinterTkinter简介 Tkinter是Python中最常用的图形用户界面(GUI)库之一,用于创建窗口、对话框…

SqlSever查询某个表的列名称、说明、备注、注释,类型等信息

背景:在工程项目中,有时需要对数据查询进行展示,常规的表格展示虽然能解决大部分问题;但在数据量比较大的情况就如果一次完整的展示信息,势必会造成数据加载中增加耗时,影响数据的展示效果;常规的解决方案都是在数据加载中采取分页的模式,降低数据的加载耗时;但如果要…

Servlet(未完结~)

文章目录 前言1 Servlet简介2 Servlet初识2.1 Servlet开发流程2.2 配置欢迎页 3 Servlet案例开发!3.1 开发登录页3.2 开发后台Servlet3.3 配置Servlet 4 HttpServletRequest4.1 回顾http请求4.2 自定义servlet流程图4.3 HttpServletRequest4.4获取请求行信息4.5获取请求头信息4…