【資格情報窃取編】LSASS・SAM・DPAPIから鍵を抜く流れと守り方|CTF思考フレームワーク #36
広告・PRを含みます。この記事にはアフィリエイトリンクが含まれます。掲載内容は編集方針に基づいて作成していますが、価格・在庫・キャンペーン内容はリンク先で最新情報を確認してください。

資格情報の窃取って、パスワードが盗まれるだけじゃないの?😅

それだけじゃないんです。WindowsのLSASSプロセスメモリには、ログイン中のユーザーの認証情報(NTLMハッシュ、Kerberosチケット)が丸ごと展開されていて、ここを抜けば組織全体のADドメインが乗っ取れます。Mimikatzが代表的なツールです。
資格情報窃取は、初期侵入後の本番フェーズ。LSASS・SAM・DPAPI・ブラウザ保存パスワード・KDBX ファイル――Windows一台にはユーザーが使う全認証情報が保管されており、SYSTEM権限なら全部読めます。Mimikatz、impacket-secretsdump はその代表的なツール。

ログイン情報を全部持ち出されるって、AD全体が終わっちゃう…
この記事は、CTF思考フレームワーク第36回。資格情報窃取の代表的手口(LSASS dump・SAM・DPAPI・ブラウザ・KeePass)と、企業の防御策(Credential Guard・PPL・LAPS・パスワード保管庫)を整理します。
📖 この記事はシリーズの一部です
「CTF思考フレームワーク」 #36 / 全86記事 → シリーズ一覧を見る →
🔐 Windows侵入後にまず狙われるのが「資格情報」です。LSASSのメモリ、SAM/SYSTEMのレジストリハイブ、DPAPIで保護されたパスワード・Cookie。ここを抜かれると横展開も特権昇格も一気に進みます。
資格情報窃取の基本は「メモリから生パスワード/ハッシュ」「レジストリからNTLMハッシュ」「DPAPIマスターキー経由でブラウザ・WiFiの平文」の3ルート。攻撃の発想と検知の勘所を整理します。
ポストエクスプロイトの王道。鍵を抜けば全社が落ちます🔑

資格情報窃取は「初期侵入後の本番」。LSASSやSAMから鍵が抜けたらAD全体が危ないんだ💀
先に意味を押さえておくと読みやすい用語です。
- CTF: セキュリティの練習問題を解く競技。必ず許可された環境だけで試します。
- Webキャッシュ汚染: 一時保存されるページ内容を汚染し、他の利用者にも悪い内容を配る攻撃です。
- 権限昇格: 一般ユーザーから管理者権限など、より強い権限を得ることです。
👀 観察フェーズ:まず何を見る?

まずどこに認証情報が置かれてるかを観察!LSASS、SAM、レジストリ、DPAPI、ブラウザ保存…箱は意外と多い🔍
まずホスト上で「どの保護機構が有効で、どの資格情報が手に届く位置にあるか」を見極めます。Credential Guardやプロセス保護(PPL)が有効ならLSASSダンプは難易度が跳ね上がります。

一度メモリにロードされた認証情報ってSYSTEM権限なら全部読めるから怖いんだね…😨
whoami /privで SeDebugPrivilege が握れているか- Credential Guard / LSA Protection (RunAsPPL) の有効状態
- AV/EDRの常駐(mimikatz系のシグネチャ検知)
- ローカル管理者権限の有無(SAM・SECURITYへのアクセス可否)
- ブラウザプロファイル・WiFi設定の保存場所
- KRBTGTやドメインコントローラへの到達性(DCSyncの伏線)

資格情報窃取の典型は4経路。
🤔 仮説フェーズ:攻撃者は何を考える?
🧠 仮説①:LSASSメモリダンプ
mimikatzのsekurlsa::logonpasswordsやprocdump+解析でNTLMハッシュ・Kerberosチケットを抜く。
🗝️ 仮説②:SAM・SECURITYハイブ
SYSTEM権限でreg saveからハイブを取得→オフライン解析でローカル管理者ハッシュを入手。
🛡️ 仮説③:DPAPI Vault
ChromeやEdgeの保存パスワードはDPAPIで暗号化されているが、同ユーザコンテキストなら復号可能。マスターキーを掘る。
📜 仮説④:ファイル漏洩
/etc/shadow、~/.aws/credentials、id_rsa、web.config、unattend.xmlなどに平文の認証情報が残っているケース。
🕶️ 攻撃者は「LSASSプロセスを直接ダンプできるか?できなければシャドウコピーやMiniDump APIで迂回するか?」と考えます。検知が厳しければ comsvcs.dll のMiniDumpエクスポート、procdump、Living-off-the-Landバイナリで擬装するのが定石です。SAM/SYSTEMはVSSでロック回避、DPAPIはマスターキーをコピーしてオフラインで復号、と段階的にプランBを準備します。

攻撃者は「立った場所から地図を広げる」のが基本ムーブだね💡
🔬 検証フェーズ:どうやって確かめる?

検証ラボではActive Directoryをわざと組んでmimikatzやimpacketを動かし、何が抜けるかを実体験するのが効きます🧪
自分の検証VMで、どのアーティファクトが残るかを観察します。LSASSダンプはSysmon Event ID 10(ProcessAccess)で 0x1010 や 0x1410 のアクセスマスクが残るのが代表的なIoC。SAMハイブのコピーは reg save 実行ログとボリュームシャドウコピーの作成痕跡が出ます。

EDRが入ってるとLSASSアクセスで即検知されるから、実環境では試せないやつだね⚠️
# 検証用:自分の管理するWindows VMで
reg save HKLMSAM C:tempsam.save
reg save HKLMSYSTEM C:tempsystem.save
reg save HKLMSECURITY C:tempsecurity.save
# Sysmon Event ID 10 が LSASS 宛に飛んだら検知ルールがハマっている合図

資格情報窃取の主要パスはこの3つ。
⚔️ 攻撃フェーズ:実際の手口
NTLMハッシュを抜き、パスワードを知らずに別マシンへログイン。横展開の起点。
SPN付きアカウントのTGSチケットを要求しオフラインクラック。サービスアカウントが弱パスワードだと一発。
高権限ユーザでDCに対しGetNCChangesを発行し、krbtgt含む全ユーザのハッシュを取得。AD全壊コース。
攻撃の典型ルートは3つ。①LSASSメモリから平文パスワード/NTLMハッシュ/Kerberosチケットを抽出、②SAM+SYSTEMからローカルアカウントのNTLM、③DPAPIマスターキー+暗号化blobでブラウザ保存パスワード/WiFi PSKを復号。
# 1) LSASSダンプ(攻撃者目線・検証環境のみ)
rundll32.exe C:windowssystem32comsvcs.dll, MiniDump dump.bin full
# 2) レジストリハイブからNTLM抽出(pypykatz等で後段処理)
pypykatz registry --sam sam.save system.save
# 3) DPAPI経由でChromeのCookie/パスワード復元
# masterkey + Local State の暗号化キー → AES-GCMで復号
抽出したNTLMハッシュはそのまま Pass-the-Hash で横展開に直結し、Kerberosチケット(TGT/TGS)は Pass-the-Ticket でドメイン内移動の燃料になります🚀

資格情報窃取の守りは3段構え!🛡️
🛡️ 防御フェーズ:どう守る?
WindowsのCredential GuardやRunAsPPLを有効化し、SYSTEM権限でもLSASSメモリを読めなくする。
サービスアカウントは25文字以上のランダムパスワード。Tier0(DC等)にDA権限のセッションを残さない。
SysmonでLSASSアクセス・DCSync・Kerberoastingログを取得し、EDRで即時アラート。検知時間が短いほど被害が小さい。

「鍵を盗ませない・盗まれても気づく」の2軸で守るのが鉄則だね💪
守る側の核心は「LSASSへの到達を物理的に封じる」「資格情報の保管粒度を下げる」「異常アクセスを即座に検知する」。Credential Guard・LSA Protectionは必ずONに、ローカル管理者の使い回しはLAPSで根絶します。
- Credential Guard(VBSベース)でLSASS Secretsを仮想化隔離
- RunAsPPL=1 でLSASSをProtected Process Lightに昇格
- LAPSでローカル管理者パスワードを端末ごとにランダム化
- Sysmon Event ID 10でLSASS宛ProcessAccessを監視(GrantedAccess 0x1010/0x1410)
- WDigest無効化(
UseLogonCredential=0)で平文キャッシュを廃止 - KRBTGT定期ローテと Protected Users グループの活用
🧪 検証用のLinuxラボを用意
権限昇格やエクスプロイトの練習は、許可を得た自分の検証環境で行うのがルール。💻 ConoHa VPSならUbuntuやCentOSをワンクリックで立てて、スナップショットも取れるので安心して試せます。
※ 上記は他社サービスへのリンクです。購入は各自でご判断ください。
⚠️ よくある落とし穴
- mimikatzのバイナリだけ警戒してDLLサイドロードを見落とす
- LSA Protectionが有効でも、ドライバー経由でPPLを外す手口を考慮しない
- DPAPIはマスターキーが取れればオフラインで復号できることを忘れる
- バックアップDPAPIキーがDCにあることを知らず、DC侵害の影響を過小評価
- シャドウコピー作成(
vssadmin)を「正常な運用」として除外してしまう - EDRがLSASSアクセスを検知しても、サプライチェーン由来の正規署名を素通りさせる
🧰 ツール早見表
| ツール / 機能 | 用途 | 備考 |
|---|---|---|
| mimikatz / pypykatz | LSASS・SAM・DPAPI抽出の総合ツール | EDRが最も警戒 |
| comsvcs.dll MiniDump | OS標準のLSASSダンプ | LOLBin扱いで検知すり抜けやすい |
| Sysmon EID 10 | LSASS宛ProcessAccess監視 | GrantedAccess値が決め手 |
| LAPS | ローカル管理者PW自動ローテ | Pass-the-Hash横展開の致命傷を回避 |
| Credential Guard | LSAシークレット仮想化 | Win10/11 Enterpriseで有効化推奨 |
🎓 本気で学びたい人へ
Linuxとサーバ・セキュリティを仕事レベルで学びたい方へ。🎓 ササエルはインフラエンジニア向けスクールで、システム設計から防御設計まで広くカバーしています。
📚 もっと深く学びたい人へ
体系的に学ぶなら『ホワイトハッカー入門』、手を動かして覚えるなら『TryHackMeを使って身体で覚える攻撃手法と脆弱性』が定番。両方持っておくと、知識と実践の両輪で伸びます📚
📚 次に読みたい
- Web LLM編|CTF思考フレームワーク #20
- 横展開編(PtH/PtT)|CTF思考フレームワーク #37
- Webキャッシュ汚染編|CTF思考フレームワーク #19
- Linuxカーネル&コンテナエスケープ編|CTF思考フレームワーク #38
🤝 大事なお約束
この記事で扱う確認・検証は、自分の環境、CTF、または明示的に許可された演習環境だけで行ってください。他人のサービスや端末に無断で試す行為は、不正アクセス等に該当するおそれがあります。学んだ知識は守る側で活用しましょう。


