圖片來源/Microsoft

美國、英國及紐西蘭安全主管機關本周發布聯合公告,建議企業及政府機關,雖然PowerShell多次涉入惡意程式攻擊,但官方建議應採取適當組態和監控,而不要移除或完全關閉。

PowerShell 是由微軟開發的任務自動化和組態管理架構,由.NET Framework和.NET Core構建的命令列介面殼層、指令碼語言組成,最初是在Windows上執行,微軟於2016年開源並提供跨平臺支援,現在PowerShell可於Windows、Linux、macOS和雲端上執行。

然而PowerShell作為Windows普及而好用的合法工具,卻多次被駭客用來發動攻擊。例如攻擊者用它來執行勒索軟體繞過防毒軟體軟體偵測對SQL Server發動離地攻擊(living-off-the-land,LoL)、或是可結合Office文件開採近日揭露的Windows Follina漏洞等。

不過PowerShell在資安上也相當好用。在Windows上,可讓管理員或資安防護人員,啟用鑑識、強化事件回應及支援一般或重覆性任務的自動化。在Azure雲端上也可管理雲端資源,允許管理員建立自動化工具和安全措施。

基於這些好處,美、英、紐的聯合安全公報建議不要移除或關閉PowerShell。完全關閉會讓企業或政府單位無法使用這些功能,也可能使Windows無法正常運作。他們建議透過適當的設定和監控,以便發揮PowerShell好處到最大。

首先,官方建議管理員將PowerShell升級到最新的7.2版。7.2版有更好的安全管理功能,且相容於Windows 7、8及10內建的5.1版的設定及適用的指令、模組和script。但太老舊的版本如PowerShell version 2,官方就建議關閉及移除version 2。

美、英政府建議的PowerShell設定包括:啟用PowerShell remoting、惡意軟體掃瞄及應用層控制。PowerShell remoting可預設執行Kerberos 或 NT LAN Manager(NTLM)協定,防止憑證外洩到遠端主機,此外以PowerShell remoting連結端點,會啟用Windows Firewall及要求端點權限,確保連結受信任的端點及網路,減少惡意程式橫向移動。它的AMSI(Antimalware Scan Interface)則可啟動Windows防毒軟體掃瞄PowerShell script來防止惡意程式。同時官方建議透過Windows AppLocker或WDAC(Windows Defender Application Control)設定PowerShell只能執行管理員許可的行為。

最後,公報還建議管理員啟用PowerShell的偵測功能,如Deep Script Block Logging、Module Logging及Over-the-Shoulder transcription幫助偵測濫用行為。

熱門新聞

Advertisement