Skip to content

Latest commit

 

History

History
125 lines (82 loc) · 6.03 KB

PLC攻击.md

File metadata and controls

125 lines (82 loc) · 6.03 KB

PLC攻击


免责声明

本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


PLC的概念

PLC 控制系统(Programmable Logic Controller,可编程逻辑控制器),专为工业生产设计的一种数字运算操作的电子装置,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。是工业控制的核心部分。简要的说,PLC 就是一部小型的工业电脑。

PLC 的关键技术在于其内部固化了一个能解释梯形图语言的程序及辅助通讯程序,实际上,设计一台 PLC 的主要工作就是开发解释梯形图语言的程序。

PLC的使用介绍

相关文章

漏洞利用框架

  • dark-lbp/isf - 基于 Python 开发的工控方面漏洞利用框架,类似 MetaSploit

设备解密


仿真搭建

Siemens

相关文章

仿真工具

目前西门子 PLC 主要使用的软件包括 STEP7-Micro/WIN SMART、SIMATIC STEP7 以及 TIA Portal。TIA Portal 已经完全兼容 STEP 7,因此以后应该是 STEP 7-MicroWIN SMART 作为小型 PLC 的编程软件。

  • Snap7 Homepage - 一款开源的 32/64 位多平台以太网通信套件,用于与西门子 S7 PLC 进行本地连接。

实验记录


OpenPLC

介绍

OpenPLC 是一个基于易于使用软件的开源可编程逻辑控制器。OpenPLC 项目是根据 IEC 61131-3 标准创建的,该标准定义了 PLC 的基本软件架构和编程语言。

官网

相关文章

实验记录


Modbus

相关文章

仿真工具

实验记录


Schneider

相关文章

Schneider Modicon Remote START/STOP Command

use auxiliary/admin/scada/modicon_command
set MODE STOP
run

PLC inject

介绍

PLC inject 可以通过公网 PLC 访问到深层次的工业网络。可以实现的方法就是将 PLC 变成网关,这种方法在缺乏适当的防护功能的 PLC 上是可行的。技术娴熟的攻击者拥有某一个 PLC 的访问权限时,可以往上面上传或者下载代码,只要 PLC 设备支持对应的编码格式。而且代码被上传到 PLC 中后,就有很难被发现的特点,因为它不会中断程序的运行。当恶意代码被注入到 PLC 中后,会增加 PLC 中的代码量,如果我们定时观测原有代码和注入恶意代码后的程序,这两者的运行效果有明显的差异,然而其对生产过程的影响微乎其微。除非管理者主动监听从 PLC 中发出的恶意访问流量,否则很难在生产过程中发现。

攻击过程

攻击者注入代码后,它会与 PLC 上的正常代码一起运行;对本地网络进行扫描,同时攻击者可以从 PLC 中下载扫描结果,之后在注入一个 socks 代理,攻击者可以通过通过充当代理的 PLC 访问本地网络内的所有 PLC。

相关文章/资源

相关工具