fireELF 是一个开源的无文件 Linux 恶意软件框架,具有跨平台特性,允许用户轻松创建和管理载荷。默认情况下,它包含 'memfd_create' 功能,这是一种全新的方式,可以在完全不接触硬盘的情况下,直接从内存运行 Linux ELF 可执行文件。

唯一包含的载荷 'memfd_create' 基于 Stuart 的研究,该载荷在内存中创建一个匿名文件描述符,然后使用 fexecve 直接从该文件描述符执行二进制文件。这允许完全在内存中执行,这意味着如果 Linux 系统重启,载荷将无处可寻。
默认情况下,fireELF 自带了 'memfd_create',但用户可以开发自己的载荷。默认情况下,载荷存储在 payloads/ 目录中。要创建有效的载荷,只需包含一个名为 'desc' 的字典,其中包含参数 'name'、'description'、'archs' 和 'python_vers'。示例如下:
desc = {"name" : "test payload", "description" : "new memory injection or fileless elf payload", "archs" : "all", "python_vers" : ">2.5"}
除了 'desc' 字典外,插件引擎使用的入口点需要一个 main 函数,该函数会自动接收两个参数:第一个是布尔值,如果为真则表示传入的是 URL;第二个参数接收数据。一个简单的入口点示例如下:
def main(is_url, url_or_payload):
return
如果你有方法,欢迎提交载荷!
通过运行以下命令安装依赖项:
pip3 -U -r dep.txt
fireELF 使用 Python 3.x.x 开发
usage: main.py [-h] [-s] [-p PAYLOAD_NAME] [-w PAYLOAD_FILENAME]
(-u PAYLOAD_URL | -e EXECUTABLE_PATH)
fireELF, Linux Fileless Malware Generator
optional arguments:
-h, --help 显示此帮助信息并退出
-s 抑制横幅
-p PAYLOAD_NAME 要使用的载荷名称
-w PAYLOAD_FILENAME 将载荷写入的文件名称(如果不使用粘贴站点选项,强烈推荐)
-u PAYLOAD_URL 要执行的载荷的 URL
-e EXECUTABLE_PATH 可执行文件的路径