ステルス性と高度な特権昇格技術を使用してシステム上の存在を隠す、Pumakitと呼ばれる新しいLinuxルートキット型マルウェアが発見された。
このマルウェアは、ドロッパー、メモリ常駐型実行可能ファイル、カーネルモジュールルートキット、共有オブジェクト(SO)ユーザーランドルートキットを含むマルチコンポーネントで構成されています。
Elastic Securityは、2024年9月4日付でVirusTotalにアップロードされた不審なバイナリ(「cron」)の中からPumakitを発見し、誰が使用しているのか、何をターゲットにしているのかについて可視化できていないことを報告しました。
一般的に、これらのツールは、重要なインフラストラクチャや企業システムを標的とする高度な脅威行為者によって、スパイ活動、金銭的窃盗、破壊工作のために使用されます。
Pumakit
Pumakitは、’cron’という名前のドロッパーから始まる多段階の感染プロセスを採用しており、埋め込まれたペイロード(’/memfd:tgt’と’/memfd:wpn’)を完全にメモリから実行します。
子プロセスで実行される「/memfd:wpn」ペイロードは、環境チェックとカーネルイメージ操作を実行し、最終的にLKMルートキットモジュール(「puma.ko」)をシステムカーネルに展開します。
LKM rootkit 内には Kitsune SO (‘lib64/libs.so’)が組み込まれており、ユーザーレベルのシステムコールを傍受するために ‘LD_PRELOAD’ を使用してプロセス内に侵入するユーザーランド・ルートキットとして動作します。

ソースはこちら:Elastic Security
ステルス的な特権の昇格
このルートキットは条件付き起動に従い、ロード前に特定のカーネルシンボル、セキュアブートステータス、その他の前提条件をチェックする。
Elastic社によれば、Pumaはシステムの動作を操作するために「kallsyms_lookup_name()」関数を利用します。これは、このルートキットがバージョン5.7以前のLinuxカーネルのみをターゲットとして設計されていることを示している。
「LKMルートキットのシステム動作を操作する能力は、syscallテーブルの使用とシンボル解決のためのkallsyms_lookup_name()への依存から始まります」とElastic社の研究者Remco Sprooten氏とRuben Groenewoud氏は説明する。
“カーネルバージョン5.7以上をターゲットとする最新のルートキットとは異なり、このルートキットはkprobesを
使用しておらず、古いカーネル向けに設計されていることを示しています “とElastic社の研究者Remco Sprooten氏とRuben Groenewoud氏は説明している。
Pumaは、「ftrace」を使用して18のシステムコールと複数のカーネル関数をフックし、特権の昇格、コマンドの実行、プロセスの非表示機能を獲得する。

Source:Elastic Security
カーネル関数の「prepare_creds」と「commit_creds」を悪用してプロセスの認証情報を変更し、特定のプロセスに root 権限を付与する。

ソースはこちら:エラスティック・セキュリティ
ルートキットは、カーネルログ、システムツール、アンチウイルスから自身の存在を隠すことができ、ディレクトリ内の特定のファイルやプロセスリストからオブジェクトを隠すこともできます。
フックが中断されると、ルートキットはそれらを再初期化し、悪意のある変更が元に戻らず、モジュールがアンロードされないようにします。
ユーザーランドのルートキットKitsune SOは、Pumaと相乗的に動作し、そのステルス性と制御メカニズムをユーザーとの対話にまで拡張します。
ユーザーレベルのシステムコールを傍受し、ls、ps、netstat、top、htop、catなどのルックの動作を変更して、ルートキットに関連するファイル、プロセス、ネットワーク接続を隠します。
また、攻撃者が定義した基準に基づいて他のファイルやディレクトリを動的に非表示にし、悪意のあるバイナリをユーザーやシステム管理者から完全に見えなくすることができます。
Kitsune SOはまた、コマンド・アンド・コントロール(C2)サーバとのすべての通信を処理し、LKMルートキットへのコマンドを中継し、オペレータに設定とシステム情報を送信します。
Elastic Security社は、ファイルハッシュの他に、Linuxシステム管理者がPumakit攻撃を検知するのに役立つYARAルールを公開している。
Comments