工控安全简单入门

0x00写在前面



工业4.0,物联网趋势化,工控安全实战化。安全从业保持敏感,本篇以科普角度对工控安全做入门分析,大牛绕过,不喜轻喷。

0x01专业术语



SCADA:数据采集与监视控制系统

ICS:工业控制系统

DCS:分布式控制系统/集散控制系统

PCS:过程控制系统

ESD:应急停车系统

PLC:可编程序控制器(Programmable Logic Controller)

RTU:远程终端控制系统

IED:智能监测单元

HMI:人机界面(Human Machine Interface)

MIS:管理信息系统(Management Information System)

SIS: 生产过程自动化监控和管理系统(Supervisory Information System)

MES:制造执行管理系统

0x02协议端口及测试脚本



协议科普

Modbus

MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上的MODBUS协议映射能够在应用数据单元(ADU)上引入一些附加域。

安全问题:

缺乏认证:仅需要使用一个合法的Modbus地址和合法的功能码即可以建立一个Modbus会话

缺乏授权:没有基于角色的访问控制机制, 任意用户可以执行任意的功能。

缺乏加密:地址和命令明文传输, 可以很容易地捕获和解析

PROFIBUS

一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术,可实现现场设备层到车间级监控的分散式数字控制和现场通信网络

DNP3

DNP(Distributed Network Protocol,分布式网络协议)是一种应用于自动化组件之间的通讯协议,常见于电力、水处理等行业。

简化OSI模型,只包含了物理层,数据层与应用层的体系结构(EPA)。

SCADA可以使用DNP协议与主站、RTU、及IED进行通讯。

ICCP

电力控制中心通讯协议。

OPC

过程控制的OLE (OLE for Process Control)。

OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。

BACnet

楼宇自动控制网络数据通讯协议(A Data Communication Protocol for Building Automation and Control Networks)。

BACnet 协议是为计算机控制采暖、制冷、空调HVAC系统和其他建筑物设备系统定义服务和协议

CIP

通用工业协议,被deviceNet、ControINet、EtherNet/IP三种网络所采用。

Siemens S7

属于第7层的协议,用于西门子设备之间进行交换数据,通过TSAP,可加载MPI,DP,以太网等不同物理结构总线或网络上,PLC一般可以通过封装好的通讯功能块实现。

其他工控协议

IEC 60870-5-104、EtherNet/IP、Tridium Niagara Fox、Crimson V3、OMRON FINS、PCWorx、ProConOs、MELSEC-Q。按需求自行查阅资料。

信息探测

协议测试脚本

PS:简要测试,大量脚本自行测试。

相关搜索引擎

Shodan搜索

PS:Shodan搜索引擎介绍 http://drops.wooyun.org/tips/2469

Zoomeye搜索

PS:敏感信息,你懂得。

Ethernet/IP 44818


1

nmap -p 44818 --script enip-enumerate.nse 85.132.179.*

Modbus 502


1

nmap --script modicon-info.nse -Pn -p 502 -sV 91.83.43.*

IEC 61870-5-101/104 2404


1

nmap -Pn -n -d --script iec-identify.nse --script-args=iec-identify -p 2404 80.34.253.*

Siemens S7 102


1

nmap -p 102 --script s7-enumerate -sV 140.207.152.*


1

nmap -d --script mms-identify.nse --script-args=‘mms-identify.timeout=500‘ -p 102 IP

Tridium Niagara Fox 1911


1

nmap -p 1911 --script fox-info 99.55.238.*

意义何在

上述NSE脚本意义:

定位工控系统及协议模块。

收集目标工控的信息,如版本、内网IP、模块、硬件信息等。

结合对应的NSE脚本进一步拓展,例如自定义空间搜素引擎。

脚本资源

Github测试脚本

https://github.com/atimorin/scada-tools

https://github.com/atimorin/PoC2013

https://github.com/drainware/scada-tools

https://github.com/drainware/nmap-scada

Exploit-db测试脚本

https://www.exploit-db.com/exploits/19833/

https://www.exploit-db.com/exploits/19832/

https://www.exploit-db.com/exploits/19831/

https://www.exploit-db.com/search/?action=search&description=scada&e_author=

0x03乌云工控漏洞的分析



工控相关漏洞分析

针对乌云主站的漏洞进行关键字搜索:工控(31)、SCADA(15)、Modbus(9)、PLC并进一步整合得到如下列表。

在以上的漏洞列表中,可以得出如下结论:

乌云工控漏洞的案例中,绝大多起因是弱口令(弱口令最多的是123456,其次是admin)、注入类漏洞。

能够挖出工控的精华漏洞的人也是特定的那几位,且在Kcon2015也有过演讲。

挖掘此类漏洞主要解决两个问题

如何找到工控相关的系统和地址

Getshell后,基于工控知识如何操控系统

根据漏洞中的细节可以进一步的复测和拓展,进而为工控系统的漏洞挖掘提供非线性思路。

结合GHDB关键字的搜素:例如inurl:SCADA……

链接地址含SCADA、Modbus等协议的关键字……

其他KEY:MIS、SIS、DCS、PLC、ICS、监控系统……

相关公司:南京科远、金风科技、天能集团、国电南瑞、华润燃气、积成电子、重庆三峰、东方电子……

至于利用以上四点去做什么,呵呵…

工控精华漏洞分析

乌云工控相关的精华漏洞如下7个,在思路亮点中分析了漏洞的核心,同样也可能是获得打雷精华的理由。几乎共同点均是操控了对应的工控系统。

0x04参考资源



工控专题

ZoomEye工控专题:http://ics.zoomeye.org/

Shodan工控专题:https://www.shodan.io/report/l7VjfVKc

牛人分享

Z-0ne专注于工控安全攻防技术研究 :http://plcscan.org/blog/

网络空间工控设备的发现与入侵:https://github.com/evilcos/papers

工控安全攻防演练场景实现分享(轨道交通):http://zone.wooyun.org/content/14428

工业网络渗透,直击工控安全的罩门(zph,暂无资料)

工控系统安全威胁与应对探索(Kimon)

Exploit PLC on the internet(Z-0ne):https://github.com/knownsec/KCon/tree/master/KCon%202015

其他参考

Google & baidu

协议安全分析专业公司——科诺康:http://www.codenomicon.com/cn/

Modbus通讯协议学习 - 认识篇:http://www.cnblogs.com/luomingui/archive/2013/06/14/Modbus.html

原文地址:https://www.cnblogs.com/HacTF/p/9248528.html

时间: 2024-10-07 21:44:38

工控安全简单入门的相关文章

工控安全入门分析

转载(http://bobao.360.cn/learning/detail/659.html) 0x00写在前面 工业4.0,物联网趋势化,工控安全实战化.安全从业保持敏感,本篇以科普角度对工控安全做入门分析,大牛绕过,不喜轻喷. 0x01专业术语 SCADA:数据采集与监视控制系统 ICS:工业控制系统 DCS:分布式控制系统/集散控制系统 PCS:过程控制系统 ESD:应急停车系统 PLC:可编程序控制器(Programmable Logic Controller) RTU:远程终端控制系

工控安全入门之 Ethernet/IP

工控安全入门之 Ethernet/IP Ethernet/IP 与 Modbus 相比,EtherNet/IP 是一个更现代化的标准协议.由工作组 ControlNet International 与 ODVA 在 20 世纪 90 年代合作设计.EtherNet/IP 是基于通用工业协议(Common Industrial Protocol,CIP)的.CIP 是一种由 ODVA 支持的开放工业协议,它被使用在诸如 DeviceNet 和 ControlNet 以及 EtherNet/IP 等

工控安全入门之Modbus(转载)

工控安全这个领域比较封闭,公开的资料很少.我在读<Hacking Exposed Industrial Control Systems>,一本16年的书,选了的部分章节进行翻译,以其抛砖引玉. MODBUS Modbus是20世纪70年代后期由Modicon(现为施耐德电气)为了配合其可编程逻辑控制器(PLC)一起使用,创建的基于串行的控制协议.Modbus是最常见的工业控制协议,主要是因为Modbus是一种开放的简单而强大的协议,可以在没有任何版税的情况下开放使用.自从引入Modbus以来,

工控安全入门之Ethernet/IP

这一篇依然是协议层面的,协议层面会翻译三篇,下一篇是电力系统中用的比较多的DNP3.这一篇中大部分引用的资料都可以访问到,只有一篇reversemode.com上的writeup(http://reversemode.com/downloads/logix_report_basecamp.pdf)需要身份认证才能下载,如果有朋友能下载求分享. Ethernet/IP 与Modbus相比,EtherNet/IP 是一个更现代化的标准协议.由工作组ControlNetInternational与OD

工控随笔_C#连接PLC_之_C#入门_01_配置学习环境

最近在做一个东西,需要用到通用开发语言开发一个软件来读取PLC的内容,这方面的难点在于解析PLC利用 以太网通讯的通讯协议,而一般的PLC厂商对自己的协议是封闭的,对一般的开发者是不开放的,虽然可以通过Wireshark 进行解析,但是工作量很大,且如果对Wireshark不熟悉基本也是无解,很难解析出来. 网上有部分用C#开发的开源库,但是自己对C#语言不懂,所以也就没法学习和应用了.因此我在这里开始了C#的 从零开始学习之旅(我的从零开始是指对C#一无所知,如果你要和我一起开启这趟旅程,应该

ASP.NET AJAX入门系列(6):UpdateProgress控件简单介绍

在ASP.NET AJAX Beta2中,UpdateProgress控件已经从“增值”CTP中移到了ASP.NET AJAX核心中.以下两篇关于UpdateProgress的文章基本翻译自ASP.NET AJAX官方网站. 主要内容 1.UpdateProgress控件简单使用 2.使用多个UpdateProgress控件 一.UpdateProgress控件简单使用 1.创建一个Web页面并切换到设计视图. 2.在工具箱的AJAX Extensions标签下,双击ScriptManager控

工控随笔_C#连接PLC_之_C#入门_04_基本数据类型

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { #region 浮点类型 /*C#中浮点数据类型分为三种 float 类型 double 类型 decimal 类型 三种类型差别在于数据有的精度和有效数据范围不同

工控随笔_C#连接PLC_之_C#入门_05_类_01

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Class { class Program { static void Main(string[] args) { /* 变量定义: 变量类型 变量名: * * 变量初始化 变量类型 变量名=初始值: * * 变量在使用前必须赋值 */ int iVar; //定义变量, int类型即为 int32类型,

基于HTML5的Web SCADA工控移动应用

在电力.油田燃气.供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex.Silverlight甚至Applet这样的重客户端方案,在HTML5流行前VML和SVG算是真正纯种Web方案也是有不少应用,近些年随着HTML5的流行,加上移动终端对HTML5支持的普及,越来越多新项目开始采用真正纯HTML5的方案,更具体的说大数据量应用性能高于SVG的Canvas方案,已经逐渐成为当今Web SCADA前端技术的首选标配方案. htt