Awesome Windows Domain Hardening 
Windows向けの優れたセキュリティ強化テクニックを厳選したリストです。
gepeto42 と PaulWebSec によって作成されましたが、PyroTek3 の研究に大きく影響を受けています!
概要
このドキュメントは、Pyrotek と Harmj0y による DerbyCon の講演「111 Attacking EvilCorp Anatomy of a Corporate Hack」に関連する情報をまとめたものです。動画とスライドは以下から入手できます。
また、gepeto42 と joeynoname が THOTCON 0x7 の講演 で議論した手法を含む、他の攻撃を防ぐために必要な強化テクニックも盛り込んでいます。
何か足りないものがありますか? Pull Request を作成して追加してください。
初期足場の確保
- オペレーティングシステムのアップグレードを犠牲にしてまで強化を試みるべきではありません。
- EMET をワークステーションに展開します(2018年7月にサポート終了 - Windows 7 では EMET の維持を検討しつつ、Windows 10 と Edge へのアップグレードを優先してください)。
- AppLocker を使用して、ユーザー領域(ホームディレクトリ、プロファイルパス、一時フォルダなど)での実行可能コンテンツの実行をブロックします。
- DMA 攻撃に対する強化? ここにあります。また、Synacktiv による DMA 攻撃に関する興味深い記事 もどうぞ。
- Applocker または制約付き言語モードを使用して PowerShell の実行を管理します。
- PowerShell ログ記録(v3 以降)とコマンドプロセスログを有効にします。
- インターネットからダウンロードしたコンテンツに対して Office マクロをブロック します(Windows と Mac)。
- 不審な動作を監視するセキュリティツールを展開します。WEF を使用して、興味深いイベントだけを SIEM やログシステムに転送することを検討してください。
- 電子メール/ダウンロードによる添付ファイルをブロック/制限して機能を制限します:
- 実行可能ファイルの拡張子:
- (ade, adp, ani, bas, bat, chm, cmd, com, cpl,
crt, hlp, ht, hta, inf, ins, isp, job, js, jse, lnk, mda, mdb,
mde, mdz, msc, msi, msp, mst, pcd, pif, reg, scr, sct, shs,
url, vb, vbe, vbs, wsc, wsf, wsh, exe, pif, など)
- マクロをサポートする Office ファイル(docm, xlsm, pptm など)
- これらのファイルタイプ がブロックされていることを確認します。
- 忘れられている/未使用の Excel ファイル拡張子 をブロックします:IQY、SLK
- Windows スクリプトで開くすべてのものの既定のプログラムをメモ帳に変更します(事前にテストしてください!)
- bat, js, jse, vbe, vbs, wsf, wsh, hta, vbs など
- GPO: ユーザーの構成 -> 基本設定 -> コントロール パネルの設定 -> フォルダー オプション -> プログラムから開く
- アクション: 置換
- ファイル拡張子: (拡張子)
- 関連付けるプログラム: %windir%\system32\notepad.exe
- 既定として設定: 有効
- Office で PackagerPrompt レジストリ設定を使用して OLE パッケージのアクティブ化を防止 します。
偵察
- Windows 10 を展開し、ローカルグループの列挙を制限します。
- ワークステーション間の通信を制限します。
- 機密性の高い GPO のセキュリティを強化します。
- 行動分析 (Microsoft ATA) の導入を評価します。
BloodHound「対策」:
- NetCease を使用して、非特権ユーザーによるセッション列挙を防ぎます。
- Samri10 を使用して、非特権ユーザーによるローカル管理者の収集を防ぎます(この修正は Windows 10 1607 以降には既に存在します)。
横展開
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TokenLeakDetectDelaySecs = 30 に設定します。これにより、ログオフしたユーザーの資格情報が30秒後にクリアされます(Windows 8.1 以降の動作を模倣)。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential = 0 に設定します。これにより、Wdigest 資格情報がメモリに保存されなくなります(これも Windows 8.1 以降の既定の動作です)。
- ローカル管理者アカウントのパスワードが自動的に変更されるようにします (Microsoft LAPS)。また、余分なローカル管理者アカウントを削除します。
- ワークステーション間の通信を制限します (Windows ファイアウォール)。
- 2台のワークステーション間で有効な資格情報を使って psexec をテストします。もし動作した場合、横展開の問題があります。
特権昇格
- SYSVOL からパスワードを含むファイルを削除します (GPP を含む)。
- GPO で 拒否 のユーザー権利の割り当てを構成し、管理者が信頼されていないシステム(通常のワークステーション)にログオンしないようにします。
- すべての高特権作業には、Privileged Access Workstation または PAW を提供します。これらはインターネットにアクセスできないようにする必要があります。
- 可能な場合はサービスアカウントに Managed Service Accounts を使用します (FGPP)。
- Managed Service Accounts をサポートしていないシステムには、詳細パスワード ポリシー を展開して、パスワードが32文字を超えるようにします。
- すべてのコンピューターが NTLMv2 と Kerberos を使用していることを確認し、LM/NTLMv1 を拒否します。
管理資格情報の保護
- すべての管理者が承認された管理ワークステーションとサーバーにのみログオンするようにします。(特権昇格セクションの PAW を参照)
- 組み込みグループのうち Administrator 以外は、ユーザー権利の割り当てによってドメインコントローラーへのログオンをすべて拒否します。既定では、バックアップ オペレーターやアカウント オペレーターはドメインコントローラーにログオンできるため、危険です。
- すべての管理者アカウントを Protected Users グループ に追加します(Windows 2012 R2 の DC が必要)。
- 管理ワークステーションとサーバー:
- 管理ワークステーションとサーバーへのアクセスを制御・制限します。
- TCP/IP 上の NetBIOS を削除します。
- LLMNR を無効にします。
- WPAD を無効にします。
レガシーの強化/削除
- 今すぐ PingCastle の使用を開始しましょう。優れた AD 監査を実行します
- NTLM を監査/制限します。
- LDAP 署名 を強制します。
- SMB 署名 を有効にします(可能な場合は暗号化も)。
- WPAD と LLMNR を無効にし、NetBIOS の無効化に取り組みます。
- Windows 10 では、以下を削除します:
- SMB 1.0/CIFS
- Windows PowerShell 2.0
- shims を使用して、管理者権限を必要とする古いアプリケーションが、権限を持っていると認識して動作できるようにします。
ツール
動画
スライド
追加リソース