火眼实验室在一篇博客中仔细剖析了名叫“RIPPER”的新型ATM恶意软件,文件指标推断这款恶意软件即是导致泰国银行ATM盗窃的软件。
参见漏洞银行之前的报道:2016年8月13日,FireEye(美国知名网络安全公司)侦查到一款新型ATM恶意软件样本,使用的是之前从未见过的技术。引起人们注意的是在曼谷邮报发布了价值高达一千二百万泰铢的ATM盗窃案数分钟前,该样本于一处泰国的IP地址上传到VirusTotal(一个提供免费的可疑文件分析服务的网站)。
在博客中,FireEye Labs仔细剖析了这款称作“RIPPER”的新型ATM恶意软件(由于上传样本的项目名为“ATMRIPPER”),文件指标推断这款恶意软件即是导致泰国银行ATM盗窃的软件。
同以前ATM恶意软件的联系:
-
以相同的ATM机品牌为目标
-
吐钞技术沿用同 Padpin (Tyupkin), SUCEFUL 和GreenDispenser(ATM恶意软件)相同策略(已记录)。
-
类似SUCEFUL,软件能控制读卡器装置读取或弹出所需银行卡。
-
类似Padpin系列恶意软件,能使本地网络交互界面无效。
-
类似 GreenDispenser,通过使用“sdelete”安全删除工具抹除痕迹。
-
每次取款限额为40张纸币,遵循ATM机的上限。
RIPPER的新型特征、功能:
-
以全球主要的三种ATM取款机为目标的首例。
-
RIPPER通过插入特制ATM卡与ATM取款机相连,这张特制卡内部嵌有EMV芯片以进行身份验证。尽管这种技术已为 Skimmer系列软件应用,但这仍然是一种不多见的技术。
RIPPER与近期泰国ATM盗窃案的相同点:
RIPPER分析
MD5: 15632224b7e5ca0ccb0a042daf2adc13
RIPPER 持续性:
RIPPER通过两种模式保持其持续性:脱机服务或者伪装合法ATM流程。
RIPPER以一种服务的模式被安装如果调用以下参数:
service install
在创建服务之前,此命令会消除“dbackup.exe”,此程序往往特定于普通的ATM取款机。
cmd /c taskkill /IM dbackup.exe /T /F
此命令将会替换c:\Windows\system32\(如果存在)下的初始dbackup.exe。
最终将会安装有如下特征的持续化服务:
RIPPER通过运转如下命令可以删除“DBackup Service”:
service remove
RIPPER通过运转如下命令可以停止或启动“DBackup Service”:
“service start” or “service stop”
RIPPER同样支持如下命令行参数开关:
/autorun:休眠10分钟后再运转,等待交互命令。
/install:RIPPER将会代替在ATM取款机上运行的软件,如下:
执行时,RIPPER将通过本地Windows “taskkill”工具,消除三台目标ATM取款机内存中运行的程序。
RIPPER将会与目标ATM取款机相关的目录内容,并置换合法可执行程序。这项技术使得恶意软件持有合法项目名称、避免怀疑。
RIPPER将会将自己添加进\Run\FwLoadPm 目录下的操作注册表”registry key”(这可能是部分取款机安装程序),再运行“/autorun”参数,如下图1所示:
图1:为了持续性增加的操作注册表
/uninstall:RIPPER移除创建的操作注册表
无参数运转
RIPPER在无任何参数运转的情况下会执行以下行为:
1.联接提款机、读卡器和键盘。既然每种ATM品牌都有自己独特的装置名,RIPPER将会通过枚举操作注册表下的装置进行识别:
HKEY_USERS\.DEFAULT\XFS\LOGICAL_SERVICES\
2. RIPPERR通过查询机器状态(如图2),确保装置可用;反之,退出。
图2:通过WFSGetInfo() API查询装置状态
3.在提款机方面,RIPPER获取相关信息,例如现金单位,以决定可提取现金的数目与币种。
4.最后,实行两种线程。第一种将会监测ATM装置状态,确保可使用并读取所有从Pinpad(POS机的一种接口)收到的信息,这些接口往往已经被盗贼控制(详见步骤7),如图3所示:
图3:监控按键信息
5.第二种监测读卡器,一旦卡片插入,装置即使得起到身份验证作用的EMV芯片批准ATM恶意软件,使其合理化。
6.一旦监测到嵌有恶意EMV芯片的实体卡,RIPPER将实例化timer(作用就是每到间隔时间后激发响应事件并执行相应函数),允许窃贼控制机器。图4描述了timer的功能。
图4:监测读卡器
7.一旦窃贼开始使用RIPPER,他们通过Pinpad接口和已展示的多种方法输入命令,包括提款方法。图5展示了窃贼使用的一些方法。
a) 清理系统日志:清理存储在C:\WINDOWS\temp\clnup.dat下的日志
b) 隐藏:通过ShowWindow() API.隐藏恶意软件的GUI(Graphical User Interface,图形用户界面)。
c) 无效网络:关闭ATM本地网络交互界面以避免其与银行进行交流。如果需要,可以重新生效联接。
图5:主菜单
d) 重启:通过ExitWindowsEX() API且不发送WM_QUERYENDSESSION信息以避免确认提醒,造成系统重启。
e) 返回:通过WFSExecute()输入命令WFS_CMD_IDC_EJECT_CARD是恶意ATM卡片弹出返还窃贼。如图6显示,此技术发现被SUCEFUL系列软件使用。
图6:命令读卡器弹出芯片卡
结论:
通过开放资源,我们已识别出可能在最近ATM盗窃案中使用的系列恶意软件;同时,这次的恶意软件与其他恶意软件有相似特征。此次恶意软件可威胁到多种取款机平台,并利用不寻常的技术接触实体装置。除了精通技术,类似泰国ATM机事件的攻击更需要网络与现实两者结合,给我们对窃贼可怕实质的认识敲响了警钟。
作者:Linix
链接:http://www.bugbank.cn/news/detail/57c7fe01820e951869e9df60.html
来源:漏洞银行
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。