在2009年,我們發現了一種新的攻擊銀行的方式——不再感染成千上萬用戶的電腦,而是使用了一個名為Skimmer的惡意軟件直接攻擊ATM,今年,我們的全球研究與分析團隊和滲透測試團隊發現了一個改進版的Skimmer。
病毒式感染
攻擊者為了讓研究者難以分析其惡意軟件,通常使用加殼的方式掩蓋其惡意軟件代碼。Skimmer也是這樣做的,他們使用了商業加殼工具Themida,可以同時給感染器(infecotr)和釋放器(dropper)加殼。
惡意軟件執行起來后,它會檢查文件系統是不是FAT32。如果是FAT32,它會在文件夾C:WindowsSystem32下釋放netmgr.dll文件。如果是NTFS文件系統,會在XFS服務的可執行文件的NTFS數據流中存儲相同的文件。將文件放在NTFS數據流中可以增加取證分析的難度。
樣本在成功安裝之后,會修改XFS可執行文件(SpiService.exe)的入口點。添加一個LoadLibrary函數調用,用來加載釋放的netmgr.dll文件。這個文件也被Themida保護。
感染之前SpiService.exe的入口點
感染之后SpiService.exe的入口點
在成功安裝之后,它會重啟ATM。由于添加了LoadLibrary,惡意庫netmgr.dll會被加載到SpiService.exe進程中,這樣它就可以完全訪問XFS了。
功能
與Tyupkin不同的是,該惡意軟件會在激活的地方有一個魔法碼(magic code)或者特定的時間機制,Skimmer只有在插入魔法卡(magic card)(特別是Track 2數據,具體內容請查看文章底部的IOCs)后才會喚醒。這是一種“聰明”的控制惡意軟件功能的辦法。
插入魔法卡后,惡意軟件開始準備與兩種類型的卡交互,每個卡都有不同的功能:
1.卡1-通過接口獲取命令
2.卡2-執行Track2中硬編碼的命令
在卡彈出之后,它會給用戶顯示一個對話框,最多持續60s,請求他們輸入會話密鑰。用戶通過認證后,可以通過鍵盤輸入指令代碼,惡意軟件會接受21個不同的指令代碼,這些指令代碼分別對應不同的行為。
下面是一些重要的功能:
1.顯示安裝信息;
2.分發錢;
3.開始收集插入的卡的信息;
4.打印卡的信息;
5.自刪除;
6.調試模式;
7.更新(卡中嵌入了要更新的惡意代碼)。
在運行的時候,惡意軟件會創建下面的文件或NTFS流(根據文件系統的類型有所不同)。惡意軟件在不同的階段會用到這些文件,比如在保存配置信息,保存卡的數據和記錄工作日志的時候:
C:WindowsTempattrib1 從網絡或者讀卡器中收集到的卡的數據;
C:WindowsTempattrib4 記錄與鍵盤相關的API的數據;
C:WindowsTempmk32 同attrib4;
C:WindowsTemp:attrib1 與釋放的attrib1文件相同;
C:WindowsTemp:attrib4 與釋放的attrib4文件相同;
C:WindowsTemp:mk32 與釋放的mk32文件相同;
C:WindowsTemp:opt 記錄錢騾的活動。
FreeBuf百科:錢騾
錢騾(Money mule)指通過因特網將用詐騙等不正當手段從一國得來的錢款和高價值貨物轉移到另一國的人,款物接收國通常是詐騙份子的居住地。Money mule這個說法是在drug mule(藥騾)的基礎上衍生出來的。
主窗口
下面的視頻詳細描述了錢騾是如何像上面說的那樣操作被感染的ATM的。
結論
在最近的攻擊ATM的事件中,我們發現了Tyupkin,Carbanak和black box攻擊。Backdoor.Win32.Skimer惡意軟件的進化說明攻擊者對此類惡意軟件很感興趣,因為對攻擊者來說,通過ATM比較容易拿到現金。
在這個案例中有一個要注意的細節,就是Track2中硬編碼的信息,它只有在它插入ATM之后惡意軟件才會激活。銀行可以在他們的處理系統中主動尋找這些卡號,檢測受感染的ATM、錢騾,或阻止激活惡意軟件。
卡巴斯基實驗室已經發現了49個這個惡意軟件的變種,其中有39個變種是由同一伙人制造的。在2016年5月初發現了最新的版本??ò退够鶎⑦@些樣本檢測為Backdoor.Win32.Skimer。將被修改的SpiService.exe文件檢測為Trojan.Win32.Patched.rb。
目前調查還在進行中,卡巴斯基的研究人員已經與不同的LEAs,CERTs,金融機構以及卡巴斯基威脅情報服務的客戶分享了全部報告。更多信息請聯系[email protected]。
附錄1 感染指標
哈希
F19B2E94DDFCC7BCEE9C2065EBEAA66C
3c434d7b73be228dfa4fb3f9367910d3
a67d3a0974f0941f1860cb81ebc4c37c
D0431E71EBE8A09F02BB858A0B9B80380
35484d750f13e763eae758a5f243133
e563e3113918a59745e98e2a425b4e81
a7441033925c390ddfc360b545750ff4
文件名
C:WindowsTempattrib1
C:WindowsTempattrib4
C:WindowsTempmk32
C:WindowsTemp:attrib1
C:WindowsTemp:attrib4
C:WindowsTemp:mk32
C:WindowsTemp:opt
C:WindowsSystem32netmgr.dll
Track 2 數據
******446987512*=********************
******548965875*=********************
******487470138*=********************
******487470139*=********************
******000000000*=********************
******602207482*=********************
******518134828*=********************
******650680551*=********************
******466513969*=********************