卡巴斯基发现ATM病毒Skimmer改进版
在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,金融机构以及卡巴斯基威胁情报服务的客户分享了全部报告。更多信息请联系intelreports@kaspersky.com。
附录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*=********************
本文转自d1net(转载)
卡巴斯基发现ATM病毒Skimmer改进版相关推荐
- 卡巴斯基发现新型恶意软件StoneDrill,或与 Shamoon有关
卡巴斯基实验室的IT安全研究人员发现一款新的恶意软件--"StoneDrill".这款恶意软件针对中东的石油和天然气公司以及欧洲的目标起网络攻击. "StoneDrill ...
- 发现一个病毒文件你删了他又自动创建怎么解决
公司的内网某台linux服务器流量莫名其妙的剧增,用iftop查看有连接外网的情况 针对这种情况一般重点查看netstat连接的外网ip和端口. 用lsof -p pid可以查看到具体是那些进程,哪些 ...
- 如何发现Synaptics病毒
记录在学校实验室无意中发现的Synaptics蠕虫病毒 发现病毒 症状 查杀 发现病毒 查看任务管理器,如图 通过症状查看 病毒会感染指定目录下的exe与xlsx,参考 偷梁换柱:谨防"Sy ...
- 卡巴斯基发现网页技术中的危险漏洞
卡巴斯基实验室在Silverlight(一种用于显示多媒体内容的网页技术)中发现一种零日漏洞.这种漏洞允许攻击者完全访问受感染的计算机,并且可以执行恶意代码,窃取用户机密信息,还能够执行其它非法操作. ...
- 卡巴斯基6.0病毒库不能自动更新的解决方法
最近卡巴斯基6.0个人版反病毒软件不能自动更新病毒库,每次更新进行到38%时总弹出错误对话框,更新不能继续进行.具体错误对话框如下: 图1 错误对话框 按确定按钮之后,弹出错误信息如下: 图2 错误信 ...
- 对卡巴斯基发现的一个将shellcode写入evenlog的植入物的复现
原文章: https://securelist.com/a-new-secret-stash-for-fileless-malware/106393/ EventShellcodeDropper 核心 ...
- 专访趋势科技CEO陈怡桦:病毒行业需要反省
本文讲的是专访趋势科技CEO陈怡桦:病毒行业需要反省,[IT168 资讯]陈怡桦坦言经济危机确实使中小企业客户受到影响,但她认为政府机构纷纷出台先进建设方案,多数会用到IT和安全防护,因此这是一个新的 ...
- Windows Server 2003安装卡巴斯基2010成功
今天登录服务器的时候,用安全360检测发现"蠕虫病毒"横行! 所有的exe文件都被感染了,用360杀毒提示是删除exe文件, 这个不是我想要的结果! 这个时候我想到了用卡巴斯基20 ...
- 技术分享:逆向分析ATM分离器
文章内容仅供技术交流,请勿模仿操作! 背景(作者) 每一次外出时, Elizabeth和我总是格外的小心,同时把我们身上的钱藏在特殊的皮带上面,这样还不够,我们还采取了"狡兔三窟" ...
- 手动查杀病毒的第一课
今天看了下Windows下手动查杀病毒的教程.将心得写下来,以便后面复习使用. 首先,手动查杀病毒的步骤如下: 1,查内存,排查可疑进程.目的是为了将病毒从内存中干掉: 2,查启动项,删除病毒启动项. ...
最新文章
- oracle SQL 命令行(三.增删改查)
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
- 配置Nginx实现负载均衡
- 安装源码包(这里主要写了redis,其他都一样的操作)
- python输入日期时间转换格式_python如何格式化日期?
- 单词替换(信息学奥赛一本通-T1406)
- pillow 初级用法
- BP神经网络及其设计的一般原则
- 进阶项目(4)蜂鸣器程序设计讲解
- Hook 迅游手游加速器
- Chrome断点JS寻找淘宝签名sign
- echarts实现颜色渐变
- 进制的概念与转换(二进制、十进制、八进制、十六进制)
- MATLAB当中一些简单的数值分析函数总结
- Mysql ERROR: 1253 解决方法
- 新手程序猿编程实战项目推荐「附源码下载」
- JAVA-广联达-小朋友站队问题
- 随机信号的参数建模法AR模型及matlab实现
- 知乎上的48条神回复
- 服务器xp系统无法粘贴到本地,电脑远程登录时本机和远程机间不能直接复制粘贴文件...
热门文章
- 188. 买卖股票的最佳时机 IV
- fatal: Not a git repository (or any parent up to mount point /home) Stopping at filesystem boundary
- 力扣-222. 完全二叉树的节点个数
- ubuntu 启动时显示initramfs 无法进入系统
- Android-【报错】java.lang.ClassCastException: .MainActivity cannot be cast to java.lang.Runnable
- MTK平台调试LCD步骤浅析
- linux中的轮询机制select/poll/epoll特点分析
- 七. 并发编程 (进程队列)
- bzoj 1093 [ ZJOI 2007 ] 最大半连通子图 —— 拓扑+DP
- Tomcat服务器解析“GET /JavaWebDemo1/1.jsp HTTP/1.1”