8月23日出现一个疑似是新出现的ATM恶意软件样本,使用了一些与通常样本不同的技术。巧合的是此样本在曼谷邮报新闻《泰国银行ATM机被攻击,一千两百万泰铢被盗》发布出来前的几分钟,被来自于泰国的IP上传到VirusTotal(一个提供免费的可疑文件分析服务的网站)。绿盟科技安全专家团队对此恶意软件样本进行了分析,发现此样本针对ATM发起攻击,并利用了很多罕见的技术来获取目标ATM设备的物理访问权,进一步协助攻击者提取ATM中的现金。
-
背景介绍
关键词解释:
IDC: 身份证阅读器
CDM: 自动取款机;
PIN 小键盘
XFS.dll : 金融服务扩展(XFS)接口,现金取款设备类接口
此样本的运行依赖于金融服务扩展(XFS)库,其中所使用的函数为现金取款设备类接口API,即此样本针对的对象为ATM机,且样本获取了ATM机上的IDC、CDM、PIN等设备信息,若无法获取,则自动退出。当成功获取以上设备信息之后,恶意样本会设置盗窃者接入接口,记录IDC、PIN的输入信息,监测ATM机状态,等待盗窃者提取。
-
样本分析
- 文件结构
表 文件列表
文件名 | MD5 | 功能简介 |
源文件 | 15632224B7E5CA0CCB0A042DAF2ADC13 | 主样本 |
DBackup.exe | 15632224B7E5CA0CCB0A042DAF2ADC13 | 源样本文件拷贝文件,用于服务启动 |
sd.exe | CE5BACAF4F44BC3227E1F55B01A896EA | 样本释放在临时文件夹下的清除痕迹工具 |
- 主要功能
当未添加参数时,样本文件首先查找到相关的ATM设备,获取设备信息检查设备状态,当检测到设备未运行,则直接退出,否则显示交互界面,提供设置、隐藏、重启等交互操作;样本创建两个线程,一个线程获取键盘输入内容,确保设备正常运行,另一个读取IDC获取的数据;样本显示交互界面(即主菜单),包含清除日志、隐藏、卸载服务、网络是开启/禁用等设置。
当添加参数时,执行参数指定的功能,具体功能如下表所示:
表 参数可选项列表
参数 | 功能 |
service | 启动线程清除日志;显示交互界面(主菜单);拷贝自身到系统目录,安装服务,并通过service命令对服务状态进行更改。可选二级命令包括:install/remove/start/stop |
/autorun | 自动运行,睡眠后在后台执行,等待攻击者进行操作 |
/uninstall | 删除添加的注册表项 |
/install | 设置自启动,添加相关的注册表项 |
/stop | 停止服务,退出进程 |
/cleanup | 终止指定的进程(多个),使用SDelete工具清除痕迹,退出进程 |
综上所述,样本完成的功能包括:
- 获取设备信息:获取设备信息和设备状态,进入用户交互界面;
- 安装服务:删除正在运行的DBackup.exe进程,然后将自身拷贝到系统目录下并以服务的形式启动执行;
- 显示主菜单:功能交互界面,可选择相应的功能;
- 清除日志;
- 卸载服务:可通过与攻击者的交互界面对服务进行卸载;
- 断开网络连接:断开ATM局域网,防止与其他银行联机(可在主菜单交互界面中选择开启);
- 隐藏自身:样本会通过调用ShowWindow函数隐藏恶意软件的窗口接口;
- 清除痕迹:使用SDelete工具(样本释放在临时文件夹下的文件)清除痕迹;
- 持续攻击:样本以服务方式运行,同时在注册表中添加自动运行项,保证其持续性的攻击。
无参数情况下,进入的用户交互界面如下图所示:
当参数为service时,显示的功能主菜单如下图所示:
静态分析可以看到作者信息:
查看进程启动时传入的参数是否存在,并执行不同例程:
无参数启动
当没有传入参数时,校验各个设备是否正常运行,如果成功读取设备状态信息,则注册窗口消息。具体代码如下面两个图所示。
若发现设备未在运行,则会提示设备未知,并退出程序;否则,跳转到shell界面,并显示用户可以进行的操作界面,其中包括设置、隐藏、重启等交互操作;
并且创建两个线程,一个线程获取键盘输入内容,保证设备正在正常运行。
另一个线程负责读取身份证读取器的数据,并且提供一个盗窃者接入的接口,也就是定时器的回调函数:
参数为service
当选择的参数为service时,启动线程执行清除日志功能(如下图所示),并显示用户交互界面(主菜单)。
当选择的参数为service时,可选择二级参数install/remove/start/stop执行相应的功能,具体的代码如下面图所示。
参数为/install
当参数为/install时,样本设置注册表中的自启动项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
键:FwloadPm
键值:C:\Probase\cscw32\bin\FwLoadPm.exe /autorun
(其中键值还可能为C:\Program Files\Diebold\Agilis Startup\DBackup.exe /autorun
C:\Program Files\NCR Aptra\bin\NCRPRS.exe /autorun)
参数为/uninstall
参数为/uninstall时,其功能为删除注册表项。
参数为/cleanup
参数为/cleanup时,其主要功能是终止多个内部正在执行的进程,同时使用样本自身释放的sd.exe(临时文件夹下)的SDelete工具清除痕迹。
- 绿盟科技专业安全服务解决方案
1 恶意软件的清除方法,请在ATM机上进行以下操作:
[1] 查找以下文件:
C:\WINDOWS\System32\dbackup.exe
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\sd.exe
[2] 注册表自启动项:
HKCU//Software//Microsoft//Windows//CurrentVersion//Run
HKLM//Software//Microsoft//Windows//CurrentVersion//Run
键名: FwloadPm
键值: C:\Probase\cscw32\bin\FwLoadPm.exe /autorun
或者C:\Program Files\NCR Aptra\bin\NCRPRS.exe /autorun
或者C:\Program Files\Diebold\Agilis Startup\DBackup.exe /autorun
[3]系统服务项:
ServerName: DBackup Service
ImagePath: C:\WINDOWS\System32\dbackup.exe /service
2 对ATM机所在网络环境和物理环境进行安全自查,确认修改了系统默认的配置和密码,建立完备的反病毒体系,并联系ATM机厂家确保系统和软件均升级到最新版本。
3 由于类似本次攻击ATM的恶意软件常会变换使用一些罕见的技术,传统安全产品很难及时发现,因此建议可采用绿盟科技新一代威胁防御方案(IPS+TAC),通过新型的检测技术可以有效发现并阻断这些攻击行为,帮助客户有效的遏制由此带来的风险。
4 如果您遇到无法处理的安全问题,欢迎您联系绿盟科技当地的专业安全服务团队,绿盟科技专家团队会竭诚为您提供最优质的专业安全服务。
总结
该样本与其他ATM恶意样本具有相似之处,但也有其比较新颖的地方。它能够准确定位ATM设备,当检测到插入卡为指定的卡时,弹出交互界面,允许攻击者执行多项功能,同时还具有清理自身痕迹功能,具有良好的隐蔽特性。
关于“绿盟科技”
北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。
基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。
北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。
如果您需要了解更多内容,
可以 加入QQ群:486207500、570982169
直接询问:010-68438880-866