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逃逸,整体还是挺有收获的