はじめに
どれだけ高価なEDR(振る舞い検知)を導入しても、OS自体が「攻撃者に都合の良い設定」のままでは、検知をすり抜けられるリスクが残ります。
ランサムウェア攻撃の多くは、侵入後にPowerShellやWMI、あるいはコマンドプロンプトを駆使して、シャドウコピーの削除(バックアップ破壊)や内部探索を行います。本記事では、エンドポイントを「要塞化(Hardening)」し、攻撃者のスクリプト実行を物理的に困難にする設定を解説します。
1. PowerShellの制限:両刃の剣を制御する
PowerShellは非常に強力ですが、デフォルト設定では攻撃者に悪用されやすい状態です。
① 実行ポリシー(Execution Policy)の最適化
「デフォルトが Restricted だから安心」と思っていませんか? 攻撃者は powershell.exe -ExecutionPolicy Bypass という1行で、この制限を簡単に無効化してスクリプトを実行します。
- 対策: GPO(グループポリシー)で 「スクリプト実行を強制的に制限する」 設定を流し込み、コマンドラインからの個別バイパスを無効化します。
② 言語モードの制限(Constrained Language Mode)
これが最も効果的です。Constrained Language Mode に設定すると、COMオブジェクトの作成やWin32 APIの直接呼び出しなど、高度な攻撃用スクリプトが動かなくなります。
- 一般ユーザーにはこの制限をかけ、管理者のみがフル機能を使えるように分離します。
③ PowerShell v2の無効化
古いPowerShell v2は、最新版のような「ログ記録機能(AMSI)」が備わっていません。攻撃者はあえて powershell.exe -version 2.0 と指定して、監視の目を盗みます。
- 対策: Windowsの機能から「PowerShell 2.0」をアンインストールします。
2. 攻撃者が狙う「不要なサービス」の停止
「デフォルトでON」になっているが、多くの一般社員には不要な機能をオフにします。
- LLMNR / NetBIOS の無効化: * 攻撃者がネットワーク内で「偽の応答」を返し、パスワードハッシュを盗み出す(Responder攻撃)のを防ぎます。
-
Windows Script Host (WSH) の無効化:
-
.vbsや.jsファイルをダブルクリックして感染するマルウェアを、レジストリ設定一つで無力化できます。
-
-
リモートアシスタンスのオフ:
- 意図しない遠隔操作の口を塞ぎます。
3. 「コマンドライン引数」のロギング(Event ID 4688)
要塞化とは「防ぐ」だけでなく、「証拠を残す」ことでもあります。
Windowsのデフォルト設定では、「どのプログラムが起動したか」は記録されますが、 「どんな引数(コマンド)で実行されたか」 は記録されません。
例:
powershell.exeが動いたことはわかるが、powershell.exe -enc [難読化された攻撃コード]が動いたことがわからない。
- 対策: グループポリシーの「プロセス作成イベントにコマンドラインを含める」を有効にします。これにより、SIEMやログ解析で攻撃の全容が見えるようになります。
4. 特権の分離:Local Admin Password Solution (LAPS)
攻撃者が1台のPCで「ローカル管理者パスワード」を盗んだ際、全端末で同じパスワードを使い回していると、ネットワーク全体が即座に陥落します。
- LAPSの導入: * 端末ごとに異なるランダムなローカル管理者パスワードを自動生成し、ADの属性に保存します。これにより、1台のパスワードが漏れても、他のPCへ「横展開」されるのを防げます。
5. 【設定例】PowerShellを要塞化するレジストリ/GPO
Qiita読者がコピペで確認・検証できる情報を載せます。
# 現在のPowerShell言語モードを確認する
$ExecutionContext.SessionState.LanguageMode
# ConstrainedLanguage に強制設定(環境変数経由の例)
[Environment]::SetEnvironmentVariable('__PSLockdownPolicy', '4', 'Machine')
6. まとめ:攻撃者にとって「居心地の悪い」環境を作る
エンドポイントの要塞化に「銀の弾丸」はありません。
- PowerShellの自由度を奪う(言語モードの制限)。
- 不要なレガシープロトコル(LLMNR等)を捨てる。
- すべてのコマンド実行履歴をログに刻む。
これら地味な設定の積み重ねが、攻撃のコストを爆発的に高め、最終的に「この会社を攻めるのは面倒だ」と攻撃者に諦めさせることにつながります。