Modbus协议作为一个久经考验、值得信赖的通信协议,被广泛应用于工业领域。然而,随着其普及度的提升,Modbus协议面临的安全隐患也逐渐浮出水面,包括身份认证缺失、权限管理不足、加密机制缺乏以及完整性检测失效等问题。为了提升工业控制系统的安全防护能力,本文将对Modbus协议所遭遇的典型攻击手段进行深入研究与分析,旨在提高整个工控系统的安全防范水平。
Modbus协议是一种串行通信协议,被广泛应用于工业控制系统中。它是一种主从模式的协议,即主设备发送带有功能码的请求帧,从设备接收到请求帧后根据功能码执行相应的操作,并将结果存放在响应帧的数据区中,主设备接收到响应帧后进行解码并处理。
Modbus协议包括ASCII、RTU和TCP三种传输格式,主要由以下五个部分组成:
Modbus协议支持串行和以太网两种传输方式。在串行传输中,主设备通过串口发送RTU格式的数据帧,从设备接收到数据帧后进行解码并响应;在以太网传输中,主设备将数据帧发送至从设备的IP地址,从设备通过网络接口接收到数据帧并进行解码。
尽管Modbus协议在工业界应用广泛,但其安全性方面的不足也日渐显现。具体而言,恶意设备可能伪造请求帧进行非法访问,或者从设备可能返回虚假的数据,对系统造成误导。为了应对这些安全挑战,可以采取访问控制、数据加密、完整性校验和身份认证等措施来保护通信的安全性和可靠性。
下图揭示了黑客视角下攻击阶段与数据维度的详细剖析。此图不仅揭示了黑客在攻击过程中所使用的策略与技巧,而且展示了如何透过数据的多维度来增强安全防护。
通过执行nmap扫描,可以识别出目标对象暴露的服务端口;通过分析结果,可以获取目标对象的系统版本、内核版本以及开放的工控协议Modbus/TCP默认端口等敏感信息。这些信息对于攻击者而言具有重要的价值,可以用于进一步的漏洞利用和攻击。
从上述信息中,可以确定厂商、产品和版本号,如下图所示:
从数据交互的角度来看,nmap客户端采取了以下三种行为:
一旦成功获取设备指纹ID,黑客便可以在官方网站上轻松查询到该设备的版本信息。掌握设备的版本详情后,黑客就能够迅速识别出该设备可能存在的已知漏洞;利用这些信息,黑客可以设计出针对性的攻击策略。
通过解析功能码获取RTU地址,定位标识设备在网络中的位置,然后基于这些RTU地址,进行功能码扫描以确定设备所支持的各种功能属性。基于上述路径,黑客可以全面了解设备在网络中的工作和性能特性。
通过解析功能码成功获取到01功能码所对应的线圈寄存器地址,从而读取设备的状态信息。这种方法能够实现对设备信息的准确获取。
根据不同功能码的属性,对寄存器地址进行大范围尝试。
使用searchsploit命令对exploitdb数据库的本地副本进行查询,可以精确定位到发布漏洞的具体位置。在本次示例中,searchsploit的返回结果如下图所示,展示了漏洞的具体细节和相关信息:
由于Modbus协议采用明文方式传输,因此很容易受到中间人攻击(MiTM)。这类攻击包括记录和重放攻击。例如,攻击者可以记录Modbus协议的报文载荷,然后通过与scapy或者Modbus VCR和Ettercap等工具配合使用,将这些记录的报文进行重放。
原文始发于微信公众号(数世咨询):Modbus协议安全挑战:典型攻击手段深入剖析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/2791751.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论