デバッグプログラムポリシーが有効になっているときにSeDebugPrivilegeを取得する方法
前回の記事では、mimikatzのようなユーティリティを防御する方法の1つは、デバッグプログラムポリシーを使用してシステム管理者のデバッグ権限を無効にすることであると説明しました。ただし、最近、デバッグ特権(WindowsではSeDebugPrivilege)がないと、ローカルサーバー管理者はMicrosoftSQLServerをインストールまたは更新できないことが判明しました。問題は、起動時に、SQL ServerインストーラーがSeSecurity、SeBackup、およびSeDebug特権があるかどうかを確認することです。 SQL Serverプロセスを実行し、SQLServerの正常な起動に関する情報を取得する必要があります。これがその様子です。
SQL Serverのインストール中に、インストーラーは予備チェックを実行し、アカウント権限の設定に関するいくつかの問題を特定します。 。
[失敗]リンクをクリックすると、次のメッセージが表示されます。
ルール「アカウント権限の設定」に失敗しました。SQL Serverセットアップを実行しているアカウントには、ファイルとディレクトリをバックアップする権利、監査とセキュリティログを管理する権利、およびプログラムをデバッグする権利の1つまたはすべてがありません。続行するには、これらの両方の権限を持つアカウントを使用してください。詳細については、https://msdn.microsoft.com/en-us/library/ms813696.aspx、https://msdn.microsoft.com/en-us/library/ms813959.aspx、およびhttps://msdnを参照してください。 .microsoft.com / en-us / library/ms813847.aspx。
次に、 SystemConfigurationCheck_Report.htmを開きます。 報告。
ご覧のとおり、 HasSecurityBackupAndDebugPrivilegesCheckをチェックするとき ルールにより、インストーラーは、現在のプロセスが次のいずれかの特権を持っていないことを検出しました。
- SeSecurity –監査ログとセキュリティログの管理
- SeBackup –ファイルとフォルダをバックアップするための権限
- SeDebug —プログラムをデバッグするための特権
ログには、インストールプロセスにSeDebugフラグがないことを示す詳細情報がいくつかあります。
(09) 2017-12-12 11:15:13 Slp: Initializing rule : Setup account privileges (09) 2017-12-12 11:15:13 Slp: Rule is will be executed : True (09) 2017-12-12 11:15:13 Slp: Init rule target object: Microsoft.SqlServer.Configuration.SetupExtension.FacetPrivilegeCheck (09) 2017-12-12 11:15:13 Slp: Rule ‘HasSecurityBackupAndDebugPrivilegesCheck’ Result: Running process has SeSecurity privilege, has SeBackup privilege and does not have SeDebug privilege. (09) 2017-12-12 11:15:13 Slp: Evaluating rule : HasSecurityBackupAndDebugPrivilegesCheck (09) 2017-12-12 11:15:13 Slp: Rule running on machine: rom-sql10 (09) 2017-12-12 11:15:13 Slp: Rule evaluation done : Failed
デバッグプログラムポリシーを変更または無効にせずにSeDebugPrivilegeを取得する回避策を探すことにしました。サーバーのローカル管理者権限がある場合は、このポリシーをバイパスする非常に簡単な方法があることがわかりました。 secedit サーバーのローカルセキュリティポリシーを管理できるツールが役立ちます。
現在の権限を確認してください:
whoami /priv
ご覧のとおり、ユーザーの現在のトークンにはSeDebugPrivilegeがありません。
グループポリシーで設定されている現在のユーザー権限をテキストファイルにエクスポートします:
secedit /export /cfg secpolicy.inf /areas USER_RIGHTS
任意のテキストエディタを使用して、 secpolicy.infを開きます [特権の権利]に文字列を追加します ローカル管理者のグループに対するデバッグプログラム特権を有効にするセクション。
SeDebugPrivilege = *S-1-5-32-544
注 。ローカル管理者のグループS-1-5-32-544のSIDは、他のSIDに変更できます。グループまたはユーザー名をSIDに変換するには、SIDをUserNameに変換する方法およびその逆を参照してください。
ファイルを保存します。次に、新しいユーザー権限を適用します:
secedit /configure /db secedit.sdb /cfg secpolicy.inf /overwrite /areas USER_RIGHTS
ログオフして再度ログオンし、secpol.mscを使用して、デバッグプログラムの特権がローカル管理者のグループに割り当てられていることを確認します。同じことがwhoami/privコマンドの結果にも示されています:
SeDebugPrivilege Debug programs Enabled
これで、インストールを実行したり、SQLServerを更新したりできます。ただし、SeDebugPrivilegeは一時的に割り当てられ、次のGPO更新サイクル(ユーザーがログオフした後)でリセットされることに注意してください。
デバッグプログラムポリシーを有効にしても、ローカル管理者権限でサーバーにすでに侵入している悪意のあるソフトウェアによるSeDebugPrivilegeの取得を完全に保護するわけではなく、サーバーで動作しているすべてのユーザー/管理者アカウントを危険にさらす可能性があることを理解する必要があります。
-
リモートHyper-Vサーバー2019への接続に関する問題を修正する方法
正常に展開されたHyper-Vインフラストラクチャは、Hyper-VマネージャーまたはWindowsAdminCenterを使用して管理されます。ローカルまたはリモートで実行できますが、多くの場合、特にサーバーの数が多い場合は、リモート管理の方が効率的です。 Windows 8以降、MicrosoftはHyper-VクライアントをオペレーティングシステムのProfessionalエディションとEnterpriseエディション(Windows 8、Windows 8.1、およびWindows 10)に統合しました。 IT管理者はWindowsServerからではなく、Windowsクライアン
-
Server 2016 でグループ ポリシーを介してネットワーク プリンターを展開する方法。
このチュートリアルでは、Active Directory 2016 のグループ ポリシーを使用して、ドメイン ワークステーションに TCP/IP ネットワーク プリンターを展開する方法について、順を追って説明します。以下のプリンター展開手順に従うと、プリンターのプリンターに直接印刷できるようになります。ドメインのすべてのワークステーションからの IP アドレス。 グループ ポリシーを使用してプリンターを展開すると、プリンター ドライバーを各ワークステーションに個別にインストールする必要がないため時間を節約できます。また、プリンター設定ですべての変更を行うことができるため、プリンターの管理が