E科技

您的位置:主页 > 前瞻

卡巴斯基:ATMJaDi的恶意软件

2019年春季,我们发现一款利用Java编写的最新ATM恶意软件样本被从墨西哥上传到多引擎扫描服务,之后又从哥伦比亚上传。经过简要分析,我们可以清楚地确认这款名为ATMJaDi的恶意软件能够从自动提款机(ATM)中盗取现金。但是,这种恶意软件没有使用标准XFS、JXFS或CSC库。 相反,它使用受害者银行的ATM软件Java专有类:这意味着这种恶意软件只能用于一小部分ATM机。这也使得这种恶意软件非常具有针对性。

卡巴斯基产品将这种恶意软件样本检测为Trojan.Java.Agent.rs

技术详情

首先,与大多数其他ATM恶意软件一样,攻击者必须找到办法将恶意软件安装到目标ATM上。这种恶意软件无法通过ATM键盘或触摸屏控制,因为它运行着自造的 HTTP 服务器 Web 界面用于控制。所以,网络罪犯必须对目标ATM具有网络访问权限。这让我们相信网络罪犯已经入侵了银行的基础设施,以获得对ATM所连接的网络的访问权限。

一旦安装和执行,这款以Java归档文件形式存在的被称为“INJX_PRE.jar”的恶意软件会查找控制ATM的进程,并将自身注入其中,从而控制合法的ATM进程。注入完成后,恶意软件会以多种语言同时在终端上打印消息,这些语言包括:俄语、葡萄牙语、西班牙语和中文。但是,恶意软件使用的所有其他信息或字符串都是英文的。输出中显示的不同语言短语可以翻译成英语“自由与荣耀”。后面跟着额外的俄语信息“отдельный”,意思是“分开”。我们认为这种做法是一种伪旗手段,因为母语是俄语的人永远不会在文中使用这个词。

· Свобода и слава

· Liberdade e glória

· Libertad y gloria

· 自由与荣耀

· отдельный

之后,启动HTTP服务器,该服务器使用预定义的URL路径接收命令。 它们是:

· /d 突出钞票或让ATM中的储钞盒执行动作(正确的动作由传递的参数决定);

· /eva 在遭受攻击的ATM上评估(运行)用户提供的代码;

· /mgr 对于管理器,它使犯罪分子能够访问附加的Java虚拟机的所有正在运行的类的列表,以便他们可以调用他们想要的任何函数,并在需要时提供参数;

· /core 能够让网络罪犯从受害者文件系统中载入特定的.jar文件;

· /root path接受POST请求正文并将其作为shell命令传递给cmd.exe,返回结果输出。

出钞动作和“运行shell”路径没有带有表单和按钮的界面页面,而是仅接受预先准备的HTTP POST请求并将原始文本结果打印到页面,省略HTML标记。因此,在出钞请求的情况下,恶意软件响应将是'ok'字符串。 “获取现金单元信息”请求后面将跟一个描述ATM现金单元状态的字符串(参见下面的示例)。

1:1000;5:700;10:100;20:30;

这些字符串由四个组组成,每个组用分号分隔。它是一个与ATM现金盒相对应的列表,由两个值组成,用冒号分隔:代表储钞盒中的面额和纸币的实际数量。在上面的例子中,第一盒存有1000张面额为1的纸币,700张面额为5的纸币,以此类推。

除了“运行shell”,“出钞”和“获取现金单元”之外,“eva”,“mgr”和“core”路径具有界面页面。 以下是评估页面的屏幕截图:

/eva 路径界面截图示例

它允许犯罪分子在受害ATM上粘贴并运行任何JavaScript代码,并查看它返回的内容。为何选择JavaScript? 因为Java允许使用外部引擎,而犯罪分子使用的是JavaScript。以下是恶意软件用于运行传递的JavaScript代码的函数。

结论

ATMJaDi的针对性特征表明,网络罪犯在编写恶意软件之前,很好地研究了受害者。很明显,他们必须能够访问自定义Java类运行的ATM,并且最有可能访问Java程序源代码。

此外,恶意软件的被控制手段表明,犯罪分子计划很可能是通过银行的内部网络获取对受感染ATM的网络访问权限。

银行应该怎样做才能阻止这类攻击:

· 设置专门的反针对性攻击解决方案来保护银行的网络,例如KATA(卡巴斯基反针对性攻击平台),使用其他解决方案来保护ATM不受恶意软件侵害;

· 实施ATM文件白名单;

· 银行的ATM网络必须要隔离,并且必须严格限制对其的访问;

相关阅读

  • 07-11 全球化、透明化和受信任:卡巴斯基成功通过独立SOC 2 审计
  • 07-10 卡巴斯基Plurox:模块化后门程序
  • 07-10 卡巴斯基帮助消除智慧家庭控制器中的严重漏洞
  • 06-27 上海青年影视人才培育基地落户松江云堡未来市
  • 06-27 用户在一年内遭到传播恶意软件的虚假视频游戏的攻击