Linuxにおける永続化メカニズムの分析
概要
攻撃者は、crontabジョブ、systemdサービス/タイマーユニット、LD_PRELOADライブラリインジェクション、シェルプロファイルの改変 (.bashrc, .profile)、SSH authorized_keysバックドア、initスクリプト操作などを通じてLinuxシステムに永続化を確立します。このスキルは、既知のすべての永続化ベクターをスキャンし、ファイルのタイムスタンプと整合性を確認し、結果をauditdログと相関させて永続化インストールのタイムラインを構築します。
使用するタイミング
- セキュリティインシデントを調査する際に、Linuxにおける永続化メカニズムの分析が必要な場合
- このドメイン向けの検知ルールや脅威ハンティングクエリを構築する場合
- SOCアナリストがこの分析タイプに対して構造化された手順を必要とする場合
- 関連する攻撃テクニックに対するセキュリティ監視範囲を検証する場合
前提条件
- 対象のLinuxシステムに対するrootまたはsudoアクセス (またはフォレンジックイメージ)
- 永続化パスにファイル監視ルールが設定されたauditd
- 標準ライブラリ (os, subprocess, json) を備えたPython 3.8+
- オプション: ファイル整合性監視アラート用のOSSEC/Wazuhエージェント
手順
- Crontabエントリのスキャン — すべてのユーザーcrontab、/etc/cron.d/、/etc/cron.daily/、anacronジョブを列挙し、不審なコマンドを確認します。
- Systemdユニットの監査 — /etc/systemd/system/ と ~/.config/systemd/user/ 内のパッケージ管理外のサービスおよびタイマーユニットをチェックします。
- LD_PRELOADハイジャックの検出 — /etc/ld.so.preload と LD_PRELOAD環境変数にインジェクトされた共有ライブラリがないか確認します。
- シェルプロファイルの検査 — .bashrc、.bash_profile、.profile、/etc/profile.d/ をスキャンし、インジェクトされたコマンドやリバースシェルを確認します。
- SSH Authorized Keysのチェック — すべてのauthorized_keysファイルを監査し、コマンド制限付きの不正な公開鍵がないか確認します。
- auditdログの相関 — auditdログを検索し、永続化パスに対するファイル変更イベントを確認してインストールタイムラインを構築します。
- 永続化レポートの生成 — 検出されたすべての永続化メカニズムに関するリスクスコア付きレポートを作成します。
期待される出力
- 検出されたすべての永続化メカニズムとリスクスコアを含むJSONレポート
- auditd相関による永続化インストールのタイムライン
- MITRE ATT&CKテクニックマッピング (T1053、T1543、T1574、T1546)
- 検出された各永続化メカニズムに対する修復コマンド