跳转至

ICS_CTF 利用

ICS CTF競賽內容來自於作者自身打比賽經驗,如有不對之處,請各位多多諒解

Exploit是針對某種漏洞提供的多種利用方法,針對某一種漏洞可以有很多利用方法。 針對工控領域,其實目前多見的利用方式:組態利用、通信劫持、Web滲透。

組態利用

組態是工控場景的核心,是工控編程與實現功能的核心內容,如果你不太懂組態,請自行學習自動化領域工業控制系統組態的相關書籍。 最好的學習方式是拿到相關的產品說明書,針對說明書上的內容一點一點學習。

組態的利用方法:

  1. 強制IO(最管用的一種調試方法)
  2. 工程加密與解密(工程加密是PLC一種保護措施,但仍存在被破解的可能)
  3. 上載下載(基礎概念請自行惡補)
  4. PLC等目標設備的內存分佈(基礎概念請自行惡補)
  5. 其他附加功能(例如ftp、ntp等)

通信劫持

通信劫持是工控場景中最經典利用方式,例如ARP劫持、PLC/HMI通信劫持、PLC會話劫持、PLC命令執行等內容。 通信劫持的方法:

  1. ARP劫持,ARP劫持可以阻斷PLC與其他設備的通信,鑑於工程會存在寫死IP等交互地址,未必管用,但是值得一試
  2. PLC/HMI通信劫持,採用旁路設備接入或控制PLC設備,對IO進行強制重寫或輸出
  3. PLC命令執行,針對工控設備最敏感的部分是設備宕機(無法恢復的)、設備啓停、設備強制更新參數,等等這些對普通工藝能夠產生較大的影響。

Web滲透

目標企業往往存在Web類工控應用,例如發佈工藝發佈頁面,用戶數據庫等頁面,這些內容基本與平日Web題目無異。

  1. 弱口令(工控裏比較常見,工控設備中廠商默認密碼)
  2. 命令注入(比較普遍,需要審計Web工程源碼)
  3. 目錄遍歷(手測簡單,利用難,需要結合上傳等功能實現)
  4. 預置後門(比較難以發現,需要逆向和Web滲透相結合)
  5. SQL類注入(比較簡單)
  6. XSS在這裏基本無用(基本沒怎麼遇到過)
  7. 工程文件泄露(.git/.idea/.project等工程文件泄露)