网站建立的连接不安全,门户建设目标,北极动力网站建设,查网站开通时间威脅揭露:https://github.com/MartinxMax/GOT3-exploit
GOT3 中的潛在安全問題
觸控螢幕上的部署頁面將上燈連接至 Y22#xff0c;下燈連接至 Y12。 在 GX3 中#xff0c;畫了一個簡單的控制畫面#xff1a; 那麼#xff0c;你覺得哪一個燈會亮起#xff1f; 如果你認為…威脅揭露:https://github.com/MartinxMax/GOT3-exploit
GOT3 中的潛在安全問題
觸控螢幕上的部署頁面將上燈連接至 Y22下燈連接至 Y12。 在 GX3 中畫了一個簡單的控制畫面 那麼你覺得哪一個燈會亮起 如果你認為會亮起的是 Y22 的燈 —— 你已經掉進陷阱了 為什麼會這樣
這個問題涉及到 GX 與 GT 間資料的讀寫方式差異。
在 GX 中Y 輸出使用的是 八進位制octal地址。 但在 GTGOT 中Y 的資料是以 十六進位制hex處理。 攻擊者可以利用這個差異將惡意程式碼包裝在「不可偵測的外殼」中。 用計算驗證結果一樣。 利用 GOT3 特性修改原始專案圖檔繞過管理者審核
模擬場景一個內部使用的機密等級污水處理設施。僅有程式編輯部門的機器連網但內網與設備隔離無法由編程機橫向滲透。
事件 1內部程式團隊完成 PLC 程式交給技術主管審核確認無誤後燒錄。事件 2你已控制了程式部門某台機器並取得源碼程式。事件 3你只能修改 GOT3 專案。
功能區域設備訊號名稱類型地址八進位說明進水段低水位DI 輸入X000水位開關低水位警報高水位DI 輸入X001高水位啟動水泵進水泵DO 輸出Y000控制啟動停止格柵池格柵啟動按鈕DI 輸入X002手動啟動格柵電機格柵運行回訊DI 輸入X003設備狀態反饋格柵電機輸出DO 輸出Y001控制啟動停止沉砂池刮泥機啟動按鈕DI 輸入X004手動控制刮泥機運行狀態回訊DI 輸入X005狀態反饋刮泥機輸出DO 輸出Y002控制啟動停止初沉池進出水閥DO 輸出Y003控制電動閥液位檢測DI 輸入X006液位開關生化池溶氧儀AI 輸入D100溶氧濃度偵測類比鼓風機DO 輸出Y004控制啟動停止攪拌機控制DO 輸出Y005控制啟動停止攪拌機運行狀態回訊DI 輸入X007設備回饋二沉池污泥泵啟動按鈕DI 輸入X010手動啟動污泥泵DO 輸出Y006控制啟動停止污泥泵啟動按鈕DI 輸入X011手動啟動污泥泵DO 輸出Y007控制啟動停止加藥系統pH 感測器AI 輸入D101偵測 pH 值絮凝劑泵DO 輸出Y010加藥控制pH 調整泵DO 輸出Y011控制 pH 加藥消毒劑泵DO 輸出Y012控制消毒加藥消毒段消毒液液位檢測DI 輸入X012液位警報消毒啟動按鈕DI 輸入X013手動啟動消毒泵DO 輸出Y013控制啟動停止警報系統故障警報輸入DI 輸入X014設備異常警報警報輸出DO 輸出Y014聲光警報 原始圖檔
警報功能運作正常。 加藥啟動XB ⇒ X13 警報XC ⇒ X14 加入加藥功能
加藥輸出YA ⇒ Y12 警報輸出YC ⇒ Y14 「無法察覺」的惡意專案與混淆邏輯繞過管理者審查
劫持急停按鈕
完全禁用急停功能。
確認程式中加藥輸出 Y12 的邏輯 2. 確認程式中警報輸出 Y14 的邏輯 因為我們無法修改梯形圖邏輯所以修改 GOT 畫面
將急停按鈕綁定到 0x14。 將 惡意的 Main.GTX 專案 交給工程部門
消毒正常啟動 急停失效 破壞性滲透
若可修改 Main.gx3那麼按下急停後會反而持續進行加藥消毒。
我們已將警報控制綁定到 0x14在梯形圖中對應 Y24。
因此將 X24 加入 OR 邏輯控制加藥 管理員審查時只看到控制來自 X14容易誤以為是合法邏輯 備註實際上這完全不是真正的急停目標。
正常啟動消毒 急停已被替換加藥仍然持續進行 WHO R U ?
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣤⣤⣶⣶⣾⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠷⠾⠿⠶⠶⠶⠿⣷⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣴⡶⠿⠟⠛⠛⠛⠻⠭⠭⠤⠤⠤⠒⠒⠛⠛⠉⢉⣉⣉⣉⡉⠉⠉⠓⠲⠤⣄⡀⠀⠀⠀⠀⠀⠈⠻⢿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣴⡾⠟⠉⠁⠔⠊⠛⠓⠒⠒⠢⠤⠤⠤⠶⠶⠖⠒⠛⠉⠉⠉⠉⢉⣉⣉⠉⠙⠓⠲⢤⣄⡉⠲⢤⡀⠀⠀⠀⠀⠈⢻⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣾⡿⠋⠀⠀⠀⠀⣀⡤⠔⠒⠒⠒⠒⠲⠦⠤⠀⠀⠀⠀⠀⠀⠀⣠⠂⠀⠀⠀⠈⠉⠉⠓⠒⠤⣍⠳⢤⡈⠒⢄⡀⠀⠀⠀⢻⣿⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢠⣿⠀⠀b⠀⠀⠀⡐⠁⠀⠀⠀⠀⠀⠀⠀⠢⡀⠀⠀⠀⠀p⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢆⠙⠢⡀⠀⠀⠀t⠀⠀⢻⣷⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⣾⡟⠀⠀⠀⠀⠀⠁⠀⢀⣀⣀⣀⣀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⠿⢿⣿⣿⣿⣿⣶⣦⣀⠀⠀⠀⠀⠀⠀o⠀⠀⠀⠀⠻⣷⡄⠀⠀⠀⠀⠀
⠀⢀⣴⡿⠋⣀⣀⣀⠀⠤⢄⢠⣾⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⡀⠀⠀⠀⠀⣴⣿⠏⠉⣀⣠⣼⣿⣿⣿⣿⣿⣭⣿⣧⠀⢠⣤⡄⠀⠀⢀⣴⣶⣢⡿⢿⣶⣄⠀⠀⠀
⢠⣿⠟⡡⠚⣉⠄⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠛⠛⠻⢿⣿⠿⠛⠀⠀⠀⠀⠻⢿⣶⡾⠟⠛⠉⠉⢠⣄⡀⠉⠉⠉⠉⠀⠃⣀⣤⣤⣶⣶⣤⣤⡀⠈⠙⠪⠻⣷⡄⠀
⣿⡿⡸⠁⡏⢠⣶⣾⣿⣶⣶⣤⡀⢀⣀l⡀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀i⠀⠈⠻⢿⣶⣤⣤⣤⣶⣾⠿⠟⠉⣴⠀⠀⠉⠻⣷⡀⠀⢁⠘⣿⡆
⣿⡇⡇⠀⡇⠈⠀⠀⢠⣆⠈⠿⠿⠿⠟⠀⠀⠀⢀⣴⡿⠟⠀⠀⠀i⠀⠀⠀⠀⣀⣀⣀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⣧⣀⠀⠀⢹⣿⠀⢸⠀⢸⣿
⠘⣿⣧⠀⠳⠄⠀⠀⣾⣿⠀⠀⠀⠀⠀⢀⣠⣾⣿⠋⠀⠀⠀⠀⠀⠀⣀⣀⣈⡙⠛⢻⣧⠓⠲⠖⠒⠢⠀⠀⢀⣀⣤⣶⣾⠟⠋⠉⢹⣿⠿⣷⡆⣸⡿⠀⡘⠀⢸⣿
⠀⠙⣿⡝⠒⢤⠀⣼⣿⣿⣤⡀⠀⠤⠚⠉⠘⠋⠛⣷⣄⠀⠀⡀⠀⠚⠿⠟⠛⠟⢠⣿⠇⠀⠀⣀⣠⣴⣶⣿⡿⢿⣿⠉⠀⠀⢀⣠⣿⡏⠀⠀⠀⡿⠁⢠⠇⢠⣿⠇
⠀⠀⢹⣿⡄⠀⢀⣿⣿⡿⢻⣿⣷⣦⣄⣀⡀⠀⠀⠈⠛⢿⠿⠃⠀⠀⠀⣀⣀⣠⣤⣴⣶⣾⠿⠟⠛⠉⠁⠀⢀⣾⣿⣤⣶⣾⣿⣿⠟⠁⠀⠀⠀⠤⠒⢉⣴⡿⠋⠀
⠀⠀⠀⣿⣇⠀⢸⣿⣿⡇⣼⡟⠈⠙⣿⡟⠿⠿⣿⣶⣶⣶⣶⠾⠿⣿⡿⠟⠛⠛⠋⠉⠹⣿⡄⠀⣀⣠⣤⣶⣿⣿⣿⠟⠉⣰⣿⠋⠀⠀⠀⠀⠀⢐⣾⡿⠋⠀⠀⠀
⠀⠀⠀⢹⣿⠀⢸⣿⣿⣷⣿⣿⣀⣸⣿⣁⣀⠀⠀⢸⣿⠁⠀⠀⠀⣿⡇⠀⠀⢀⣀⣀⣤⣿⣿⣿⣿⣿⠿⠛⠉⢿⣇⣀⣴⡿⠁⠀⠀⠀⠀⠀⢠⣿⠟⠀⠀⠀⠀⠀
⠀⠀⠀⢸⣿⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⠋⠉⠀⠀⠀⠀⢘⣿⣿⠏⠀⠀⠀⠀e⠀⠀⠀⣼⡏⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢸⡏⠀⠀⢹⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⢿⡿⠛⠉⠁⠀⠀⠈⢿⣧⠀⠀⢀⣠⣾⡿⠛⠁⠀⠀⠀⠀⠀⠀⢀⣼⡟⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣿⡇⠀⠀⠈⢿⣧⣿⡇⢹⣿⡄⠹⣿⡄⠀⠈⢿⣇⠀⠀⠀⠀⢸⣷⠀⠀⠀⠀⠀⠀⢈⣿⣷⣾⡿⠟⠉⠀⠀⡀⠀⠀⢀⠀⢀⣴⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣿⡇⠀⠀c⠀⠈⠻⠿⣷⣶⣿⣷⣤⣿⣿⣄⣀⣘⣿⣀⣀⣀⣀⣸⣿⣤⣤⣤⣶⣶⣿⠿⠟⠋⠁⣀⡤⠖⢋⣩⡴⠞⢉⣤⣾⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢰⣿⠀⠀⢀⠀⠀⠠⡀⠀⠈⠉⠉⠙⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠁⠀⣀⡤⠖⢋⣡⡴⠞⠋⣡⣤⣾⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢸⣿⠀⠀⠸⡀⠀⠀⠙⠶⣤⣀⣀⠀⠀⠈⠉⠉⠉⠉⠉⠉⢉⠉⣁⣀⣀⡀⠤⠖⣚⣩⠥⠖⠛⠉⣁⣤⣶⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢸⣿⠀⠀⠀⠉⠲⢤⣄⣀⡀⠀⠈⠉⠉⠉⠀⠀⠀⣀⣉⣁⣀⡭⠭⠤⠒⠒⠋⠉⠁⢀⣠⣴⣶⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠈⢿⣆⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⣀⣤⣶⠿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠈⠻⣷⣦⣀c⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⣴⣾⣿⡿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀h⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠙⠻⠿⢿⢶⣶⣶⣶⣶⣶⣶⢾⠿⠿⠛⠛⠋⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀