恶意软件如何执行远程有效载荷

信息安全 linux Unix 开发 恶意软件
2021-08-21 02:37:50

让我们假设(在基于 UNIX 的平台上)安装了带有一些社会工程技巧的恶意软件。最初安装的代码本身可能是良性的,但唯一的恶意活动是恶意软件连接到 C&C 服务器并检索一些额外的恶意负载。然后,恶意软件会尝试执行检索到的恶意负载。

对我来说不太清楚的是恶意负载是如何执行的?是否需要将其写入文件然后调用 execve?还有其他可能性吗?

2个回答

有很多方法可以运行下载的代码:

  • 编写一个文件,然后按照您的说明执行它
  • 有效负载可能是用加载器作为解释器的语言编写的。
  • 加载程序可以执行 shell 或其他脚本可执行文件(python、ruby)并将有效负载作为脚本传递给它。
  • 加载程序可以mmap执行内存,将有效负载加载到其中,分配函数指针并调用它。

我确信还有更多方法,但我怀疑涵盖了主要类别(编写和执行、解释它、将其交给其他人解释或直接运行)。可能有一些方法可以诱使系统执行未写入文件系统的 ELF 可执行文件(可能通过命名管道),但没有立即想到。


编辑:见fexecve()这应该让您创建一个管道、fork,然后 fexecve 从父管道读取可执行文件,而无需写入文件。

可能会使用像 The Grugq 的“userland exec ”这样的东西。这种方法的优点是不会在磁盘上留下任何法医证据。这一切都在记忆中。