【入門編】 メモリ上のユーザー資格情報抽出:LSASSダンプとMimikatzの痕跡 – インシデントレスポンス & フォレンジック(DFIR)防御ガイド

こんにちは!インシデントレスポンスの現場を渡り歩いているSOCアナリストです。日々のセキュリティ運用の最前線では、攻撃者があの手この手でシステムの内側へ侵入しようと狙っています。

今回は、セキュリティの世界でも特にスリリングで、かつ実被害に直結しやすい「メモリ上のユーザー資格情報抽出」、その中でも代表格であるLSASSダンプとMimikatz(ミミカッツ)の脅威について、現場の泥臭い知見を交えながら分かりやすく紐解いていきます。

「難しそう…」と思うかもしれませんが、大丈夫です!身近な例えから一歩ずつ、一緒に学んでいきましょうね。

—

1. そもそもLSASSってなに? Windowsの「合鍵保管庫」の例え

まずは、攻撃者がなぜ「LSASS(Local Security Authority Subsystem Service)」という聞き慣れない名前を執拗に狙うのか、その理由からお話ししますね。

皆さんのご自宅を想像してみてください。玄関の鍵を開けるために、家族全員分の合鍵をまとめて引き出しにしまっていませんか? Windowsパソコンにとって、この「合鍵の引き出し」にあたるのが LSASS というシステムプロセスなんです。

私たちがWindowsにログインするとき、入力したパスワードや、ネットワーク上のリソースにアクセスするための「切符(Kerberosチケット)」が発行されますよね。Windowsは、ユーザーが再度パスワードを打たなくてもいいように、これらをLSASSのメモリ(作業机)の中に一時的に保管しています。

つまり、LSASSのメモリの中を覗き見ることができれば、パソコンの中にあるすべてのユーザーの合鍵(パスワードやハッシュ)をごっそり手に入れることができるというわけです。攻撃者にとって、これほど魅力的な宝箱はありませんよね。

—

2. 泥棒の常套手段:MimikatzとLSASSダンプの正体

この合鍵の引き出し(LSASS)から、見事に合鍵を盗み出す有名なツールが Mimikatz です。フランスのセキュリティ研究員が「Windowsの認証の仕組みの脆弱性を証明するため」に作ったツールですが、現在ではサイバー攻撃者やランサムウェアの身代金グループに好んで悪用されています。

攻撃者がよく使う手口は、次のような流れになります。

1. 侵入: まず何らかの方法(フィッシングメールや脆弱性)でPCの管理者権限を奪う。
2. プロセスへのアクセス: LSASSプロセス(メモリ上の引き出し)にアクセスするための特別な「鍵(権限)」を自分自身に与える。
3. ダンプ(コピーの作成): 引き出しの中身をごっそりコピーしてファイルに保存する(これが「LSASSダンプ」と呼ばれるファイルです)。
4. 解析(Mimikatzの実行): コピーしたファイルをMimikatzに読み込ませ、平文のパスワードやNTLMハッシュ(パスワードの暗号化された姿)を画面にズラリと表示させる。

一度これが成功してしまうと、攻撃者は社内の他のパソコンに「正当な管理者」の顔をしてログインし放題になってしまいます。これが、インシデントレスポンスの現場で私たちが最も恐れる「横展開(ラテラルムーブメント)」の瞬間です。

—

3. フォレンジック調査:現場に残された「足跡」を見つける

では、もし自分の管理するサーバーやPCでLSASSが不正に読まれてしまった場合、どのような痕跡(アーティファクト)が残るのでしょうか? 現場の調査官の視点でお話しますね。

攻撃者は足跡を消そうとファイルを削除しますが、完全には消しきれません。特に次のようなポイントをチェックします。

  • 不審なプロセスの起動履歴: mimikatz.exe という名前のまま実行されることは稀ですが、似たような挙動をするスクリプトや、名を変えたツールが動いていないかイベントログを確認します。
  • Windowsイベントログ(EID 4656 / 4663 / 7045など): LSASSプロセス(lsass.exe)に対して、通常とは異なるプロセスが「フルアクセス(PROCESS_VM_READなど)」を要求したログが残ります。
  • ダンプファイルの残骸: 攻撃者が一時的に作成した lsass.dmp などのファイルが、ゴミ箱や一時フォルダ(C:\Windows\Temp や C:\Users\Public など)に転がっていないかを探します。

—

4. 実務で役立つ!LSASSへの不正アクセスを防ぐ強固な対策

「じゃあ、どうやってこの泥棒から合鍵を守ればいいの?」という話ですよね。
ここからは、インフラ構築や開発の現場で即座に設定できる、実践的な防御策をご紹介します。

対策①:Windows Defender Credential Guard の有効化

現代のWindows(Windows 10/11 EnterpriseやWindows Server 2016以降)には、LSASSを仮想化技術(VBS: 仮想化ベースのセキュリティ)で完全に隔離する強力な機能が備わっています。これが Credential Guard です。

これ肉付けしておくと、たとえ攻撃者が管理者権限を奪ったとしても、隔離されたLSASSのメモリ領域には触ることができません。Mimikatzを使っても「中身が空っぽ(あるいはエラー)」になります。

有効化はグループポリシー(GPO)やレジストリで行います。以下は設定例です。

# PowerShellを管理者として実行し、Credential Guardを有効化するサンプル
# ※注意: ハードウェア要件(Secure Bootや仮想化支援機能)が必要です。

# レジストリキーを作成してCredential Guardを有効にする
New-Item -Path "HKLM:\System\CurrentControlSet\Control\DeviceGuard" -Force
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\DeviceGuard" -Name "EnableVirtualizationBasedSecurity" -Value 1

New-Item -Path "HKLM:\System\CurrentControlSet\Control\Lsa" -Force
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Lsa" -Name "RunAsPPL" -Value 1

# ※ RunAsPPL (Protected Process Light) を有効にすることで、
#    信頼されていないプロセスがLSASSのメモリを読むことをOSレベルでブロックします。

対策②:不要な管理者権限の排除(最小権限の原則)

LSASSのメモリを読むためには、原則として「デバッグ特権(SeDebugPrivilege)」や「管理者権限」が必要です。
開発環境やテストサーバーだからといって、日常的に全員が管理者アカウント(Administrator)でログインしていませんか?

「普段使いのアカウントは一般権限」「作業時のみ昇格(PIM/PAMの導入)」を徹底するだけで、Mimikatzのようなツールを実行するハードルを何段階 también 跳ね上げることができます。

—

まとめ:一歩ずつ、堅牢なセキュリティを目指して

今回は、メモリ上の資格情報抽出と、LSASSダンプ・Mimikatzの脅威についてお伝えしました。

  • LSASS は、Windowsの「合鍵の引き出し」。
  • 攻撃者はそこから権限を盗み、社内を我が物顔で歩き回る。
  • 対策として、RunAsPPL の有効化や Credential Guard の導入、そして最小権限の原則が非常に有効。

セキュリティの対策は一度やったら終わりではなく、日々の運用と見直しの積み重ねです。難しく考えず、まずは「うちのサーバー、LSASSの保護設定はどうなっているだろう?」と確認することから、一歩ずつ進めていきましょう!

皆さんのインフラストラクチャが安全に守られることを、現場のSOCアナリストとして応援しています!

コメント

タイトルとURLをコピーしました