0Pricing
Ethical Hacking Academy · レッスン

トークン偽装

権限を悪用します

「トークン偽装」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。

Windowsアクセス トークン

すべてのプロセスは、ユーザー、グループ、権限を記述するアクセス トークンを保持しています。Windowsは偽装をサポートしており、プロセスは別のユーザーのトークンで動作できます。これを悪用すると、サービスアカウントをSYSTEMに昇格できます。

偽装権限

権限昇格に非常に有効なトークン権限が2つあります。SeImpersonatePrivilegeとSeAssignPrimaryTokenPrivilegeです。サービスアカウント(IIS、MSSQLなど)は通常SeImpersonateを持っており、「Potato」系のエクスプロイトがこれを悪用します。

whoami /priv
# SeImpersonatePrivilege  Enabled

Potatoファミリー

Potato系のエクスプロイトは、SYSTEMプロセスをだまして悪意あるローカルリスナーに認証させ、そのトークンを盗んで偽装します。亜種にはJuicyPotato、RoguePotato、PrintSpoofer、GodPotatoがあり、それぞれ適したWindowsのバージョンが異なります。

PrintSpoofer

PrintSpooferはPrint Spoolerの名前付きパイプを悪用してSYSTEMの認証を強制し、そのトークンを偽装してSYSTEMとしてコマンドを実行します。JuicyPotatoにパッチが適用された最新のWindows 10/Server 2019で動作します。

PrintSpoofer.exe -i -c cmd
# spawns a SYSTEM shell when you hold SeImpersonate

JuicyPotato

JuicyPotatoはDCOM/BITSを悪用し、SYSTEMの認証をローカルリスナーに中継します。古いWindows(1809より前 / Server 2016)では安定して動作しますが、新しいビルドでは対策されたため、RoguePotatoやPrintSpooferが登場しました。

JuicyPotato.exe -l 1337 -p cmd.exe -t * -c {CLSID}

中継の仕組み

概念的には、サービスアカウントであるあなたが、特権を持つWindowsコンポーネントに悪意のあるエンドポイントへの認証を行わせます。その認証を取得し、SeImpersonateを利用して新しいプロセスにSYSTEMトークンを付与します — これで即座にSYSTEMシェルを取得できます。

RottenPotato/RoguePotato

RottenPotatoが元祖であり、RoguePotatoはOXIDリゾルバーのリダイレクトを使って1809以降のDCOM修正を回避できるように改良されたものです。適切なPotatoを選ぶには、systeminfoで正確なビルド番号を確認する必要があります。

その他の危険な特権

なりすまし以外にも、SeBackupPrivilege/SeRestorePrivilege(任意のファイルの読み書き — SAMのダンプ)、SeDebugPrivilege(SYSTEMプロセスへのインジェクション)、SeTakeOwnershipに注意してください。それぞれが独立した権限昇格の経路になります。

Meterpreterによるトークン窃取

侵害後のフレームワークを使うと、トークンの悪用が容易になります。Meterpreterのincognitoは利用可能なトークンを一覧表示し、なりすますことができます。メモリ上にSYSTEMまたは管理者のトークンが存在すれば、直接窃取できます。

meterpreter > load incognito
meterpreter > list_tokens -u
meterpreter > impersonate_token "NT AUTHORITY\\SYSTEM"

エクスプロイトとビルドの対応付け

Potato系の手法はバージョンに依存します。OSのビルドを確認してから、JuicyPotato(古いバージョン)、RoguePotato/PrintSpoofer(1809以降)、GodPotato(現行バージョンを幅広くサポート)を選択してください。適切なツールなら確実にSYSTEMを取得できますが、誤ったツールは単に失敗します。

防御と倫理

防御側は、SeImpersonateを付与するアカウントを制限し、速やかにパッチを適用し、不要な場合はPrint Spoolerを無効化し、不審なトークンの使用を監視します。これらの手法は、認可された業務の範囲内でのみ使用してください。

確認テスト

トークンなりすましに関する知識を確認しましょう。

まとめ

トークンのなりすましについて学びました。

  • アクセストークンはアイデンティティを定義し、なりすましは悪用される可能性があります
  • SeImpersonatePrivilegeによりPotato系エクスプロイトが可能になります
  • 現行のWindowsではPrintSpoofer/RoguePotato、古いWindowsではJuicyPotatoを使用します
  • その他の危険な特権には、SeBackup、SeDebug、SeTakeOwnershipがあります

次は、認証情報の収集です。

よくある質問

「トークン偽装」レッスンは無料ですか?

はい。「トークン偽装」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。

「トークン偽装」で何を学びますか?

権限を悪用します ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ethical Hacking Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「トークン偽装」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このEthical Hacking Academyレッスンでコードを書いて実行できますか?

はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Windowsの列挙
  2. サービスの設定ミス
  3. トークン偽装
  4. 認証情報の収集
← Ethical Hacking Academyに戻る