hacktricks/windows-hardening/active-directory-methodology/skeleton-key.md

7 KiB
Raw Blame History

スケルトンキー

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

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

スケルトンキー

出典: https://blog.stealthbits.com/unlocking-all-the-doors-to-active-directory-with-the-skeleton-key-attack/

攻撃者が特権を昇格させ、ドメインに自分たちを確立した後に永続性を作り出すために使用できる、Active Directoryアカウントを侵害するためのいくつかの方法があります。スケルトンキーは、特に恐ろしいマルウェアで、Active Directoryドメインを狙って、どのアカウントでも簡単にハイジャックできるようにします。このマルウェアはLSASSに自己注入し、ドメイン内の任意のアカウントで機能するマスターパスワードを作成します。既存のパスワードも引き続き機能するため、何を探すべきかを知らない限り、この攻撃が行われたことを知るのは非常に困難です。

驚くことではありませんが、これはMimikatzを使用して非常に簡単に実行できる多くの攻撃の1つです。その仕組みを見てみましょう。

スケルトンキー攻撃の要件

この攻撃を行うためには、攻撃者はドメイン管理者権限を持っている必要があります。この攻撃は、完全な侵害を行うためにはすべてのドメインコントローラで実行する必要がありますが、単一のドメインコントローラを対象にするだけでも効果的です。ドメインコントローラを再起動すると、このマルウェアは削除され、攻撃者によって再デプロイされる必要があります。

スケルトンキー攻撃の実行

攻撃の実行は非常に簡単です。次のコマンドを各ドメインコントローラで実行するだけです: misc::skeleton。その後、Mimikatzのデフォルトパスワードを使用して任意のユーザーとして認証できます。

Mimikatzでmisc::skeletonを使用してドメインコントローラにスケルトンキーを注入する

以下は、スケルトンキーをパスワードとして使用して、ドメイン管理者メンバーがドメインコントローラに管理アクセスを取得する認証です:

Mimikatzのデフォルトパスワードを使用して、misc::skeletonコマンドでドメインコントローラに管理アクセスを取得するためにスケルトンキーをパスワードとして使用する

注意: 「システムエラー86が発生しました。指定されたネットワークパスワードが正しくありません」というメッセージが表示された場合は、ユーザー名にドメイン\アカウント形式を使用してみてください。それでうまくいくはずです。

「システムエラー86が発生しました 指定されたネットワークパスワードが正しくありません」というメッセージが表示された場合にユーザー名にドメイン\アカウント形式を使用する

もしlsassがすでにスケルトンでパッチされていた場合、このエラーが表示されます:

軽減策

  • イベント:
  • システムイベントID 7045 - システムにサービスがインストールされました。(カーネルモードドライバのタイプ)
  • セキュリティイベントID 4673 機密特権の使用("監査特権の使用"を有効にする必要があります)
  • イベントID 4611 信頼できるログオンプロセスがローカルセキュリティ機関に登録されました("監査特権の使用"を有効にする必要があります)
  • Get-WinEvent -FilterHashtable @{Logname='System';ID=7045} | ?{$_.message -like "Kernel Mode Driver"}
  • これはmimidrvのみを検出します Get-WinEvent -FilterHashtable @{Logname='System';ID=7045} | ?{$.message -like "Kernel Mode Driver" -and $.message -like "mimidrv"}
  • 軽減策:
  • lsass.exeを保護されたプロセスとして実行すると、攻撃者はカーネルモードドライバをロードする必要があります
  • New-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Lsa -Name RunAsPPL -Value 1 -Verbose
  • 再起動後に確認: Get-WinEvent -FilterHashtable @{Logname='System';ID=12} | ?{$_.message -like "protected process"}
htARTE (HackTricks AWS Red Team Expert)でゼロからヒーローまでAWSハッキングを学ぶ

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