0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Day 9】権限昇格の解剖:一般ユーザーが「神」になるまでの全手口

Last updated at Posted at 2026-01-26

🛡️はじめに

第9回は、侵入した攻撃者が「一般ユーザー」から「全権掌握(ドメイン管理者)」へと上り詰めるための核心的ステップ、権限昇格(Privilege Escalation) を解説します。

攻撃者がどのような技術的トリックを使って、セキュリティの「階段」を駆け上がるのか、その具体的なエクスプロイト手法を解剖します。


🎯 なぜ権限昇格が必要なのか

初期侵入に成功した際、攻撃者が手にしているのは、多くの場合「権限の限られた一般ユーザー」の権限です。しかし、ランサムウェアを全端末に展開し、バックアップを破壊するにはドメイン管理者(Domain Admin)、あるいは各端末のSYSTEM権限が必要です。

攻撃者がこの「権限の壁」を突破するために用いる、主要なテクニックを見ていきましょう。


🪜 1. ローカル権限昇格(LPE):端末内の王になる

まずは、侵入したその端末自体で管理者権限を奪取します。

① OSやドライバの脆弱性悪用

Windowsカーネルや、プリンタードライバ、グラフィックドライバなどの脆弱性を突き、一般ユーザー権限で実行したコードを「SYSTEM権限」に昇格させます。

代表的な脆弱性の例:

  • PrintNightmare (CVE-2021-34527): Windowsの印刷スプーラーサービスの脆弱性
  • Win32kカーネルドライバの脆弱性群
  • 古いバージョンのサードパーティ製ドライバ

② 設定ミス(Misconfiguration)の探索

システム上の不備を突く「技術を必要としない」昇格手法です。実はこちらの方が現実の攻撃では頻繁に使われます。

Unquoted Service Path(引用符なしサービスパス)

サービスの実行パスにスペースが含まれ、かつ引用符(")で囲まれていない場合、Windowsはパスを解釈する際に複数の場所を探索します。

例: C:\Program Files\My Service\service.exe(引用符なし)

Windowsが探索する順序:
1. C:\Program.exe
2. C:\Program Files\My.exe
3. C:\Program Files\My Service\service.exe

攻撃者は、書き込み権限のあるC:\Program Files\My.exeを配置すれば、サービス起動時(SYSTEM権限)でそれが実行されます。

クリアテキストのパスワード

共有フォルダや設定ファイルの中に、管理者のパスワードが平文で残されているケースを徹底的にスキャンします。

よく見つかる場所:

  • unattend.xml(Windowsの自動インストール設定)
  • グループポリシーのcpassword属性(既に廃止されたが、古い環境に残存)
  • スクリプトファイル(.bat, .ps1)内のハードコーディング
  • 共有フォルダ内のドキュメント

その他の設定ミス

  • 過剰な権限を持つスケジュールタスク
  • 書き込み可能なサービスバイナリのパス
  • DLLハイジャック可能な脆弱な実行ファイル

🏰 2. ドメイン権限昇格:ADの「仕様」を突く攻撃

ローカル管理者権限を手に入れた後は、Active Directory(AD)全体の支配を目指します。ここではADの認証プロトコルの「仕様」が牙を剥きます。

③ Kerberoasting(ケルバロースティング)

これは脆弱性ではなく、Kerberos認証の正規の仕組みを悪用した攻撃です。

攻撃の流れ:

  1. 一般ユーザー権限で、特定のサービスアカウント(SQL Server、IISなど)の「サービスチケット(TGS)」をドメインコントローラに要求
  2. 取得したチケットには、そのサービスアカウントのパスワードで暗号化されたデータ(PAC)が含まれている
  3. このチケットをオフラインに持ち出し、総当たり攻撃(ブルートフォース)やパスワード辞書攻撃でパスワードを解析
  4. パスワード解読に成功すれば、そのサービスアカウントとして認証可能に

なぜ脅威なのか:

  • ADに対する異常なパケットや認証失敗を発生させないため、検知が極めて困難
  • 一般ユーザーでも実行可能(特別な権限は不要)
  • サービスアカウントは人間が管理するため、弱いパスワードが設定されがち

対策:

  • サービスアカウントには25文字以上の複雑なパスワードを設定
  • gMSA(Group Managed Service Account)の利用
  • Kerberos暗号化アルゴリズムをAES256に限定

④ AS-REP Roasting

「Kerberos事前認証を必要としない」設定がされているユーザーアカウントを狙います。

攻撃の流れ:

  1. 事前認証が無効なユーザーアカウントを列挙
  2. そのユーザーの暗号化されたAS-REP応答をドメインコントローラから取得
  3. オフラインでパスワードをクラック

なぜこの設定が存在するのか:

一部の古いアプリケーションや特殊な環境では、互換性のために事前認証を無効にする必要があります。しかし、現代ではほとんど不要な設定です。

対策:

  • 全ユーザーでKerberos事前認証を有効化(デフォルト設定を維持)
  • どうしても無効化が必要な場合は、強力なパスワードポリシーを適用

⑤ 認証情報の窃取(Credential Dumping)

管理者権限を持った端末で、メモリ(LSASSプロセス)から認証情報を抽出します。

Mimikatz: 最も有名な認証情報窃取ツール

Windows のLocal Security Authority Subsystem Service(LSASS)プロセスのメモリには、ログイン中のユーザーの認証情報が保存されています。Mimikatzはこれを可視化します。

抽出できる情報:

  • 平文パスワード(古いWindowsバージョンやWDigest有効時)
  • NTLMハッシュ(Pass-the-Hash攻撃に利用可能)
  • Kerberosチケット(Pass-the-Ticket攻撃に利用可能)
  • 証明書の秘密鍵

対策:

  • Credential Guard の有効化(Windows 10 Enterprise/Windows Server 2016以降)
  • LSASSプロセスの保護モード有効化
  • WDigestの無効化(Windows Server 2012 R2以降はデフォルトで無効)
  • EDRによるLSASSプロセスへの不審なアクセス検知

⚠️ 3. 2024-2026年の注目手口:ADCS(証明書サービス)の悪用

近年、非常に多くの環境で悪用されているのが Active Directory Certificate Services (ADCS) の設定不備です。

ADCSとは:

企業内でデジタル証明書を発行・管理するためのWindows Serverの役割サービスです。証明書は認証、暗号化、署名などに使用されます。

攻撃の仕組み(ESC1〜ESC8など、複数のパターンが存在):

代表的な「ESC1」パターン:

  1. 一般ユーザーが要求可能で、かつ「Subject Alternative Name(SAN)」を任意に指定できる証明書テンプレートを発見
  2. 攻撃者は「ドメイン管理者」として証明書を要求
  3. 発行された証明書を使って、ドメイン管理者として認証
  4. 一気にドメイン全体を掌握

なぜ危険なのか:

  • 証明書による認証は長期間有効(デフォルトで1年以上)
  • パスワード変更後も有効なまま
  • 通常のログ監視では見逃されやすい

対策:

  • 証明書テンプレートの設定を厳格に監査(Certifyなどのツールで診断)
  • 「Manager approval」を必須にする
  • SANの指定を制限
  • 証明書発行ログの監視強化

🛡️ 4. エンジニアが実施すべき「昇格阻止」のガードレール

権限昇格を防ぐには、「一箇所突破されても次で止める」多層防御が不可欠です。

対策カテゴリー 具体的な対策内容
パッチ適用 OSのカーネル脆弱性(LPE)を塞ぐため、月例パッチを徹底する。特にサーバーとドメインコントローラを優先。
最小権限の原則 サービスアカウントに必要以上の権限を与えない。ADの管理者アカウントを日常業務(メール確認等)に使用しない(Day 8のTierモデル参照)。
設定の堅牢化 Unquoted Service Pathの一括修正。ADCSのテンプレート設定の監査。事前認証無効アカウントの排除。
検知の強化 LSASSプロセスへの不審なアクセス(Mimikatzの挙動)をEDRでブロック。Kerberoastingの兆候(大量のTGS要求)を監視。
パスワードポリシー サービスアカウントには25文字以上の複雑なパスワード。可能であればgMSAやマネージドIDを利用。
監査ログ 特権昇格の試行(イベントID 4672)、新規サービスの登録(イベントID 7045)を監視。

🔍 権限昇格を検知するためのログとイベントID

イベントID 内容 重要度
4672 特権ログオン(管理者権限での操作)
4673 特権サービスの呼び出し
4674 特権オブジェクトへの操作試行
4688 新しいプロセスの作成(コマンドライン引数の記録を有効化)
7045 新しいサービスのインストール
4738 ユーザーアカウントの変更

📝 まとめ:攻撃者は「低い場所」から「高い場所」を見る

攻撃者は、私たちが「これくらい大丈夫だろう」と放置した設定ミスや、古いプロトコルの仕様を巧みに組み合わせて階段を作ります。

重要ポイント:

  • 権限昇格は「技術的な脆弱性」と「設定ミス」の両輪で行われる
  • Kerberoastingなど、「正規の挙動」を悪用する攻撃への対策が特に重要
  • 管理者の認証情報は、絶対に一般端末のメモリに残さない(Day 8のTierモデルが重要)
  • ADCS環境がある場合は、証明書テンプレートの設定を必ず監査する
  • 多層防御: 一つの対策が破られても、次の防御層で阻止できる体制を

次回予告:

【Day 10】データの持ち出し(Exfiltration):検知を回避して情報を外部送信する手法

いよいよ「二重脅迫」の準備段階です。数TBものデータを、セキュリティ製品の目を盗んでどうやって外へ運び出すのか、その裏側を解説します。


チェックリスト: あなたの環境は大丈夫?

  • 月例パッチは全サーバー・全端末に適用されているか
  • Unquoted Service Pathは存在しないか(PowerShellスクリプトで一括チェック可能)
  • サービスアカウントのパスワードは25文字以上か
  • ドメイン管理者を日常業務の端末で使用していないか
  • ADCSの証明書テンプレートを監査したか(Certifyツールの利用を推奨)
  • Kerberos事前認証が無効なアカウントは存在しないか
  • LSASSプロセス保護またはCredential Guardは有効化されているか
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?