一、介绍
运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:FunBox 9(10.0.2.37)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/funbox-gaokao,707/
二、信息收集
使用nmap主机发现靶机ip:10.0.2.37
使用nmap端口扫描发现靶机开放端口:21、22、80、3306
21端口:nmap扫描发现ftp存在匿名登录,使用ftp匿名登录,下载welcome.msg
文件
ftp 10.0.2.37
ls
get welcome.msg
查看该文件,并没有发现有用的信息
对比ftp登录信息,可以怀疑sky
为一个用户名
22端口:nmap扫描发现22端口为OpenSSH 7.6p1
,可以使用命令searchsploit OpenSSH 7.6p1
搜索OpenSSH的历史漏洞,发现用户枚举漏洞
但执行exp发现靶机没有该漏洞或者漏洞已经修复
80端口:打开网站发现是apache2默认页面,查看源码也没有发现隐藏信息
使用dirsearch、dirb工具进行目录爆破,没有发现什么目录信息
三、漏洞利用
可以尝试对sky用户名进行暴力破解
#mysql暴力破解
hydra -l sky -P /usr/share/wordlists/rockyou.txt 10.0.2.37 mysql -t 64
#ssh暴力破解
hydra -l sky -P /usr/share/wordlists/rockyou.txt 10.0.2.37 ssh -t 64
#ftp暴力破解
hydra -l sky -P /usr/share/wordlists/rockyou.txt 10.0.2.37 ftp -t 64
发现只有ftp爆破成功得到用户名密码:sky\thebest
使用sky账号登录ftp,查看当前目录下的文件,发现一个flag,将flag下载下来查看
发现user.flag
是一个shell脚本文件
在user.flag
文件里面写入反弹shell命令,再把它上传回去,根据经验这个可能是一个计划任务,不是也不亏,总要尝试一下
主机监听,等待获取shell成功
获取交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
我们可以查看计划任务crontab -l
,user.flag
确实设置了计划任务
四、提权
查看该用户是否具有特权命令sudo -l
,发现需要输入密码,没有密码查看不了
查看该具有root权限的文件
find / -perm -u=s -type f 2>/dev/null
发现/bin/bash
可以使用该文件进行提权,执行命令如下,获得root权限:
/bin/bash -p
获取flag