fireELF – 无文件Linux恶意代码框架

fireELF介绍

fireELF是一个开源的跨平台无文件Linux恶意代码框架,它允许用户轻松的创建和管理payloads。默认情况下附带了’memfd_create’,这是一种从内存中完全运行linux elf可执行文件的新方法。

fireELF - 无文件Linux恶意代码框架

https://github.com/rek7/fireELF

fireELF特性

  • 选择并构建payloads
  • 能够缩小payloads
  • 能够通过将payloads上传到pastebin来缩小payloads,然后创建一个与python <= 2.7兼容的非常小的stager
  • 输出已创建的payloads到文件
  • 能够从URL或本地二进制文件创建payloads

包含的 payload memfd_create

这是一个linux系统的底层调用函数,它在内核3.17中引入,会创建一个匿名文件并返回一个文件描述符指向它,该文件表现和常规文件类同, 可以进行修改,截断,内存映射等等,但不同的是,它存在于RAM当中。这就是可以被攻击者所利用的,如果有办法将需要执行elf通过memfd_create写入内存中进行执行的话就可以达到我们的目的。

创建 Payload

除此之外,用户还可以开发自己的payload。默认情况下,payload存储在payloads/下,想要创建有效的payload,你只需include一个名为’desc’的dictonary,其参数为’name’,’description’,’archs’和’python_vers’。示例如下:

除了’desc’ dictonary之外,我构建的插件引擎使用的entry point(入口点)需要一个main函数,它将自动传递两个参数,一个是布尔值,如果为真则意味着它传递了一个url,第二个参数传递的是数据。以下是一个简单入口点的示例:

fireELF安装

fireELF使用