一、前言
无文件(fileless)恶意软件攻击现在已经越来越流行,这一点并不奇怪,因为这种技术通常不会留下蛛丝马迹。本文的重点不是介绍如何在Windows RAM中执行程序,我们的目标是GNU/Linux。Linux是服务器行业的领头羊,在上百万嵌入式设备和大多数web服务上都能看到Linux的身影。在本文中,我们将简单探讨如何在Linux系统内存中执行程序,也讨论了如何应付具有挑战性的环境。
无文件执行比较隐蔽,比较难检测及跟踪。由于该过程中不涉及新文件写入磁盘,也没有修改已有文件,因此基于文件系统一致性的检测工具通常不会警告管理员。反病毒软件(*nix用户通常会忽略这种产品)在程序启动后通常不会监控程序内存。其外,当系统安装完毕后,许多GNU/Linux发行版会提供各种调试工具、解释程序、编译器和程序库,这些都可以帮助我们实现无文件技术隐蔽执行。然而,无文件执行也有一些缺点,比如无法在系统意外断电或者重启时正常驻留,但程序正常情况下可以保持运行,直到目标设备断电下线。
无文件技术可以用来传播恶意软件,但功能并不局限于此。如果我们对运行速度要求较高,可以将程序拷贝到内存中运行。许多Linux发行版可以完全在内存中运行,因此在搭载硬盘驱动器的情况下,我们还是有可能实现不落盘运行。对于信息安全而言,无文件技术在后渗透(post-exploi