Trusted Design

T1169 - Sudo

概要

The sudoers file, /etc/sudoers, describes which users can run which commands and from which terminals. This also describes which commands users can run as other users or groups. This provides the idea of least privilege such that users are running in their lowest possible permissions for most of the time and only elevate to other users or permissions as needed, typically by prompting for a password. However, the sudoers file can also specify when to not prompt users for passwords with a line like user1 ALL=(ALL) NOPASSWD: ALL (Citation: OSX.Dok Malware).

Adversaries can take advantage of these configurations to execute commands as other users or spawn processes with higher privileges. You must have elevated privileges to edit this file though.

管理者によるコメント

T1169は「Sudo」として定義されていた、LinuxおよびmacOS環境における極めて重要かつ頻出する「特権昇格(Privilege Escalation)」および「防御回避(Defense Evasion)」のテクニックです。

Linuxにおける最も一般的な特権実行コマンドである sudo(superuser do)の、設定ファイル(/etc/sudoers)の不備や、一度パスワードを入れた後に数分間パスワード不要になる「キャッシュ機能」を悪用して、攻撃者がパスワードなしでroot(最高権限)を強奪する手口です。

1. 概要(攻撃者は何を実現できるのか?)

この手法で攻撃者は、「現在の一般ユーザー権限から、管理者のパスワードを盗み出すことなく、一瞬でOSの最高権限(root)に駆け上がること」を実現します。

2. 攻撃の流れ(悪用の2大パターン)

パターンA:設定ファイル(/etc/sudoers)の悪用・改ざん

  1. 初期侵入と一時的なroot奪取:
    他のエクスプロイト等を用いて、Linuxサーバー内で一度 root 権限を確保します。

  2. バックドアの仕込み(永続化/トリガー):
    将来、一般ユーザー権限まで落とされたり、別の一般アカウント(www-data などのWebサーバー権限)に切り替わったりした際でも、いつでも簡単にrootに戻れるよう、visudo コマンドやテキスト編集で /etc/sudoers ファイルに「パスワード不要ルール」を1行追記します。

    • 改ざんの例:
      attacker_user ALL=(ALL) NOPASSWD: ALL (※「attacker_user というアカウントは、すべてのコマンドをパスワードなし(NOPASSWD)でrootとして実行できる」という最凶の裏口設定です)
  3. 特権の再取得(目的達成):
    攻撃者が一般ユーザー attacker_user として再ログインした際、sudo su と叩くだけで、パスワードを一切聞かれることなく一瞬でroot権限のシェルが立ち上がります。

パターンB:Sudoキャッシング(トークン)の盗用

  1. 本物のシステム管理者が端末(SSHなど)にログインし、日常業務のために sudo systemctl restart nginx などのコマンドを実行し、自身のパスワードを入力します。

  2. Linuxの仕様により、一度認証が成功すると、デフォルトで 15分間 は再度パスワードを求められないキャッシュ(認証トークン)が /var/run/sudo/ts/ 配下に生成されます。

  3. 攻撃者はその15分間の間に、同じユーザーの別セッションからシステムに侵入(あるいはマルウェアを実行)します。

  4. 攻撃者が sudo -s を実行すると、OSは「さっきパスワードを入れたばかりだからパス」と判断し、攻撃者に対してパスワードを要求することなく、そのままroot権限の画面を差し出してしまいます。

3. 防御・対策

「過剰な許可設定の禁止」と「キャッシュの生存時間の見直し」が必須です。

4. 重要ポイント

5. 関連する主なCWE

6. 関連する代表的な事例・CVE

T1169(Sudoの悪用)は、主に「設定ミス」や「OSの正規の仕様」を逆手に取るポストエクスプロイトの振る舞いですが、ハッカーが sudo コマンドそのもののバグを突いて、パスワードなしで強制的にrootになるという凶悪なエクスプロイト(CVE)と組み合わせて実行されることが非常に多いです。

実務上のアドバイス

Linuxサーバーのフォレンジック調査の際、/var/log/auth.log を確認して、「Webアプリケーションのアカウント(www-dataapache など、通常は人間がログインして対話操作しないはずのアカウント)が、突然 sudo コマンドを成功させて root 権限の処理を行っている」というログを見つけた場合、ほぼ100%の確率でWebサイトの脆弱性(SQLインジェクションやRCE)から侵入され、今回の sudoers 改ざんかキャッシュ盗用(T1169)が実行されたことを意味します。

即座に /etc/sudoers のタイムスタンプと中身を検証することが、被害の全容を解明する第一歩となります。

分析

この攻撃手法を利用する脅威アクター

関連する CVE

この攻撃手法に関連する CVE は登録されていません。

攻撃手法 – 脅威アクター Graph


← Technique一覧に戻る ← Tactics一覧に戻る