
fireELF - ファイルレスLinuxマルウェアフレームワーク
fireELF は、オープンソースのファイルレスLinuxマルウェアフレームワークで、クロスプラットフォームであり、ユーザーがペイロードを簡単に作成・管理できるようにします。デフォルトでは、Linux ELF 実行ファイルを完全にメモリ上で実行し、バイナリがハードドライブに触れることなく実行する新しい方法である memfd_create が含まれています。

含まれているペイロード memfd_create は Stuart の研究に基づいています。このペイロードは、メモリ内に匿名ファイルディスクリプタを作成し、その後 fexecve を使用してファイルディスクリプタから直接バイナリを実行します。これにより、完全にメモリ内での実行が可能となり、Linux システムが再起動された場合、ペイロードはどこにも見つからなくなります。
デフォルトでは fireELF には memfd_create が含まれていますが、ユーザーは独自のペイロードを開発できます。デフォルトではペイロードは payloads/ に保存され、有効なペイロードを作成するには、パラメータ name、description、archs、python_vers を持つ desc という名前の辞書を含めるだけです。以下に desc 辞書の例を示します。
desc = {"name" : "test payload", "description" : "new memory injection or fileless elf payload", "archs" : "all", "python_vers" : ">2.5"}
desc 辞書に加えて、私が構築したプラグインエンジンのエントリポイントでは、main 関数が必要です。この関数には自動的に2つのパラメータが渡されます。1つはブール値で、true の場合は URL が渡されていることを意味し、2つ目のパラメータにはデータが渡されます。以下にシンプルなエントリポイントの例を示します。
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 show this help message and exit
-s Supress Banner
-p PAYLOAD_NAME Name of Payload to Use
-w PAYLOAD_FILENAME Name of File to Write Payload to (Highly Recommended if
You're not Using the Paste Site Option)
-u PAYLOAD_URL Url of Payload to be Executed
-e EXECUTABLE_PATH Location of Executable