アクセストークン
Reading time: 9 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
アクセストークン
各ユーザーがシステムにログインすると、そのログオンセッションのセキュリティ情報を持つアクセストークンを保持します。ユーザーがログインすると、システムはアクセストークンを作成します。ユーザーのために実行されるすべてのプロセスはアクセストークンのコピーを持っています。トークンはユーザー、ユーザーのグループ、およびユーザーの権限を識別します。トークンには、現在のログオンセッションを識別するログオンSID(セキュリティ識別子)も含まれています。
この情報はwhoami /all
を実行することで確認できます。
whoami /all
USER INFORMATION
----------------
User Name SID
===================== ============================================
desktop-rgfrdxl\cpolo S-1-5-21-3359511372-53430657-2078432294-1001
GROUP INFORMATION
-----------------
Group Name Type SID Attributes
============================================================= ================ ============================================================================================================= ==================================================
Mandatory Label\Medium Mandatory Level Label S-1-16-8192
Everyone Well-known group S-1-1-0 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Local account and member of Administrators group Well-known group S-1-5-114 Group used for deny only
BUILTIN\Administrators Alias S-1-5-32-544 Group used for deny only
BUILTIN\Users Alias S-1-5-32-545 Mandatory group, Enabled by default, Enabled group
BUILTIN\Performance Log Users Alias S-1-5-32-559 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\INTERACTIVE Well-known group S-1-5-4 Mandatory group, Enabled by default, Enabled group
CONSOLE LOGON Well-known group S-1-2-1 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Authenticated Users Well-known group S-1-5-11 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\This Organization Well-known group S-1-5-15 Mandatory group, Enabled by default, Enabled group
MicrosoftAccount\cpolop@outlook.com User S-1-11-96-3623454863-58364-18864-2661722203-1597581903-3158937479-2778085403-3651782251-2842230462-2314292098 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Local account Well-known group S-1-5-113 Mandatory group, Enabled by default, Enabled group
LOCAL Well-known group S-1-2-0 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Cloud Account Authentication Well-known group S-1-5-64-36 Mandatory group, Enabled by default, Enabled group
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ==================================== ========
SeShutdownPrivilege Shut down the system Disabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeUndockPrivilege Remove computer from docking station Disabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
SeTimeZonePrivilege Change the time zone Disabled
or using Process Explorer from Sysinternals (select process and access"Security" tab):
ローカル管理者
ローカル管理者がログインすると、2つのアクセス トークンが作成されます: 1つは管理者権限付き、もう1つは通常の権限付きです。デフォルトでは、このユーザーがプロセスを実行するときは、通常の(非管理者)権限のトークンが使用されます。このユーザーが管理者として何かを実行しようとすると(例えば「管理者として実行」)、UACが使用されて許可を求めます。
UACについてさらに学びたい場合は、このページをお読みくださいこちら。
資格情報のユーザーなりすまし
他のユーザーの有効な資格情報がある場合、その資格情報を使用して新しいログオン セッションを作成できます:
runas /user:domain\username cmd.exe
アクセス トークンには、LSASS内のログオン セッションの参照も含まれています。これは、プロセスがネットワークのオブジェクトにアクセスする必要がある場合に便利です。
ネットワーク サービスにアクセスするために異なる資格情報を使用するプロセスを起動するには、次のようにします:
runas /user:domain\username /netonly cmd.exe
これは、ネットワーク内のオブジェクトにアクセスするための有用な資格情報を持っているが、その資格情報が現在のホスト内では無効である場合に役立ちます(現在のホストでは、現在のユーザー権限が使用されます)。
トークンの種類
利用可能なトークンには2種類あります:
- プライマリートークン:プロセスのセキュリティ資格情報の表現として機能します。プライマリートークンの作成とプロセスへの関連付けは、特権の分離の原則を強調するために、昇格された権限を必要とするアクションです。通常、トークンの作成は認証サービスが担当し、ログオンサービスがユーザーのオペレーティングシステムシェルとの関連付けを処理します。プロセスは作成時に親プロセスのプライマリートークンを継承することに注意が必要です。
- インパーソネーショントークン:サーバーアプリケーションがクライアントのアイデンティティを一時的に採用して安全なオブジェクトにアクセスできるようにします。このメカニズムは、4つの操作レベルに階層化されています:
- 匿名:識別されていないユーザーと同様のサーバーアクセスを付与します。
- 識別:サーバーがオブジェクトアクセスに利用せずにクライアントのアイデンティティを確認できるようにします。
- インパーソネーション:サーバーがクライアントのアイデンティティの下で操作できるようにします。
- 委任:インパーソネーションに似ていますが、サーバーが相互作用するリモートシステムにこのアイデンティティの仮定を拡張する能力を含み、資格情報の保持を確保します。
インパーソネートトークン
metasploitの_incognito_モジュールを使用すると、十分な権限があれば、他のトークンを簡単にリストおよびインパーソネートできます。これは、他のユーザーのように行動するために役立つ可能性があります。この技術を使用して権限を昇格することもできます。
トークン権限
権限を昇格させるために悪用できるトークン権限を学びましょう:
すべての可能なトークン権限とこの外部ページのいくつかの定義を確認してください。
参考文献
トークンについての詳細は、次のチュートリアルを参照してください:https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa および https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。