hacktricks/windows-hardening/stealing-credentials/credentials-protections.md

17 KiB
Raw Blame History

Windows クレデンシャル保護

クレデンシャル保護

htARTE (HackTricks AWS Red Team Expert) で AWS ハッキングをゼロからヒーローまで学ぶ

HackTricks をサポートする他の方法:

WDigest

WDigest プロトコルは Windows XP で導入され、HTTP プロトコルでの認証に使用されるように設計されました。Microsoft はこのプロトコルをデフォルトで複数の Windows バージョンで有効にしていますWindows XP — Windows 8.0 および Windows Server 2003 — Windows Server 2012、これは 平文のパスワードが LSASSLocal Security Authority Subsystem Serviceに保存されていることを意味します。Mimikatz は LSASS とやり取りすることができ、攻撃者が以下のコマンドを通じてこれらのクレデンシャルを取得することを可能にします:

sekurlsa::wdigest

この動作は HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest 内の UseLogonCredentialNegotiate の値を 1に設定することで 無効化/有効化 できます。
これらのレジストリキーが 存在しない、または値が "0" の場合、WDigestは 無効化 されます。

reg query HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential

LSA 保護

Microsoftは、Windows 8.1 以降で、信頼できないプロセスがLSAのメモリを読み取ることやコードを注入することを防ぐために、LSAに追加の保護を提供しています。これにより、通常の mimikatz.exe sekurlsa:logonpasswords が適切に機能することを防ぎます。
この保護を有効にするには、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSARunAsPPL の値を1に設定する必要があります。

reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA /v RunAsPPL

バイパス

この保護をバイパスする方法として、Mimikatzのドライバーmimidrv.sysがあります

Credential Guard

Credential GuardはWindows 10EnterpriseおよびEducationエディションの新機能で、パスハッシュなどの脅威からマシン上の資格情報を保護するのに役立ちます。これはVirtual Secure ModeVSMと呼ばれる技術を通じて機能し、CPUの仮想化拡張を利用します実際の仮想マシンではありませんが、メモリの保護領域保護を提供しますVirtualization Based SecurityまたはVBSとして言及されることがあります。VSMは、通常のオペレーティングシステムのプロセス、カーネルでさえも、分離された重要なプロセスのための別の「バブル」を作成し、特定の信頼されたプロセスのみがVSM内のプロセスtrustletsとして知られていますと通信できます。これは、メインOSのプロセスがVSMのメモリを読み取ることができないことを意味します。Local Security AuthorityLSAはVSM内のtrustletsの一つであり、既存のプロセスとの互換性を保つためにメインOSで引き続き実行される標準のLSASSプロセスもありますが、実際にはVSM内のバージョンと通信するためのプロキシまたはスタブとして機能し、実際の資格情報はVSMのバージョンで実行され、攻撃から保護されます。Windows 10の場合、Credential Guardはデフォルトでは有効になっていませんので、組織でオンにして展開する必要があります。 https://www.itprotoday.com/windows-10/what-credential-guardからの情報。Credential Guardを有効にするPS1スクリプトについての詳細はこちらで見つけることができます。ただし、Windows 11 Enterprise、バージョン22H2およびWindows 11 Education、バージョン22H2では、互換性のあるシステムにはWindows Defender Credential Guardがデフォルトでオンになっています

この場合、MimikatzはLSASSからハッシュを抽出するためのバイパスはほとんどできません。しかし、カスタムSSPを追加して、ユーザーがログインしようとするときにクリアテキスト資格情報をキャプチャすることはできます。
SSPとこれを行う方法についての詳細はこちら

Credentials Guardは異なる方法で有効にすることができます。レジストリを使用して有効にされたかどうかを確認するには、_HKLM\System\CurrentControlSet\Control\LSAのキーLsaCfgFlags_の値を確認できます。値が**"1"ならUEFIロック付きでアクティブ、"2"ならロックなしでアクティブ、"0"なら有効ではありません。
これだけではCredentials Guardを有効にするには
十分ではありません**(しかし、強い指標です)。
Credential Guardを有効にするPS1スクリプトについての詳細はこちらで見つけることができます

reg query HKLM\System\CurrentControlSet\Control\LSA /v LsaCfgFlags

RDP RestrictedAdmin モード

Windows 8.1とWindows Server 2012 R2では、新しいセキュリティ機能が導入されました。そのセキュリティ機能の一つが_RDPのRestricted Adminモード_です。この新しいセキュリティ機能は、pass the hash攻撃のリスクを軽減するために導入されました。

RDPを使用してリモートコンピュータに接続すると、接続先のリモートコンピュータにあなたの資格情報が保存されます。通常、リモートサーバーに接続するために強力なアカウントを使用しており、これらのコンピュータすべてに資格情報が保存されることは、確かにセキュリティ上の脅威です。

_RDPのRestricted Adminモード_を使用すると、コマンド mstsc.exe /RestrictedAdmin を使用してリモートコンピュータに接続する際、リモートコンピュータに認証されますが、あなたの資格情報はそのリモートコンピュータに保存されません。つまり、そのリモートサーバー上でマルウェアや悪意のあるユーザーが活動していても、リモートデスクトップサーバー上であなたの資格情報が利用可能になることはありません。

資格情報がRDPセッションに保存されないため、ネットワークリソースにアクセスしようとすると、資格情報は使用されません。代わりにマシンのIDが使用されます

こちらから。

キャッシュされた資格情報

ドメイン資格情報は、オペレーティングシステムのコンポーネントによって使用され、Local Security Authority (LSA)によって認証されます。通常、ドメイン資格情報は、ユーザーのログオンデータを認証する登録されたセキュリティパッケージによってユーザーに対して確立されます。この登録されたセキュリティパッケージは、KerberosプロトコルまたはNTLMである可能性があります。

Windowsは、ドメインコントローラがオフラインになった場合のために、最後の10回のドメインログイン資格情報を保存します。ドメインコントローラがオフラインになった場合でも、ユーザーは自分のコンピュータにログインすることができます。この機能は主に、定期的に会社のドメインにログインしないノートパソコンユーザー向けです。コンピュータが保存する資格情報の数は、以下のレジストリキー、またはグループポリシー経由で制御できます:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON" /v CACHEDLOGONSCOUNT

認証情報は通常のユーザーから隠されており、管理者アカウントでさえもです。SYSTEM ユーザーのみがこれらの認証情報閲覧する権限を持っています。管理者がレジストリ内のこれらの認証情報を閲覧するためには、SYSTEM ユーザーとしてレジストリにアクセスする必要があります。 キャッシュされた認証情報は、以下のレジストリの場所に保存されています:

HKEY_LOCAL_MACHINE\SECURITY\Cache

Mimikatzからの抽出: lsadump::cache
こちらから。

保護されたユーザー

サインインしているユーザーが保護されたユーザーのグループのメンバーである場合、以下の保護が適用されます:

  • 資格情報の委任CredSSPは、Allow delegating default credentials グループポリシー設定が有効になっていても、ユーザーの平文の資格情報をキャッシュしません。
  • Windows 8.1およびWindows Server 2012 R2以降、Windows Digestは、Windows Digestが有効になっていても、ユーザーの平文の資格情報をキャッシュしません。
  • NTLM は、ユーザーの 平文の資格情報 や NT ワンウェイ関数NTOWFキャッシュしません
  • Kerberos は、DESRC4 キー を作成 しません。また、初期のTGTが取得された後、ユーザーの平文の資格情報や長期キーをキャッシュしません。
  • サインインやアンロック時にキャッシュされた検証器は作成されませんので、オフラインでのサインインはもはやサポートされません。

ユーザーアカウントが保護されたユーザーのグループに追加された後、ユーザーがデバイスにサインインすると保護が開始されます。こちら から

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
プリントオペレーター プリントオペレーター プリントオペレーター プリントオペレーター
読み取り専用ドメインコントローラー 読み取り専用ドメインコントローラー
レプリケーター レプリケーター レプリケーター レプリケーター
スキーマ管理者 スキーマ管理者 スキーマ管理者 スキーマ管理者
サーバーオペレーター サーバーオペレーター サーバーオペレーター サーバーオペレーター

こちら からの表

htARTE (HackTricks AWS Red Team Expert)でAWSハッキングをゼロからヒーローまで学ぶ

HackTricksをサポートする他の方法