轉載(http://bobao.360.cn/learning/detail/659.html)html
0x00寫在前面git
工業4.0,物聯網趨勢化,工控安全實戰化。安全從業保持敏感,本篇以科普角度對工控安全作入門分析,大牛繞過,不喜輕噴。github
0x01專業術語shell
SCADA:數據採集與監視控制系統編程
ICS:工業控制系統安全
DCS:分佈式控制系統/集散控制系統bash
PCS:過程控制系統網絡
ESD:應急停車系統分佈式
PLC:可編程序控制器(Programmable Logic Controller)ide
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-10四、EtherNet/IP、Tridium Niagara Fox、Crimson V三、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