sm0nk原創文章,之前發在了烏雲,后來烏雲消失了。所以在此歸檔下
原烏雲鏈接:http://drops.wooyun.org/tips/8594
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。按需求自行查閱資料。
信息探測
協議測試腳本
序號 |
協議 |
端口 |
測試腳本 |
1 |
CIP |
44818 |
enip-enumerate.nse |
2 |
Modbus |
502 |
modicon-info.nse |
3 |
IEC 61870-5-101/104 |
2404 |
iec-identify.nse |
4 |
Siemens S7 |
102 |
s7-enumerate.nse |
5 |
Tridium Niagara Fox |
1911 |
fox-info.nse |
PS:簡要測試,大量腳本自行測試。
相關搜索引擎
Shodan搜索
PS:Shodan搜索引擎介紹 http://drops.wooyun.org/tips/2469
Zoomeye搜索
PS:敏感信息,你懂得。
Ethernet/IP 44818
nmap -p 44818 --script enip-enumerate.nse 85.132.179.*
Modbus 502
nmap --script modicon-info.nse -Pn -p 502 -sV 91.83.43.*
IEC 61870-5-101/104 2404
nmap -Pn -n -d --script iec-identify.nse --script-args=iec-identify -p 2404 80.34.253.*
Siemens S7 102
nmap -p 102 --script s7-enumerate -sV 140.207.152.*
nmap -d --script mms-identify.nse --script-args='mms-identify.timeout=500' -p 102 IP
Tridium Niagara Fox 1911
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並進一步整合得到如下列表。
缺陷編號 |
漏洞起因 |
漏洞標題 |
wooyun-2015-132010 |
弱口令 |
工控安全之華潤燃氣敏感環境竟然未走專線可導致內網滲透(監控/配置/閥門可控未測) |
wooyun-2015-129388 |
注入 |
華潤化工控股有限公司信息門戶設置缺陷/sql注入 |
wooyun-2015-125651 |
弱口令 |
某地有線電視內網淪陷可能修改推送廣告內容等 |
wooyun-2015-125399 |
注入 |
中華工控網SQL注入導致全網數據淪陷90W會員數據#打包 |
wooyun-2015-122677 |
弱口令 |
某工控系統配置不當危及船只安全 |
wooyun-2015-117227 |
弱口令 |
某水庫工控系統存在弱口令(成功滲透) |
wooyun-2015-116558 |
配置不當 |
某電廠監管系統缺陷可導致整個工控網絡淪陷(DCS/PLC可被操控執行任何命令) |
wooyun-2015-107326 |
注入 |
某油田開發公司工控系統sql注入 |
wooyun-2015-96729 |
配置錯誤 |
VA弱密碼致華北工控內網遠程桌面服務器/內網穿透/涉及敏感信息 |
wooyun-2014-87708 |
弱口令 |
溫州市管道燃氣公司SCADA系統弱口令 |
wooyun-2014-86726 |
邏輯漏洞 |
中國工控網任意用戶密碼重置漏洞 |
wooyun-2014-83839 |
弱口令 |
大量外網web監控系統后台存在弱口令(涉及兩款監控產品,涵蓋賓館、車間、倉庫、企業內部等) |
wooyun-2014-71890 |
弱口令 |
某財政信息網系統管理系統密碼泄露 |
wooyun-2014-58681 |
配置不當 |
對電廠生產控制網絡的一次漫游(針對工控網絡的小型APT攻擊) |
wooyun-2013-42212 |
目錄遍歷 |
北京市一工控系統多處漏洞可內網滲透(已經發現webshell) |
wooyun-2013-22961 |
網絡未授權訪問 |
301基礎設施系列-國外基礎設施1(鮑里斯波爾國際機場地面照明控制和監測系統)暴漏 |
wooyun-2013-21848 |
弱口令 |
從對某電廠DCS控制系統的實體控制續談工控安全(可控制電廠實體設備) |
wooyun-2013-21314 |
弱口令 |
從某知名廠商MIS軟件邏輯缺陷談對某工控網絡的滲透 第二份案例 |
wooyun-2013-21250 |
弱口令 |
從某知名廠商MIS軟件邏輯缺陷談對某工控網絡的滲透 |
wooyun-2012-16328 |
未授權訪問 |
美國一工業操作系統越權訪問,可控制能源基礎設施 |
wooyun-2012-10818 |
弱口令 |
武漢市某工控系統弱口令導致信息泄漏,企業各種記錄在內 |
wooyun-2012-09565 |
命令執行 |
放統計代碼,站長一秒鍾變APT攻擊專家(wooyun-2012-09025續) |
wooyun-2012-09025 |
設計缺陷 |
UC雲端加速引擎存在非正常泄露referer問題 |
wooyun-2012-07340 |
賬戶體系控制不嚴 |
某省級能源集團旗下XX存在安全隱患 |
wooyun-2012-07172 |
配置錯誤 |
某環境集成平台存在嚴重問題!獲得客戶端控制實權! |
wooyun-2012-07084 |
弱口令 |
中國電信某GPS監控平台存在嚴重問題 |
wooyun-2012-06997 |
SQL注入 |
天津鑫然智能DCS監控平台 |
wooyun-2012-06196 |
配置不當 |
國內某大型風電工控系統應用配置失誤 |
wooyun-2012-04702 |
信息泄露 |
南京國電自動化股份有限公司廠站監控系統源代碼及配置文件泄露漏洞 |
wooyun-2014-84258 |
未授權訪問 |
姜堰市自來水公司SCADA管網綜合監測系統漏洞 |
wooyun-2014-80994 |
注入 |
哈葯集團分公司sql注入(影響大量同服網站數據庫) |
wooyun-2014-58654 |
命令執行 |
CenturyStar9.0 SCADA組態軟件存在遠程命令執行漏洞 |
wooyun-2014-58130 |
上傳漏洞 |
某電廠SCADA測試文件未清理存在任意上傳漏洞(可導致服務器淪陷) |
wooyun-2013-34711 |
弱口令 |
天能集團某SCADA系統弱口令登陸 |
wooyun-2013-21086 |
SQL注入 |
某煤礦SCADA系統存在嚴重缺陷可導致服務器淪陷 |
wooyun-2012-07334 |
未授權訪問 |
某市燃氣管道SCADA系統登錄繞過 |
wooyun-2012-06952 |
設計缺陷 |
某SCADA電力監控系統漏洞 |
在以上的漏洞列表中,可以得出如下結論:
- 烏雲工控漏洞的案例中,絕大多起因是弱口令(弱口令最多的是123456,其次是admin)、注入類漏洞。
- 能夠挖出工控的精華漏洞的人也是特定的那幾位,且在Kcon2015也有過演講。
- 挖掘此類漏洞主要解決兩個問題
a) 如何找到工控相關的系統和地址
b) Getshell后,基於工控知識如何操控系統
- 根據漏洞中的細節可以進一步的復測和拓展,進而為工控系統的漏洞挖掘提供非線性思路。
a) 結合GHDB關鍵字的搜素:例如inurl:SCADA……
b) 鏈接地址含SCADA、Modbus等協議的關鍵字……
c) 其他KEY:MIS、SIS、DCS、PLC、ICS、監控系統……
d) 相關公司:南京科遠、金風科技、天能集團、國電南瑞、華潤燃氣、積成電子、重慶三峰、東方電子……
e) 至於利用以上四點去做什么,呵呵…
工控精華漏洞分析
烏雲工控相關的精華漏洞如下7個,在思路亮點中分析了漏洞的核心,同樣也可能是獲得打雷精華的理由。幾乎共同點均是操控了對應的工控系統。
缺陷編號 |
漏洞標題 |
思路亮點 |
作者 |
wooyun-2015-132010 |
工控安全之華潤燃氣敏感環境竟然未走專線可導致內網滲透(監控/配置/閥門可控未測) |
燃氣系統Getshell+內網滲透+敏感信息 |
jianFen |
wooyun-2015-125651 |
某地有線電視內網淪陷可能修改推送廣告內容等 |
Getshell+集群指令下達+敏感信息 |
scanf |
wooyun-2015-116558 |
某電廠監管系統缺陷可導致整個工控網絡淪陷(DCS/PLC可被操控執行任何命令) |
發電廠getshell+內網DB+操控DCS+拓撲分析 |
zph |
wooyun-2014-58681 |
對電廠生產控制網絡的一次漫游(針對工控網絡的小型APT攻擊) |
MIS&SIS分析+Getshell+內網 |
Z-0ne |
wooyun-2013-21314 |
從某知名廠商MIS軟件邏輯缺陷談對某工控網絡的滲透 第二份案例 |
在線DCS采集系統操控 |
Z-0ne |
wooyun-2013-21250 |
從某知名廠商MIS軟件邏輯缺陷談對某工控網絡的滲透 |
軟件廠商+未授權敏感信息+Getshell+操控Syncmb |
Z-0ne |
wooyun-2015-127849 |
某大型SCADA系統缺陷導致多地多個工控基礎設施被淪陷(影響電力、自來水、運營商等) |
- |
zph |
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
協議安全分析專業公司——科諾康
Modbus通訊協議學習 - 認識篇
http://www.cnblogs.com/luomingui/archive/2013/06/14/Modbus.html