工控安全入門分析
轉載(http://bobao.360.cn/learning/detail/659.html)
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
工控安全入門分析