Windows Credentials Protections
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
WDigest プロトコルは、Windows XP で導入され、HTTP プロトコルを介した認証のために設計されており、Windows XP から Windows 8.0 および Windows Server 2003 から Windows Server 2012 までデフォルトで有効になっています。このデフォルト設定により、LSASS(ローカル セキュリティ認証サブシステム サービス)にプレーンテキストパスワードが保存されます。攻撃者は Mimikatz を使用して、次のコマンドを実行することでこれらの資格情報を抽出できます:
この機能をオフまたはオンに切り替えるには、UseLogonCredential および Negotiate レジストリキーを HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest 内で "1" に設定する必要があります。これらのキーが存在しないか "0" に設定されている場合、WDigestは無効になります。
Windows 8.1以降、MicrosoftはLSAのセキュリティを強化し、信頼されていないプロセスによる不正なメモリ読み取りやコード注入をブロックするようにしました。この強化により、mimikatz.exe sekurlsa:logonpasswords
のようなコマンドの通常の機能が妨げられます。この強化された保護を有効にするには、_RunAsPPLの値をHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA_で1に調整する必要があります:
この保護をバイパスすることは、Mimikatzドライバーmimidrv.sysを使用して可能です:
Credential Guardは、**Windows 10(EnterpriseおよびEducationエディション)**専用の機能で、**Virtual Secure Mode (VSM)およびVirtualization Based Security (VBS)**を使用してマシンの資格情報のセキュリティを強化します。これは、CPUの仮想化拡張を利用して、主要なプロセスを保護されたメモリ空間内に隔離し、メインオペレーティングシステムの手の届かない場所に置きます。この隔離により、カーネルでさえVSM内のメモリにアクセスできず、pass-the-hashのような攻撃から資格情報を効果的に保護します。Local Security Authority (LSA)は、この安全な環境内でトラストレットとして動作し、メインOSのLSASSプロセスはVSMのLSAとの通信者としてのみ機能します。
デフォルトでは、Credential Guardはアクティブではなく、組織内で手動での有効化が必要です。これは、資格情報を抽出する能力が制限されるため、Mimikatzのようなツールに対するセキュリティを強化するために重要です。ただし、カスタム**Security Support Providers (SSP)**を追加することで、ログイン試行中に平文で資格情報をキャプチャするために脆弱性が悪用される可能性があります。
Credential Guardの有効化状態を確認するには、_HKLM\System\CurrentControlSet\Control\LSAの下にあるレジストリキーLsaCfgFlags_を調べることができます。値が"1"はUEFIロックでの有効化、"2"はロックなし、"0"は無効を示します。このレジストリチェックは強力な指標ですが、Credential Guardを有効にするための唯一のステップではありません。この機能を有効にするための詳細なガイダンスとPowerShellスクリプトはオンラインで入手可能です。
包括的な理解と、Credential GuardをWindows 10で有効にし、**Windows 11 Enterprise and Education (version 22H2)**の互換性のあるシステムで自動的に有効にする手順については、Microsoftのドキュメントを参照してください。
資格情報キャプチャのためのカスタムSSPの実装に関する詳細は、このガイドに記載されています。
Windows 8.1とWindows Server 2012 R2は、_RDPのRestricted Adminモード_を含むいくつかの新しいセキュリティ機能を導入しました。このモードは、パス・ザ・ハッシュ攻撃に関連するリスクを軽減することで、セキュリティを強化することを目的としています。
従来、RDPを介してリモートコンピュータに接続する際、資格情報はターゲットマシンに保存されます。これは、特に特権のあるアカウントを使用する場合に、重大なセキュリティリスクをもたらします。しかし、_Restricted Adminモード_の導入により、このリスクは大幅に軽減されます。
mstsc.exe /RestrictedAdminコマンドを使用してRDP接続を開始すると、リモートコンピュータへの認証は、資格情報を保存することなく行われます。このアプローチにより、マルウェア感染や悪意のあるユーザーがリモートサーバーにアクセスした場合でも、資格情報がサーバーに保存されていないため、危険にさらされることはありません。
Restricted Adminモードでは、RDPセッションからネットワークリソースにアクセスしようとする試みは、個人の資格情報を使用せず、マシンのアイデンティティが使用されることに注意が必要です。
この機能は、リモートデスクトップ接続のセキュリティを強化し、セキュリティ侵害が発生した場合に機密情報が露出するのを防ぐための重要なステップです。
詳細情報については、このリソースを参照してください。
Windowsは、Local Security Authority (LSA)を通じてドメイン資格情報を保護し、KerberosやNTLMなどのセキュリティプロトコルを使用してログオンプロセスをサポートします。Windowsの重要な機能の一つは、最後の10回のドメインログインをキャッシュする能力であり、これによりドメインコントローラーがオフラインであってもユーザーがコンピュータにアクセスできるようになります。これは、会社のネットワークから離れていることが多いノートパソコンユーザーにとって大きな利点です。
キャッシュされたログインの数は、特定のレジストリキーまたはグループポリシーを介して調整可能です。この設定を表示または変更するには、次のコマンドを使用します:
アクセスはこれらのキャッシュされた資格情報に厳しく制御されており、SYSTEM アカウントのみがそれらを表示するための必要な権限を持っています。情報にアクセスする必要がある管理者は、SYSTEM ユーザー権限で行う必要があります。資格情報は次の場所に保存されています: HKEY_LOCAL_MACHINE\SECURITY\Cache
Mimikatz を使用して、コマンド lsadump::cache
でこれらのキャッシュされた資格情報を抽出できます。
詳細については、元の source が包括的な情報を提供しています。
保護されたユーザーグループへのメンバーシップは、ユーザーに対していくつかのセキュリティ強化を導入し、資格情報の盗難や悪用に対するより高い保護レベルを確保します:
資格情報の委任 (CredSSP): デフォルトの資格情報を委任することを許可するグループポリシー設定が有効であっても、保護されたユーザーの平文資格情報はキャッシュされません。
Windows Digest: Windows 8.1 および Windows Server 2012 R2 以降、システムは保護されたユーザーの平文資格情報をキャッシュしません。Windows Digest の状態に関係なく。
NTLM: システムは保護されたユーザーの平文資格情報や NT 一方向関数 (NTOWF) をキャッシュしません。
Kerberos: 保護されたユーザーに対して、Kerberos 認証は DES または RC4 キー を生成せず、平文資格情報や初期のチケット授与チケット (TGT) 取得を超える長期キーをキャッシュしません。
オフラインサインイン: 保護されたユーザーはサインインまたはロック解除時にキャッシュされた検証子が作成されないため、これらのアカウントではオフラインサインインはサポートされません。
これらの保護は、保護されたユーザーグループのメンバーであるユーザーがデバイスにサインインした瞬間に有効になります。これにより、資格情報の侵害に対するさまざまな方法から保護するための重要なセキュリティ対策が講じられます。
詳細な情報については、公式の documentation を参照してください。
Table from the docs.
Windows Server 2003 RTM
Windows Server 2003 SP1+
Windows Server 2012, Windows Server 2008 R2, Windows Server 2008
Windows Server 2016
アカウントオペレーター
アカウントオペレーター
アカウントオペレーター
アカウントオペレーター
管理者
管理者
管理者
管理者
管理者
管理者
管理者
管理者
バックアップオペレーター
バックアップオペレーター
バックアップオペレーター
バックアップオペレーター
証明書発行者
ドメイン管理者
ドメイン管理者
ドメイン管理者
ドメイン管理者
ドメインコントローラー
ドメインコントローラー
ドメインコントローラー
ドメインコントローラー
エンタープライズ管理者
エンタープライズ管理者
エンタープライズ管理者
エンタープライズ管理者
エンタープライズキー管理者
キー管理者
Krbtgt
Krbtgt
Krbtgt
Krbtgt
プリントオペレーター
プリントオペレーター
プリントオペレーター
プリントオペレーター
読み取り専用ドメインコントローラー
読み取り専用ドメインコントローラー
レプリケーター
レプリケーター
レプリケーター
レプリケーター
スキーマ管理者
スキーマ管理者
スキーマ管理者
スキーマ管理者
サーバーオペレーター
サーバーオペレーター
サーバーオペレーター
サーバーオペレーター
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)