文章插图
大家好,我是银基Tiger Team的BaCde,今天来说说MQTT协议的安全 。
MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅方式的消息协议,由 IBM 发布 。由于其轻量、简单、开放和易于实现的特点非常适合需要低功耗和网络带宽有限的IoT场景 。比如遥感数据、汽车、智能家居、智慧城市、医疗医护等 。
MQTT协议MQTT协议为大量计算能力有限,低带宽、不可靠网络等环境而设计,其应用非常广泛 。目前支持的服务端程序也较丰富,其php,JAVA,Python,C,C#等系统语言也都可以向MQTT发送相关消息 。目前最新的版本为5.0版本,可以在https://github.com/mqtt/mqtt.github.io/wiki/servers 这个连接中看到支持MQTT的服务端软件 。其中hivemq中提到针对汽车厂商的合作与应用,在研究过程中会发现有汽车行业应用了MQTT协议 。
文章插图
以下列举我们关心的几项:
- 使用发布/订阅的消息模式,支持一对多的消息发布;
- 消息是通过TCP/IP协议传输;
- 简单的数据包格式;
- 默认端口为TCP的1883,websocket端口8083,默认消息不加密 。8883端口默认是通过TLS加密的MQTT协议 。
消息的发送方被称为发布者,消息的接收方被称为订阅者,发送者和订阅者发布或订阅消息均会连接BROKER,BROKER一般为服务端,BROKER存放消息的容器就是主题 。发布者将消息发送到主题中,订阅者在接收消息之前需要先“订阅主题” 。每份订阅中,订阅者都可以接收到主题的所有消息 。
文章插图
其MQTT协议流程图如下:
文章插图
这里不对协议进行过多介绍,感兴趣的大家可以结尾处的引用查看 。
MQTT的攻击点根据其特性,可以扩展如下几个攻击点:
- 授权:匿名连接问题,匿名访问则代表任何人都可以发布或订阅消息 。如果存在敏感数据或指令,将导致信息泄露或者被恶意攻击者发起恶意指令;
- 传输:默认未加密,则可被中间人攻击 。可获取其验证的用户名和密码;
- 认证:弱口令问题,由于可被爆破,设置了弱口令,同样也会存在安全风险;
- 应用:订阅端明文配置导致泄漏其验证的用户名和密码;
- 漏洞:服务端软件自身存在缺陷可被利用,或者订阅端或服务端解析内容不当产生安全漏洞,这将导致整个系统 。
MQTT的利用目前已经有针对MQTT的开源利用工具,这里主要以mqtt-pwn这块工具为主 。mqtt-pwn这块工具功能强大易用 。github地址为https://github.com/akamai-threat-research/mqtt-pwn,使用文档地址为https://mqtt-pwn.readthedocs.io/en/latest/ 。
工具安装mqtt-pwn的安装很简单 。可以直接安装到本机,也可以直接使用Docker的方式 。文本直接使用docker方式 。首先确保已经安装docker和docker-compose 。然后运行如下命令进行安装:
git clone https://github.com/akamai-threat-research/mqtt-pwn.gitcd mqtt-pwndocker-compose up --build --detach
运行:docker-compose psdocker-compose run cli
即可看到mqtt-pwn的界面 。文章插图
MQTT匿名访问
有一些MQTT的服务端软件默认是开启匿名访问,如果管理员没有网络安全意识或懒惰,只要对公网开放,任何人都可以直接访问 。
使用mqtt-pwn的connect命令进行连接 。connect -h 显示帮助信息,其他命令也是如此,使用时,多看帮助和文档,很快就可以熟悉使用 。对于开启匿名的服务,直接connect -o host 即可,当然该命令也支持输入用户名和密码 。如果没有显示连接异常,就表示连接成功 。连接成功后,可使用system_info 查看系统信息 。
文章插图
接下来就可以查看topic信息等内容 。这时先执行discovery,等待显示scan #1 has finished,接下来执行scans -i 序号,在执行topics命令即可看到topic信息 。其中disconvery可以使用-t参数设置超时时间 。topics命令可以使用-l参数设置查看条数 。
推荐阅读
- 竹节虫是保护动物吗 竹节虫能活多久
- 世界上有没有食人花这种植物 世界上有没有食人花和食人
- 长江白鳍豚的最新发现 白鳍豚是生活在我国长江流域的珍稀哺乳动物吗
- 宇宙最早的生物是什么 人类可能是宇宙中第一个文明
- 食品安全|好丽友澄清配料“双标”问题:在韩国用的也是代可可脂
- 通俗的说,暗物质就是宇宙中 暗物质是指宇宙中
- 冬季干燥皮肤该如何保湿?5类食物当仁不让
- 高血压患者如何安全“过冬”
- 冬季成老年人“绝命杀手” 10招让老人安全过冬
- 隐匿性肾炎严重威胁着儿童安全 冬季该如何预防