TXOne Networks產品資安事件應變暨威脅研究團隊經理Mars Cheng(左)與TXOne Networks資安威脅研究員馬聖豪

基於「知己知彼、百戰不殆」觀念,向來積極以駭客思維傳遞高強度防禦知識的果核數位科技,於日前舉辦2022年開春首場Hack Talk論壇,並將活動定調在「別再迷信了,關鍵基礎設施一點也不安全」、「在野軍火提權戰略:攻破Windows 11再次奪下主導權」等兩個饒富價值的主題。

CI安全不夠力,導致OT攻擊事件逐年增多

何謂關鍵基礎設施(CI)?TXOne Networks產品資安事件應變暨威脅研究團隊經理Mars Cheng指出,一般都以普渡模型 (Purdue Enterprise Reference Architecture ) 加以詮釋,它植基於IEC 62443現行框架,探討IT與OT之間的劃分;其中IT網段處在Level 4~5,往下的Level 1~3則為OT網段,內含各種工程工作站、維運伺服器、人機界面(HMI)、資料採集與監視系統(SCADA)、分散式控制系統(DCS)、安全儀控系統等等,統稱為工業控制系統(ICS)。不論油、水、電、交通、智慧製造、醫療等場域皆有ICS,只是受控設備、採用的通訊協定不盡相同,這些即是CI。重點在於,IT與OT長期並未確實達到實體隔離。

ICS蘊含Control、View、Monitor三個核心,OP人員透過HMI控制流程,再藉由View檢視是否達到預期控制效果,並以Monitor機制隨監視實體環境有無異常。ICS一旦失效,將大規模影響國民生活;因此ICS不容許任何意外事故侵擾、包括駭客攻擊。但現今不論臺灣或國外的CI,其實一點都不安全。

翻開CI遇駭事件簿,2017年算是重要分水嶺。在此之前,駭客攻擊標的皆是油水電設施;反觀2017年之後,勒索軟體「歪打正著」案例層出不窮,且受害者逐漸轉往智慧製造等更具經濟價值的場域,不論事件數量、影響程度都持續攀升。

Mars Cheng特別指出一點,攻擊ICS的惡意程式,大致都有共通樣貌,好比說都嘗試從受感染電腦裡找尋一組特定應用程式,接著以Hard Code方式破解密碼、登入系統,藉以修改PLC Program。例如2010年伊朗核電廠的Stuxnet事件,便是利用此方法,讓離心機忽快忽慢、終至爆炸,釀成嚴重損害;而2015年烏克蘭電廠遭駭,堪稱史上最嚴重、最縝密的,駭客不僅在30分鐘內讓50多個變電站斷電,甚至接連癱瘓電腦、電話、UPS,讓操作人員無法迅速復原系統。

時至2021年,勒索軟體攻擊視角明顯轉向供應鏈,且多數攻擊都從IT打到OT,手法相當多元,常見情節是以釣魚信件或密碼竊取而造成數據洩漏,尤其因應疫情期間WFH需求,企業紛紛調整網路架構,讓駭客有更多機會輕鬆盜取帳密、攻入他想侵犯的ICS。

值得一提,惡意程式可偽造HMI對PLC下命令,也可欺騙PLC讓它回傳錯誤訊息至HMI、影響人員做出錯誤操控行為;不論途徑為何,皆對CI造成衝擊。

多種攻擊技巧,可繞過Windows權限模型

TXOne Networks資安威脅研究員馬聖豪表示,近半年他不斷鑽研Google頂尖漏洞團隊Project Zero,對於如何繞過Windows權限模型設計頗有心得。在執行Windows UAC逆向工程過程,他確認即便是Update到最新版的Windows 11、仍可被打穿,主要涵蓋三大攻擊策略,共計7個Exploits。

使用者開啟工作管理員視窗,欲針對某執行程式進行提權,主要是利用CreateProcess、CreateProcess with Token兩系列函數打進Kernel層,而系統在收到此要求後,旋即發出RPC請求至UAC(User Account Control),執行A、B兩個邏輯驗證,只要通過,即代表該程式可被自動提權。在此過程中,至少蘊含3個無法被修復的邏輯。

馬聖豪說,你可輕易把某張圖片拖進System32,代表檔案總管具有高權限,想提權便可提權;故攻擊者可將惡意DLL模組注入檔案總管,以此身份進行檔案拷貝,即有機會刧持高權系統服務。

惟惡意DLL很容易被主流防毒軟體掃瞄出來,迫使攻擊者另闢蹊徑,找尋其他可偽造檔案總管的手法。後來發現名為iFileOperation的COM接口對檔案總管有轄免權,儘管從Windows 10 作業系統1607版起,經過微軟的修正,攻擊者已無法利用它繞過UAC來提權,但仍設想一定有其他COM接口能達到相同目標,結果從「解除安裝時不必通過UAC」順藤摸瓜,得出只要調用IARPUninstallStringLauncher這個COM組件也可繞過UAC。

另一漏洞來自微軟安全中心,其控制面板的介面亦是一個COM接口、名為IWscAdmin,內有ShellExecuteExW函數,也能調用檔案總管身分執行任意命令。此外IE瀏覽器用戶熟悉的ActiveX,本身是一種DLL模組,會執行RunSetupCommand,來決定這次採用哪一套IE;還有一種COM組件與ActiveX頗為相像,便是出現於Windows校時功能的CMSTP.exe,攻擊者可憑藉其中ShellExec函數,導致COM接口被欺騙、誤認前來溝通的就是檔案總管,誘使Kernel發出RPC請求給校時程式,執行任何惡意行為。

除檔案總管外,還有一個無法被解決的漏洞,如「檔案名稱不可以包含下列任意字元:\ / : * ? " < > |」,其實除了這些外,凡是空白或「、」都會自動被過濾。攻擊者利用「\??\」會被視為超長路徑的特性,創建帶有空白的路徑、也創建System32,接著利用「RtlDosPathNameToRelativeNtPathName_U_WithStatus」API,使UAC驗證到沒有空白的路徑,順利讓Kernel發送RPC請求至UAC。

再者攻擊者還可利用另一個Exploit,藉由dwCreateFlags參數進入除錯模式,從而調用NtQueryInformationProcess、取走Debug通道,後續再發出第二次RPC,偽造為Debug通道的擁有者,終至達到設置高權Process之目的。

馬聖豪一連展示多個可實施的攻擊技巧,意在提醒聽眾,諸如Windows UAC特權分割模型之設計,並非無懈可擊,故使用者仍應在資安防護上保持戒心。

加入粉絲團獲取更多資安/活動資訊。

熱門新聞

Advertisement