安全扫描工具始终都是恶意软件的死敌,绝大多数流行的恶意软件和病毒都可以被扫描出来,然后将其从系统中剔除。但趋势科技的研究人员最近发现了一种不使用文件执行的恶意软件,从而导致扫描工具很难检测到它的存在。
这种无文件式的恶意软件只存在于内存中,并被直接写入目标计算机硬盘的RAM(随机存储器)中。如去年8月份发现的POWELIKS就是这样一种恶意软件,它能够把恶意代码隐藏在Windows注册表中。
POWELIKS的高超感染手法被其他恶意软件作者纷纷效仿,趋势科技于近日在博客上介绍了一种典型的无文件式恶意软件“变身僵尸”(Phasebot)。
脱胎于太阳僵尸
“变身僵尸”不仅具备恶意软件包(rootkit)的特性,更重要的是它还拥有无文件执行的能力,它与一个2013年的恶意软件“太阳僵尸”(Solarbot)拥有相同的功能。此外,“变身僵尸”还具备虚拟机检测和外部模块装载功能。后者可以在受感染机器上添加移除功能。
与“太阳”相比,“变身”十分强调隐密和逃避机制。比如,在每次与命令控制器(C2)通信时,它都会使用随机口令加密与C2的通信。而且,它还会检测受感染设备上是否安装了下列程序:
.NET Framework Version 3.5
Windows PowerShell
变身僵尸会查询注册表条目以找到特定程序
这两种程序均为当前版本Windows的默认安装程序。当检测到这两种程序时,变身僵尸就会在注册表中恶意软件的位置建立经过加密的恶意代码键值:
· HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\{Bot GUID}键值Rc4Encoded32和Rc4Encoded64将存储加密的32位和64位shell code。之后,它会建立另一个名为JavaScript的键值,用来解密和执行Rc4Encoded32和Rc4Encoded64。
如果在系统中没有检测到这两种程序,变身僵尸会在用户启动项(%User Startup%)的文件夹中留下一份自身的拷贝。然后利用应用程序接口(API)完成一个用户级别的rootkit,以使躲避典型终端用户的发现。它利用NtQueryDirectoryFile来隐藏文件,利用NtQueryDirectoryFile来隐藏恶意软件进程。
在僵尸主的指挥下,变身僵尸能够执行诸如通过表单抓取器盗取信息,DDoS攻击,自我更新,下载并执行文件,以及访问网址链接等常规动作。
变身僵尸与Windows管理工具
变身僵尸之所以有趣就在于,它使用Windows的内置系统管理工具PowerShell来逃避安全软件的检测,通过PowerShell来运行它隐藏在注册表中的组件。Windows 7或更高版本的操作系统默认安装中都包括PowerShell,另一个程序.NET framework 3.5也是如此。
随着Windows 7用户的增加,变身僵尸的感染者越来越多,利用系统的默认管理工具扩大自身,无疑是一种很好的发展策略。
无文件式恶意软件的未来
将来会有越来越多的恶意软件作者采取并适应这种无文件的手法,他们将不满足于仅仅使用Windows注册表来隐藏恶意软件,他们还将使用其他复杂高端的技术实施恶意行为,并无需在受感染的系统中留下文件。
对于一般用户来说,这种无文件式恶意软件是一个很大的安全威胁。通常用户都被建议检查可疑文件或文件夹,但不会去检查注册表,因此给这种恶意程序留下了可趁之机。
由于难于检测,因此也就难于移除。对于安全厂商来说,它更是个挑战,尤其是那些主要依靠基于文件检测方式的厂商,因此他们需要开发新的检测方法,比如行为监控。
原文地址:http://www.aqniu.com/tools/7425.html