导语:安天在梳理网络安全事件时注意到了针对ATM自动取款机的恶意代码家族Trojan/Win32.Prilex,其最初在2017年10月被披露用于针对拉丁美洲葡萄牙语系ATM的攻击活动。

Prilex背景概述

安天在梳理网络安全事件时注意到了针对ATM自动取款机的恶意代码家族Trojan/Win32.Prilex,其最初在2017年10月被披露用于针对拉丁美洲葡萄牙语系ATM的攻击活动。通过对Prilex分析发现,恶意代码使用Visual Basic 6.0(VB6)编写,代码中夹杂着“Ol?Jos?Boa tarde”等葡萄牙语,攻击者伪造并替换ATM应用程序屏幕,等待受害者输入密码,获取受害者密码信息后,将密码等数据回传到攻击者的远端服务器。

Prilex家族会影响特定品牌的自动取款机,这意味着攻击者在实施恶意攻击之前,需要对目标进行系列的渗透活动。因此,Prilex家族是攻击者在熟识目标之后,针对目标编写设计的、具有针对性的恶意代码。

图1.1 隐藏在恶意代码中等待用户输入代码的伪装ATM屏幕图片

样本分析

首先,第一个样本通过“cmd /c c:\windows\system32\hkcmd.exe”命令加载执行另一个恶意样本。关联查询获得第二个样本并将其复制到特定目录完成后续分析。对hkcmd.exe进行分析,发现其包括修改屏幕、回传数据等主要功能。

样本运行后,设置自身文件路径作为互斥量创建的参数,查看是否存在注册表“HKLM\SOFTWARE\Microsoft\VBA\Monitors”,如果该键值存在则恶意代码执行的操作可被拦截调试。

图2.1查看注册表HKLM\SOFTWARE\Microsoft\VBA\Monitors

通过静态反汇编VB代码发现,恶意代码调用GetForegroundWindow函数获取当前窗口的句柄,调用GetWindowText获取当前窗口标题,再使用自定义函数设置窗口参数,调用GetDesktopWindow函数返回桌面窗口的句柄,并覆盖整个屏幕。

图2.2自定义函数设置窗体

继续分析发现,恶意代码创建Winsock,设置远端服务器IP地址,可将信息回传给攻击者。

图2.3 回传代码

源链接

Hacking more

...