| 关键词: modbus 寄存器 施耐德 工控 命令 状态 kali 发电站 cli |
简单介绍: SCADA/ICS工控安全随着最近几年的重大国际安全事件频发得到了相当的重视黑掉一个发电站、一个水坝、一个工厂都可以引起相当巨大的后果与损失。 我们这篇所说的TM221 Modicon PLC是由施耐德电子开发的一款 PLC(programmabl logic contrllers 可编程逻辑控制器)设备 PLC在工控领域中有相当广泛的应用如油田、生产线、电网、发电站都有用到。 ![]() TM221 Modicon PLC 长这样: ![]() 实验用的工具 modbus-cli 在kali里面能够找到 想了解工控数据交互的同学最好先看下 Modbus : SCADA/ICS 的通讯协协议。 开始黑 ![]() : 第一步:上 shodan或者zoomeye找TM221=== ![]() 第二步:安装 modbus-cli=== 进入kali 安装 modbus-cli kali > gem install modbus-cli 用法 modbus-cli + 命令 modbus-cli Syntax 我们来看下有哪些命令 kali > modbus -help ![]() 基本的命令用法如下 kali > modbus [options] SUBCOMMAND [arguments] 第三部: TM221基本操作语法=== 从施耐德的官网上我们找到了基本语法 ![]() 第四部:用 Modbus-cli 独处寄存数据 === kali> modbus read === 命令功能: 用 modbus 读取前是个 0-9 寄存器的内容。 %MW100 -> 施耐德数据传输格式的的头 10 -> 读取寄存器数量 ![]() kali > modbus read ============================ 命令功能: 用 modbus 读取前是个 0-9 寄存器的内容。 400101 -> 施耐德子牌 modicon 数据传输格式的的头在这款PLC也可以使用效果相同 10 -> 读取寄存器数量 ![]() 第五步:读取线圈开关状态 === 当我们用%M100去做读取操作时如上表会返回一个布尔值。 这个值就代表这个线圈开关的状态,如果这个值为1则对应控制的设备就处于通电工作的状态。 ![]() 图中返回值显示目前 100 102 104 都处于开启状态 第六步:打开开关 === kali > modbus write ![]() 请求结束后我们在读取看看状态? ![]() 全打开了!!! 结论: 就这么简单 ![]() 。世界的另一头10个开关就被小白打开了,对应的设备是什么呢?那就不得而知了~ ![]() |
| 本文出处: https://www.toutiao.com/a6703035058900435469/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|