ICS_CTF 利用¶
ICS CTF競賽內容來自於作者自身打比賽經驗,如有不對之處,請各位多多諒解
Exploit是針對某種漏洞提供的多種利用方法,針對某一種漏洞可以有很多利用方法。 針對工控領域,其實目前多見的利用方式:組態利用、通信劫持、Web滲透。
組態利用¶
組態是工控場景的核心,是工控編程與實現功能的核心內容,如果你不太懂組態,請自行學習自動化領域工業控制系統組態的相關書籍。 最好的學習方式是拿到相關的產品說明書,針對說明書上的內容一點一點學習。
組態的利用方法:
- 強制IO(最管用的一種調試方法)
- 工程加密與解密(工程加密是PLC一種保護措施,但仍存在被破解的可能)
- 上載下載(基礎概念請自行惡補)
- PLC等目標設備的內存分佈(基礎概念請自行惡補)
- 其他附加功能(例如ftp、ntp等)
通信劫持¶
通信劫持是工控場景中最經典利用方式,例如ARP劫持、PLC/HMI通信劫持、PLC會話劫持、PLC命令執行等內容。 通信劫持的方法:
- ARP劫持,ARP劫持可以阻斷PLC與其他設備的通信,鑑於工程會存在寫死IP等交互地址,未必管用,但是值得一試
- PLC/HMI通信劫持,採用旁路設備接入或控制PLC設備,對IO進行強制重寫或輸出
- PLC命令執行,針對工控設備最敏感的部分是設備宕機(無法恢復的)、設備啓停、設備強制更新參數,等等這些對普通工藝能夠產生較大的影響。
Web滲透¶
目標企業往往存在Web類工控應用,例如發佈工藝發佈頁面,用戶數據庫等頁面,這些內容基本與平日Web題目無異。
- 弱口令(工控裏比較常見,工控設備中廠商默認密碼)
- 命令注入(比較普遍,需要審計Web工程源碼)
- 目錄遍歷(手測簡單,利用難,需要結合上傳等功能實現)
- 預置後門(比較難以發現,需要逆向和Web滲透相結合)
- SQL類注入(比較簡單)
- XSS在這裏基本無用(基本沒怎麼遇到過)
- 工程文件泄露(.git/.idea/.project等工程文件泄露)