导语:网络安全公司Cyberbit的研究人员表示,PoS端恶意软件LockPoS已经开始利用新的代码注入技术来危害系统安全。
网络安全公司Cyberbit的研究人员表示,PoS端恶意软件LockPoS已经开始利用新的代码注入技术来危害系统安全。
LockPoS恶意软件最初在去年7月份被安全研究人员发现,并进行了详细地介绍,当时,研究人员发现LockPoS恶意软件能够从连接到PoS信用卡扫描器的计算机中读取正在运行的进程的内存,并收集信用卡数据,然后将其发送到命令和控制(C&C)服务器中。
根据之前的分析结果显示,LockPoS恶意软件是通过利用直接注入到explorer.exe 进程中的滴管组件进行传播的。需要注意的是,LockPoS必须通过手动加载来执行,然后再通过从自身提取的多个组件继续下载充当第二阶段的加载器。紧接着,恶意代码会进行解密、解压以及加载最终版本的 LockPoS有效载荷。
但是近日,来自Cyberbit的研究人员却发现,该恶意软件正在使用一种新的代码注入方法,该方法看起来像是Flokibot PoS恶意软件之前使用的一种注入技术的新变种。这两种恶意软件均以PoS终端为攻击目标,且共享相同的僵尸网络分发机制,所以存在相似之处并不足为奇。
研究人员指出,LockPoS采用的注入技术之一就是在内核中创建一个“节(section)”对象,然后调用一个函数将该节的视图映射到另一个进程中,再将代码复制到该节并创建一个远程线程来执行映射的代码。
LockPoS被观察到使用三个主要的例程来将代码注入到远程进程中,即NtCreateSection、NtMapViewOfSection以及NtCreateThreadEx,而所有这三个例程都是从Windows操作系统中的核心动态链接库(DLL)文件ntdll.dll中导出的。
但是,该恶意软件并不会直接调用上述的三个例程,而是将ntdll.dll从磁盘映射到自己的虚拟地址空间,从而使其能够维护DLL文件的“干净”副本。此外,LockPoS还分配一个缓冲区来保存系统呼叫号码,将恶意代码复制到共享映射区,然后在explorer.exe中创建一个远程线程来执行其恶意代码。
对ntdll.dll不了解的这里特别解释一下:
ntdll.dll是重要的Windows NT内核级文件,描述了windows本地NTAPI的接口。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。
通过使用这种“静默”的恶意软件注入技术,该恶意软件能够逃避反恶意软件可能安装在ntdll.dll上的挂钩(hook),从而增加成功攻击的可能性。
Cyberbit的恶意软件分析师Hod Gavriel解释说:
这种新的恶意软件注入技术表明,一种‘以新的方式来使用旧的序列’的新趋势可能正在形成,这使得检测变得更加困难。
尽管大多数端点检测和响应(EDR)解决方案以及下一代防病毒产品已经能够在用户模式下监视Windows功能,但是在Windows 10系统中,由于内核空间始终被守护着,所以无法对内核函数进行监视。研究人员表示,为了确保成功检测,应该进一步改善内存分析。