天创培训:您身边的信息安全培训专家!
行业动态
SynAck成首个使用Process Doppelgänging代码注入技术的勒索软件

SynAck成首个使用Process Doppelgänging代码注入技术的勒索软件

在2017年12月7日,于英国首都伦敦举行的Black Hat 2017安全会议上,来自网络安全公司enSilo的两位研究人员Tal Liberman和Eugene Kogan 向我们描述了一种新型的代码注入技术,他们将其命名为“Process Doppelgänging”。

Process Doppelgänging被描述为能够工作在几乎所有的Windows操作系统上,从Windows vista 到最新的Windows。另外,由于使用Process Doppelgänging的恶意软件代码不会被保存到本地硬盘上(被称为“无文件攻击”),这使得目前市面上绝大多数流行的安全产品和取证工具都无法检测出这些恶意软件。

研究人员表示,他们针对各种安全产品都测试过Process Doppelgänging注入技术,包括Windows Defender、Kaspersky Labs、 ESET NOD32、Symantec、Trend Micro、Avast、McAfee、AVG、Panda,甚至是一些先进的取证工具(例如,内存取证工具Volatility)。结果是令人震撼的,这些安全产品和取证工具都无法检测出使用该技术的恶意软件。

卡巴斯基实验室在本周一(5月7日)发布报告称,他们在上个月发现了首个使用这种代码注入技术的勒索软件,即SynAck。需要指出的是,SynAck并不是一种最近才出现的新型勒索软件。它被发现的最早时间可以追溯到2017年9月,但最近被发现的样本正在使用Process Doppelgänging技术。

毫无疑问,SynAck使用Process Doppelgänging技术的目的在于试图绕过安全产品的检测。该技术利用了Windows操作系统的NTFS Transactions机制,从事务处理文件启动恶意进程,以使得这些进程看起来像是合法进程。

通常来讲,为了使恶意软件分析师的工作复杂化,恶意软件的开发人员往往都会使用自定义的PE软件包来保护恶意软件可执行文件的原始代码。然而,SynAck的开发人员似乎并没有这么做,他们并没有对勒索软件的可执行文件进行打包。不过,他们在SynAck的源代码中添加了大量的混淆代码,这使得对SynAck的分析极为困难。

在加密文件之前,SynAck会检索所有正在运行的进程和服务,并根据两个硬编码的哈希值列表(数百个组合)来检查其名称的哈希值。如果发现匹配,它会会尝试终止这些进程或停止服务。

正如我们所看到的那样,SynAck试图终止与虚拟机、办公应用程序、脚本解释器、数据库应用程序、备份系统以及游戏应用程序等相关的程序。研究人员认为,SynAc这样做的目的在于授予自身能够访问这些进程所使用的有价值文件的权限。

如同其他勒索软件一样,SynAck也会收集一些关于受感染主机的基本信息,如计算机和用户名、操作系统版本信息等,然后使用随机生成的256位AES密钥对目标文件进行加密。在文件被加密后,将会被附加一个随机生产的扩展名。

除此之外,SynAck还会清除系统存储的事件日志,并且可以通过修改注册表中的LegalNoticeCaption和LegalNoticeText键将自定义文本添加到Windows登录屏幕。因此,在用户登录其帐户之前,Windows会显示来自网络犯罪分子的消息。

卡巴斯基总结说,他们目前只是在美国、科威特、德国和伊朗监测到了的几起SynAck勒索软件攻击事件,这使他们相信该勒索软件是针对某些特定目标而专门定制的。