-
0x01 阅读须知
-
0x02 MQTT简介
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为远程连接设备提过实时可靠的消息服务,作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
-
0x03 环境搭建
在这里我是用ubuntu来搭建MQTT服务器。
安装MQTT服务:
sudo apt-get install mosquitto mosquitto-clients -y
安装完成后查看是否安装成功:
sudo systemctl status mosquitto.service
可以看到MQTT服务已经在运行了,接下来是修改配置文件。
,一般存放在 /etc/mosquitto 目录下
sudo vim /etc/mosquitto/mosquitto.conf
在文件最底下添加如下内容:
listener 1883
allow_anonymous true
password_file /etc/mosquitto/pwfile.example
内容解析:
listener是MQTT监听的端口号,可以自行修改。
allow_anonymous是匿名访问漏洞的罪魁祸首,当为true时,便支持匿名访问,为false则禁止匿名访问。
password_file是存放MQTT账号密码的文件参数。
修改完后文件内容如下:
使用 mosquitto_passwd 可以添加账号密码。
使用方法:mosquitto_passwd 存放密码文件路径 账号
命令如下:
sudo mosquitto_passwd /etc/mosquitto/pwfile.example test
原来内置了一些账号,如果不想用内置账号,也可以使用 -c 来指定创建存放密码文件路径,需要在配置文件中修改password_file。
配置完MQTT协议后需要重启MQTT服务。
命令如下:
sudo systemctl restart mosquitto.service
接下来运行MQTT协议 发布和订阅 主题就行了。
订阅主题命令:
sudo mosquitto_sub -h 服务器ip -t 订阅的主题 -u 用户名 -P 密码
发布主题命令:
sudo mosquitto_pub -h 服务器ip -t 订阅的主题 -u 用户名 -P 密码 -m 发布的消息
-
0x04 工具搭建
-
0x05 攻击复现
1、匿名访问漏洞复现
MQTT-PWN 自带匿名访问功能
匿名连接命令:
connect -o ip
验证命令:
system_info
出现MQTT协议基础信息,证明存在MQTT匿名访问漏洞。
先执行 discovery
待出现 finished! 的字样
再执行 scans 查看发现了哪些主题,使用 -i 参数接 id 订阅
scans -i 1
最后执行 messages 可查看通信的消息
具体是怎么执行的,我还没研究,就先到这吧。
修复建议:
在配置文件中将 allow_anonymous 参数修改为 flase,若配置文件中没有该参数,添加一个即可。
2、暴力破解攻击复现
MQTT-PWN自带有暴力破解功能,由于MQTT协议默认开启了匿名访问,我们需要先把MQTT协议的匿名访问配置禁用了,再进行暴力破解测试。
打开mqtt配置文件,修改allow_anonymous参数为false即可,重启mqtt协议即可
sudo vim /etc/mosquitto/mosquitto.conf
sudo systemctl restart mosquitto.service
sudo mosquitto_sub -h 192.168.111.131 -t test -u "test" -P "test"
配置完MQTT协议的信息如下:
重启MQTT协议后,启动MQTT-PWN进行暴力破解。
sudo docker-compose run cli
暴力破解的命令如下:
bruteforce --host ip --port port
1883 端口
MQTT-PWN会根据自带的用户名字典和密码字典进行暴力破解,自带的字典在 mqtt-pwn/resources/wordlists/ 目录下,当然你也可以自定义字典,只需将字典进行替换即可。
得到账号密码,进行账号密码连接即可。
connect -o 192.168.111.131 -u test -w test
-
0x06 结语
原文始发于微信公众号(花果山讲安全):记录第一次对MQTT协议的渗透测试经历
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论