FAUXPERSKY惡意軟體分析
攻擊者在不斷地尋找新的方式來在Windows系統上執行文件。其中一個技巧將是使用AutoIT或者AutoHotKey。比如,AutoHotKey (AHK)允許用戶在寫入與Windows交互的代碼,從Windows中讀取代碼,發送鍵盤中斷消息給其他應用。AHK還允許用戶創建含有原來代碼的編譯過的exe文件。
所以對黑客來說,AHK是一個很好的工具,可以用來寫一些簡單高效的證書竊取工具。研究人員發現了偽裝為Kaspersky反病毒軟體的用AHK編寫的密碼竊取器,並通過感染USB驅動傳播。研究人員將其命名為Fauxpersky。
研究人員在用戶環境中發現了4個釋放的文件。每個文件都與Windows系統文件類似:
·Explorers.exe
·Svhost.exe
·Taskhosts.exe
·Spoolsvc.exe
用戶環境中的可疑文件
EXPLORERS.EXE:自複製和駐留
AHK keylogger直接使用自複製的方法來傳播。在剛開始執行之後,keylogger會收集機器上的驅動列表,然後開始自複製。下面是具體的過程。
收集可移除的驅動
重命名
複製文件來可移除驅動
這可以讓keylogger從主機傳播到任意外聯的設備。如果keylogger自複製到外部驅動,將會重命名驅動來匹配命名方案。比如,如果一個8GB的USB設備驅動叫做Pendrive,當自複製完成後就會匹配命名方案。USB驅動的新名字叫會變成Pendrive 8GB(Secured by Kaspersky Internet Security 2017)。這是一個在野的IOC。
惡意軟體還會創建一個指向下面內容的batch腳本的autorun.inf文件。
start /d ".System Volume In表單ationKaspersky Internet Security 2017" taskhosts.exe
惡意軟體的EXPLORERS.EXE組件使用的駐留方法分析
在explorers.exe中含有一個CheckRPath()函數,keylogger可以用該函數來創建explorers.exe文件。這些文件是根據傳遞的路徑用FileSetAttrib() AHK函數來設定屬性S(system)和H(hidden)。Keylogger會用傳遞RSH,Read-Only, system, hidden參數同樣的方法來創建必要的目錄。在打破代碼區塊後,將可以知道這個過程是怎麼完成的。
在創建組件文件(HideRFiles())進程後,研究人員首先開始一個loop。Loop會讓keylogger以結構化的方式去重複地將不同的輸出文件寫入硬碟中。可以看到每個盤會創建開啟時的鏈接,文本文件和批處理文件。一旦文件存在,傳給函數的值遞增來允許創建的目錄整體遷移。這是一種基本的方式來確保當整個目錄遷移到另一個文件下時,所有的文件都遷移過去了。
這4個文件中目錄Kaspersky Internet Security 2017中。除了可執行文件後,還有兩個不是可執行文件。一個是叫做logo.png的圖片:
另一個是含有下面指令的readme.txt文件。
如果不能正確得載入文件或文件夾,請關閉反病毒軟體。
受感染的設備登錄進Windows後在屏幕上顯示logo.png等,這會欺騙用戶認為Kaspersky已經安裝和運行了。Readme.txt文件中的說明是一個與Kaspersky Internet Security 2017不兼容的安全產品列表,該列表中包含Kaspersky Internet Security。
這些文件是64位的Windows PE文件,用IDA Pro來檢查該文件發現這些文件幾乎是相同的。通過檢查mutex創建路徑可以發現一些相同點。
explorers.exe中的引用的CreateMutexW()
svhost.exe中的引用的CreateMutexW()
創建的mutex叫做「AHK Keybd」,Google搜索結果顯示這是標準的AHK編譯文件,真實的AHK語言代碼是在每個PE的資源區的RCDATA資源中。
為了提取exe文件中的AHK代碼,研究人員寫了一個叫做ahk-dumper的工具,該工具可以將PE中的RCDATA資源按照標準輸出列印。PE文件的作用:
分析AHK代碼的關鍵部分
SVHOST.EXE - KEYLOGGING:
文件中的代碼非常簡單。Svhost.exe文件監控當前活動窗口,通過AHK WinGetActiveTitle() 函數和AHK input() 函數,input()函數監控用戶的輸入。每個keystroke加入到log.txt文件中,而Log.txt文件會保存在%APPDATA%Kaspersky Internet Security 2017文件夾中。
Keylogged的數據形式如下:
TASKHOST.EXE:駐留
這段代碼負責處理駐留。第一步是改變惡意軟體的CWD為%APPDATA%,然後創建硬編碼的目錄Kaspersky Internet Security 2017。
該文件還有一個路徑,CheckLCore檢查文件是否已在%APPDATA%中創建:
如果文件沒有被拷貝,惡意軟體會用FileCopy()函數拷貝文件,隨後用 FileSetAttrib() 函數設定文件屬性。第一個傳遞的參數是「+RSH」, 意思是Readonly只讀、System系統、和Hidden隱藏。
SPOOLSVC.EXE:數據泄露,看門狗和駐留
Spoolsvc內部有很多的路徑可以通過註冊表改變Hidden和SuperHidden文件的屬性:
如圖所示,惡意軟體會改變註冊表路徑HKLMSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced registry path中的2個key:
·Hidden - 該值會被改變成2,意思是讓系統不要顯示隱藏文件。
·SuperHidden - 該值會被改為0,系統會隱藏系統文件。
註冊表的值被修改後,惡意軟體會檢查explorers.exe文件是否運行。如果沒有運行就執行它。看門狗的作用是確保惡意軟體的駐留執行。
CheckLProcess()負責檢查惡意軟體的所有組件的執行。如果沒有,調用Run() AHK函數和Loop/Parsecall將可以執行。
為了獲取駐留,惡意軟體會在開始菜單的啟動目錄下創建自己的快捷方式。
該文件的另一個部分是log.txt文件中的keylogged的數據泄漏到Google表單。
下面是攻擊流圖:
Google 表單被用於數據泄漏
數據是通過文件中下面的代碼塊來提交給表單的。該文件會被讀入緩存中然後從磁碟中刪除。緩存會被發送給Google表單。
結論
該惡意軟體並不高級,甚至不靜默。開發者甚至沒有改變文件中AHK的圖標。但是惡意軟體在感染USB設備,從keylogger中收集數據,通過Google表單泄漏數據並將泄漏的數據存儲到攻擊者的收件箱中。截止目前,感染的設備數量還不清楚。
緩解措施
研究人員聯繫了Google團隊並報告了惡意表單事件。如果有用戶感染了該惡意軟體,那麼首先回到%appdata%Roaming目錄下,然後移除Kaspersky Internet Security 2017 目錄,還需要刪除開始菜單中的相關文件。
TAG:嘶吼RoarTalk |