MonitorsTwo - HackTheBox
端口还没扫完,直接浏览器访问一下,Google一搜,RCE
CVE-2022-46169-CACTI-1.2.22
直接拿下
Get User Flag
但是www-data用户连家目录都无,这里没有找到user flag
直接上Linpeas 收集一下信息,发现了一个脚本 entrypoint.sh
和两个数据库密码
这里也是一个连接数据库的脚本,倒是发现了有个host为db的数据库
db的地址找不到,不过有个172.19.0.3
,我们可以尝试连接
结果就是失败了
这里是在没办法了,去网上找了一下writeup,发现大伙使用 getent
发现的数据库地址
getent
命令用来查看系统的数据库中的相关记录。即使这些数据库不是在本地,比如 ldap 或者 nis 中的数据库,也可以使用 getent 查看。
Docker 逃逸
登录MySQL成功,本来想在mysql.user里面查信息的,结果Password这一列直接被删。于是转战cacti
使用john爆破一下,得出明文密码
拿下User Flag
Get Root Flag
SUID和sudo看了一下是没有了,直接上linpeas再查查
倒是发现了个at提权漏洞
结果环境里就没有安装gcc…
又在linpeas里面翻了很久,根据里面的信息可以察觉到这里和CACTI(上面那个Shell)应该是两个机器,根据进程信息可以判断这边应该跑着Docker,CACTI可能就是个容器
于是查一下Docker版本看看有没有nday
还真有,该漏洞允许非特权Linux用户访问和运行容器内的程序。
找到EXP直接开冲:https://github.com/UncleJ4ck/CVE-2021-41091
但是跑完之后还是没成功嘛,认真看一下,我们需要先在容器内给/bin/bash
加上SUID
又回到CACTI里面提权,SUID这里发现了capsh
可以进行提权
再回去试试
拿下!这台靶机,开局直接送个Shell,我还在想这也太简单了。结果是个Container环境,还得Docker逃逸,整体还是挺有收获的