一、信息收集
扫描目标主机机器开放端口
?
nmap扫描开放端口详细服务
?
扫描两个端口下的web目录,80端口有内容,10000端口下没有其他目录出现
?
访问web目录,首先是80端口下的目录
/reports目录需要用户名密码验证
?
robots.txt目录下
?
访问/ona目录,发现是一个web系统,浏览相关信息得到80端口index页面可能需要添加一条解析记录才可以访问
?
尝试添加记录并访问
?
结果还是不行
?
但是的话,可以发现,这是一个开源的项目,我们可以尝试去搜索相关的exp
?
目标网站上ONA的版本是18.1.1
所以可以选择下面的rb脚本或者sh脚本进行exp的利用
二、漏洞利用
需要说明,直接在msf中搜索ona的漏洞exp是没有结果的,需要将前面搜索到的exp复制到msf的exploit目录下
首先在msf的exploit目录下创建一个OpenNetAdmin文件夹,然后再复制exp过去
?
然后再msf中 reload_all 重新加载所有,再次搜索ona的exp
利用该exp
然后设置参数,进行攻击,成get shell
利用python开启一个新终端(可以记住,很有用的)
python -c 'import pty;pty.spawn("/bin/bash")'
接下来,用find命令查找当前用户的文件权限
find / -type f -user www-data
结果发现只有/var/www/html/reports/.htaccess有权限
查看/var/www/html/reports/.htaccess的内容
然后得到另一个文件地址
再查看/var/www/.htpasswd得到
douglas:$apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1
该用户名的密码是由aefhrt组成的十位密码
所以,这里经过搜索可以使用kali自带的密码工具crunch
然后再使用john进行密码的比对爆破,得到密码fatherrrrr
所以用户名密码为:
douglas :fatherrrrr
尝试登录1000端口以及80端口下的/reports
结果如下
接下来,尝试利用该用户名密码登录ssh,得到shell
然后查看该用户可以使用的sudo命令
发现,他可以以jen的身份无需认证运行/bin/cp命令
BUT,首先我们需要登录到jen用户
在这,发现jen用户其实可以没有密码ssh登录的,但是我们需要生成一个ssh密钥,然后用jen的/bin/cp 复制到其家目录下的.ssh文件夹下,然后再切换至jen用户
这里,需要使用ssh-keygen工具
首先,利用ssh-keygen生成一个公钥
然后以jen身份运行sudo复制该公钥
接下来,ssh至jen用户
注意到,有提示,说有新邮件,查看邮件
使用mail命令查看邮件
在邮件中得到,用户名密码
Moss :Fire!Fire!
切换至Moss用户
然后切换至moss家目录下,查看所有文件
发现有一个.games文件夹,查看
然后发现有一个upyourgame
Sudo chmod +x,并执行一下,提权成功