AhnLab EDR を活用した Linux PAM マルウェア攻撃の検知

PAM(Pluggable Authentication Modules)は、su、sudo、sshd のようなアプリケーションが、認証のようなセキュリティポリシーロジックを直接実装せずにでも実行できるようにしてくれるモジュール型フレームワークである。アプリケーションは libpam ライブラリに認証を委任し、このライブラリで設定情報に従って PAM モジュールをロードし、実行した後、結果を集約する方式である。

例えば、OpenSSH サーバープロセスである sshd にログインする際、libpam ライブラリの pam_authenticate()のような関数を呼び出す。そして、ロードされている登録された PAM モジュールのサービスモジュール関数を実行するが、代表的なものに pam_sm_authenticate() 関数がある。pam_sm_authenticate() 関数は、認証を担うが、認証を担う PAM モジュールには、この関数に認証に関する内容が含まれる。しかし、もし登録された PAM モジュールがマルウェアであるなら、製作者は pam_sm_authenticate() 関数に不正なルーチンを実装するであろう。

 

1. PAM マルウェア

一般的に PAM モジュールで実装されたマルウェアは、pam_sm_authenticate() 関数が呼び出されると、資格情報を取得し、窃取する。このようなタイプのマルウェアは、2025年5月に Nextron 社が公開したレポートでも公開されたことがある。[1] この事例は、マルウェア自体に関する解析レポートであるため、初期侵入過程など、攻撃者がどのようにインストールしたのかは分からないが、マルウェア製作者は、ユーザーがログインする際、資格情報を取得し、窃取するための目的で PAM マルウェアを製作した。各マルウェアの pam_sm_authenticate() 関数には、取得した資格情報を C&C サーバーに送信や、特定のパスに書き込むルーチンが存在する。

図 1. 資格情報を /tmp/sshlog ファイルに書き込む pam_sm_authenticate() 関数

図 2. 資格情報を C&C サーバーに送信するタイプ

AhnLab EDR は PAM モジュールを登録するイベントを主要な振る舞いとして検知し、管理者がこれを事前に認知できるようにサポートする。

図 3. PAM モジュール登録の振る舞いに対する EDR 検知

 

2. PAM フックマルウェア(Plague)

PAM モジュール形式でマルウェアを製作し、登録しなくても pam_authenticate() 関数がフックされる場合、資格情報が窃取される可能性がある。2025年8月には Plague という名前のマルウェアに関するレポートが公開された。[2] Plague は、PRELOAD 方式を利用するマルウェアであり、実行されるプロセスのメモリに自身をロードさせるが、これにより sshd のようなプロセスにもロードされる可能性がある。

PRELOAD 方式の利点は、もしアプリケーションが特定の関数を呼び出す際、PRELOAD されたライブラリが同じ名前の関数に対応する場合、PRELOAD されたライブラリのその関数が先に呼び出されるという点である。例えば sshd が pam_authenticate() 関数を呼び出す際、PRELOAD 方式でロードされた Plague の pam_authenticate() 関数が libpam ライブラリの pam_authenticate() 関数より先に呼び出される。

Plague が感染システムにインストールされると、このような方式を悪用する pam_authenticate() 関数に不正なルーチンが含まれている。まず、ユーザーがログインすると、以下のように「/var/log/.-utmpx」のような特定のパスに資格情報を保存する。

図 4. 資格情報が記録されるファイル

また、ハードコーディングされたパスワードもサポートしており、以下のサンプルはログイン過程でユーザーが「changeme」というパスワードを入力したのかをチェックし、マッチする場合、ログインを成功させる。これにより、攻撃者は既存のアカウントのパスワードに関係なく、パスワード「changeme」によってログインできるようになる。

図 5. pam_authenticate() 関数フックルーチン

参考に、Plague は攻撃者がパスワード「changeme」によってログインする場合、シェル履歴が残らないようにする。そして、特定の名前のファイルを隠蔽するが、その対象には資格情報が含まれるファイル「.-utmpx」のように「.-」で始まるファイル、悪用対象ファイルである「ld.so.preload」、およびマルウェア名であると推定される「libselinux.so.8」がある。

図 6. 隠蔽対象ファイル名の一覧

単純に Plague という名前のマルウェアだけが知られているため、初期侵入方式や攻撃者がどのように使用したのかは分からないが、Plague の特性上 PRELOAD 方式でインストールされたものと考えられる。すなわち、攻撃者またはインストールを担当するマルウェアが「LD_PRELOAD」環境変数を設定や、「/etc/ld.so.preload」パスのファイルに Plague のパス名を書く方式でインストールすることができる。

AhnLab EDR は PRELOAD 方式、すなわち「/etc/ld.so.preload」パスのファイルを修正する振る舞いを脅威として検知し、管理者がこれを事前に認知できるようにサポートする。また、PRELOAD 方式によってライブラリがロードされる場合、主要な振る舞いとして検知し、PAM モジュールを登録するイベントを主要な振る舞いとして検知することで、管理者が原因の把握と適切な対応を行えるようにする。

図7. /etc/ld.so.preload 設定振る舞いに対する EDR 検知

図 8. ライブラリが PRELOAD 方式でロードされる振る舞いに対する EDR 検知

 

3. 結論

近年、PAM を通じた認証プロセスを攻撃し、資格情報を窃取したり、バックドアパスワードを設定する事例が公開された。マルウェア製作者は、不正な PAM モジュールの形式でインストールできるように製作したり、PRELOAD という手法を利用して PAM 認証に使用される関数をフッキングできるようにマルウェアを製作している。2つの方式はどちらも Linux サーバーのユーザーアカウントに対する資格情報を窃取するのに悪用される可能性があり、このほかにも攻撃者が指定した特定のパスワードを入力する場合、すべてのアカウントでログインに成功できるように設定して持続性を維持することもできる。

AhnLab EDR は、攻撃者が疑わしい PAM マルウェアを登録したり、PAM 認証を攻撃するマルウェアをインストールする PRELOAD 方式に対して、脅威および主要な振る舞いとして検知する。管理者はこれにより、原因の把握と適切な対応を行うことができ、攻撃に晒された後も攻撃対象となったシステムから攻撃者の証跡資料として侵害事故の調査に必要なデータを確認することができる。

AhnLab EDR 検知名

  • Plague マルウェア
    • Persistence/EDR.Preload.M10892 (2023.03.03.03)
    • Suspicious/DETECT.T1574.006.M10894 (2023.03.03.03)
  • PAM マルウェア
    • Persistence/DETECT.PAM.M12915 (2025.08.07.03)

 

V3 診断名

  • Plague マルウェア
    • Backdoor/Linux.Plague (2025.08.04.00)
    • Backdoor/Linux.Plague.XE268 (2025.08.11.02)
  • PAM マルウェア
    • Backdoor/Linux.PAM.13016 (2025.08.04.03)

    • Backdoor/Linux.PAM.15560 (2025.08.04.03)

    • Backdoor/Linux.PAM.7880 (2025.08.04.03)

    • Backdoor/Linux.PAM.12888 (2025.08.04.03)

    • Backdoor/Linux.PAM.15568 (2025.08.04.03)

    • Backdoor/Linux.PAM.SE335 (2025.08.11.02)

    • Backdoor/Linux.PAM.SE336 (2025.08.11.02)

    • Backdoor/Linux.PAM.SE337 (2025.08.11.02)

    • Backdoor/Linux.PAM.SE338 (2025.08.11.02)

MD5

1f08a739a5b271457925e9db1791ef56
2a8de6041c159c91802df65f8ec85d71
3cc658ca8747b136120a669183a5d549
646221b5b7a5304367603b99d1004e03
648dc7e6aa9c2438d50bc364cb1c3ba8
URL

http[:]//110[.]42[.]97[.]120[:]9696/api[.]php
http[:]//ssh[.]poolntp[.]com/api[.]php

関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム 「AhnLab TIP」 サブスクリプションサービスを通して確認できる。

Categories: マルウェア

Tagged as: ,