BackSwap銀行木馬進化分析
本文將介紹BackSwap的進化過程、唯一性、成功性以及失敗的地方。文中會介紹惡意軟體不同版本和攻擊活動的概覽。
BackSwap概覽
Zbot, Gozi, Dridex, Carberp等都是比較常見的銀行木馬。多年來,銀行木馬惡意軟體找出高級以及複雜的方式來竊取銀行木馬和信用卡詳情,並濫用這些信息來偷錢。
大多數銀行木馬會注入代碼到受害者的瀏覽器內存中以達到竊取信息的目的。注入的代碼會hook瀏覽器中的通信以攔截私有的銀行數據。攔截的數據之後會發送給攻擊者。但這種方法比較複雜和不穩定,因為注入的代碼要適應不同的目標瀏覽器。而且攻擊者必須追蹤駐留瀏覽器快速變化的代碼,這是一個非常大的挑戰。
BackSwap是一個簡單但是非常有效的銀行木馬,將自己隱藏在大量的主流和合法軟體之中,比如7-Zip、FileZilla和Notepad++。從表面上看,該程序的可執行文件是非惡意的,但攻擊者注入的代碼最終會在用戶啟動前面提到的應用時執行。
BackSwap進化史
過去幾個月,研究人員發現了Backswap的上百個樣本,並且看到這些樣本中出現的很多的變化。通過分析這些數據,研究人員將樣本進行分組並分析了惡意軟體行為發生的變化。
早期版本
BackSwap的第一批樣本是2018年3月中旬出現的。樣本中並沒有對payload進行混淆,只是插入到原始程序(比如7-Zip、WinGraph和SQLMon)中去。根據惡意軟體中的一些字元串,可以推斷攻擊目標是波蘭,每個樣本攻擊目標是波蘭的1到3家銀行。最常見的目標銀行網站是ipko.pl,24.pl和mbank.pl。
初始版本的另一個特徵是對每個目標銀行都保持一個加密資源,使用的加密方法就是使用0x9進行一個簡單的XOR運算。雖然該加密方法非常弱,但BackSwap一直在使用。Web注入代碼含有佔位符「xxxxxxxxxxxxxxxxxxxxxxxxxx」,是惡意軟體用來保存竊取的銀行交易信息的IBAN。當受害者進入目標銀行網站並且需要進行交易時,web注入代碼就會用前面提到的IBAN替換目標IBAN,這樣受害者就會把錢轉入攻擊者賬戶中。
2018年4月,更多的銀行被加入成為目標,一些樣本甚至含有最多6個不同的資源。Web-inject代碼的JS實現使用瀏覽器窗口的標題改善了與PE二進位文件中代碼交互的方式。Shellcode會檢查瀏覽器標題文本的變化,並抓取這些信息發送WebInjects。惡意軟體PE的後台線程會將竊取的信息保存到計算機的日誌文件中,並發送給C2伺服器。
4月中,BackSwap開始在目標網站的DOM中創建假的輸入對象。這些假的輸入域看起來和真的一模一樣。但當用戶填假的域時,原始域就會隱藏並包含攻擊者的IBAN信息。同時,惡意軟體使用新的注入技術將惡意JS傳遞到URL地址欄。
4月底,BackSwap第一次使用XOR key來加密資源,這次使用了0xb。這一變化使BackSwap的一大特性,最近出現的樣本中每個都有一個不同的key。但使用的加密方法仍然是簡單的XOR。除了XOR key的變化外,惡意軟體開發者還將IBAN移到硬編碼的web-injects javascript中了。
圖3: 錢騾的硬編碼信息
5月的web-injects中有一個負責複製特定字元串到剪貼板的函數copyStringToClipboard。複製的字元串中含有受害者填寫的信息,由惡意軟體PE中的線程負責讀取和處理。
同月,研究人員發現BackSwap開始追蹤受感染的機器數量,這是通過發送HTTP請求到主流的俄羅斯網站yadro.ru來實現的。該方法在從攻擊者站點收集受害者位置信息非常有效和簡單。而且安全產品很難將其標記為非法的。
BMP中加密的payload
2018年6月,BackSwap開發者引入了一個新的payload編碼技術;在該技術中,的PIC是加密的,嵌入到一個BMP圖片中,使用了BMP header的唯一性特徵。
圖4: 嵌入位置無關代碼到圖片中
BMP文件header是0x42,0x4D對應ASCII碼的BM。這對十六進位數字也是有效的x86指令。下面是對這些位元組的翻譯:
BackSwap背後的攻擊者就利用了BMP header來使其代碼看似是無害的。指令執行後,JMP指令會開始PIC解密。解密路徑非常簡單,而且很容易分析。
第一個BMP圖片非常抽象、很難理解,之後的都是基於真實圖片的。第一個例子是著名電影Scarface中的一個場景。
最近的版本
2018年7月研究人員沒有發現其攻擊活動,8月新樣本出現,這是惡意軟體的一個拐點,因為攻擊者利用這1個多月的時間加入了新的特徵和功能:
首先,惡意活動轉向攻擊西班牙銀行,徹底放棄了之前的波蘭銀行。
圖5: BackSwap攻擊的西班牙和波蘭銀行
其次,BackSwap改變了其保存web-injects的方式。之前對不同的目標銀行保存在不同的資源中,現在將這些都融入到一個單一資源中,並用特定的分割關鍵詞將web-inject代碼段分隔開。8月份,研究人員共檢測到兩個分隔器,第一個是「[start:]」,第二個是「[fartu:]」。目標銀行網站也不保存在惡意軟體的PIC中,而是保存在web-inject代碼中。示例如下:
8月份發現的樣本還使用外部網站來保存javascript payload。雖然web-injects仍然保存在被劫持的程序的.rsrc區域中,但只是一個封裝,並從其他伺服器導入惡意JavaScript代碼。將惡意代碼保存在第三方伺服器上不太穩定,因為安全供應商和網站本身都可以刪除惡意頁面。
BackSwap還在8月份引入了許多BMP圖像。8月底,研究人員發現犯罪分子在普京的照片上加入了一些比較幼稚的文本內容來對抗殺毒軟體。
圖6: BackSwap的PIC嵌入在普京的照片中
之後研究人員發現攻擊者對PIC payload進行了修改,尤其是加密層和一些垃圾代碼,這會使分析過程變得很複雜,並且使惡意軟體更難檢測。在這幾個月的發展中,BackSwap在Javascript web-injects中引入了一些分割器,比如[mumuo:]、[pghtyq]等。
11月底的樣本中引入了俄羅斯電視劇Seventeen Moments of Spring的圖片。web-injects中分隔符也變成了[asap:]。惡意軟體將信息從Javascript web-inject代碼轉變為PE中的可執行shellcode的方式也發生了改變。之前的版本中,BackSwap會通過剪貼板發送受害者的憑證和其他消息到shell code,新版本中通過瀏覽器的URL來發送同樣的數據。
圖7: Backswap最新BMP圖片
圖8: 發送給殺毒軟體的圖片
總結
雖然銀行木馬不再是網路犯罪分子偷錢的主要方式了,但BackSwap證明了這種獲利方式還在進行中。事實上,惡意軟體開發者還在不斷在改善銀行木馬來避免被安全產品發現。
惡意軟體證明了可以偽裝為合法應用來繞過安全措施,因此用戶應該注意不要從非授權的源去下載軟體。因此,強烈建議用戶從原發布商官網去獲取軟體。
TAG:嘶吼RoarTalk |