林明亮,彭贵超
(国家计算机网络应急技术处理协调中心海南分中心,海南 海口 570100)
无文件攻击是内存层面的攻击方式,设计之初就是为了规避传统的已知检测技术。这类攻击最早发现是2001年的Code Red蠕虫[1]。从2001年夏天到2017年这类攻击开始流行,人们才找到直接的证据证明这类攻击的存在。接近77%的成功入侵是基于无文件攻击技术,这个成功率几乎是已知的基于文件攻击的10倍。
无文件攻击使用的技术也叫做“Living off the land”(LotL),即不落地存活技术。这类攻击最主要的特点就是没有恶意代码或者攻击载荷作为一个文件被存储在磁盘上。其次是这类攻击使用的是安全的,预安装的,操作系统已有的工具。这也是在攻击的前后没有任何恶意活动的痕迹被发现的原因。这种类型的攻击使用系统工具,如Powershell,WMI[2]以及其他 Windows管理工具且通过修改注册表键值的方式来实现对目标的长期控制,还有一些基于java的恶意代码可以利用java的特性在内存中存活,实现无文件的webshell后门。
无文件攻击方式主要可以分为四种类型:只在内存中运行的攻击、无文件持久化攻击、非可执行文件攻击、利用系统自带工具。在攻击链的入侵环节一般通过利用漏洞获取权限达到直接在内存中执行代码的目标。常见的攻击手法为发送一个带有恶意代码的 office文件[3]或者在其他机器的快捷方式文件中插入恶意代码。这个环节可以存在多种无文件攻击类型,包括:只在内存中运行的攻击,如SMB永恒之蓝漏洞;……