在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 记录钱骡的活动。
钱骡(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,金融机构以及 卡巴斯基威胁情报服务 的客户分享了全部报告。更多信息请联系 intelreports@kaspersky.com 。
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
******446987512*=********************
******548965875*=********************
******487470138*=********************
******487470139*=********************
******000000000*=********************
******602207482*=********************
******518134828*=********************
******650680551*=********************
******466513969*=********************
*翻译自: https://securelist.com/blog/research/74772/atm-infector/ ,译者:felix,转载须注明来自FreeBuf黑客与极客(FreeBuf.COM)