コンテンツにスキップ

NTLM(エヌティーエルエム)とは?Kerberosの代わりに今も動く古い認証

2026-10-28 更新約13分で読めます

最終確認: 2026-10-28

30秒で復習

  • NTLM=Windows の古い認証の仕組み。 サーバーが出す問題(チャレンジ)に、パスワードから作った答えを返してログインする。今の標準は Kerberos だが、使えないときの予備として今も動いている。
  • Kerberos が使えないと、自動で NTLM に切り替わる:IPアドレスで接続、SPN がない・重複、DC に届かない、ドメインに入っていない PC、ローカルアカウントなど。
  • サーバーに接続したときのパスワード入力画面は、NTLM そのものではない。「自動ログイン(SSO)ができなかった」合図で、NTLM に切り替わる場面(IP 接続・ドメイン外など)と重なりやすい。
  • 弱点は3つ:Pass-the-Hash(パスワードの代わりにハッシュで入れる)、NTLM リレー(答えを横流しして別のサーバーに入る)、総当たり(盗んだ答えから元のパスワードを解く)。
  • 守り方:NTLMv1 と LM を禁止、SMB 署名・LDAP 署名・EPAでリレーを防ぐ、LLMNR・NBT-NS を止める、どこで NTLM が使われているか監査して減らす。
  • Microsoft は NTLM を非推奨にしていて、NTLMv1 は Windows 11 24H2・Windows Server 2025 で削除された。今のうちに Kerberos へ寄せる。
  • 覚え方:「Kerberos はチケットを見せる、NTLM は合言葉の問答。問答は横流しできてしまう」

こんな場面で出会う

  • \\192.168.x.x\share のように IP アドレスで共有フォルダーを開いたら、パスワードを聞かれた → Kerberos が使えず NTLM に切り替わった場面
  • 監査やセキュリティ診断で「NTLMv1 が使われています」「SMB 署名が無効です」と指摘される
  • 古い複合機・NAS の「AD 連携」設定に NTLM の文字がある

用語の正式名称と読み方

用語 読み方・正式名称 意味
NTLM NT LAN Manager Windows NT 時代からある、チャレンジ/レスポンス型の認証
LM LAN Manager NTLM よりさらに古い方式。とても弱く、今は使わない
NTLMv1 / NTLMv2 — NTLM の版。v1 は弱く削除済み、今使うなら v2 だけ
NT ハッシュ NT hash パスワードから作る値(MD4)。ソルトがないので、同じパスワードなら誰でも同じ値になる
チャレンジ/レスポンス challenge / response サーバーが乱数(問題)を出し、クライアントがパスワード由来の値で答えを計算して返す方式
Negotiate SPNEGO 「Kerberos を試して、だめなら NTLM」と自動で選ぶ仕組み。IIS・Kestrel の Windows 認証もこれ
Netlogon ネットログオン サーバーが「この答えで合ってる?」と DC に確かめるときの通り道
EPA Extended Protection for Authentication 認証を TLS の通信に結び付けて、リレーを防ぐ仕組み(Webサーバー向け)

質問:NTLMとは? どんな流れでログインする?

答え: サーバーが毎回ちがう乱数(チャレンジ)を出し、PC はパスワードから作った NT ハッシュでその乱数を計算して返す。サーバーは自分では答え合わせができないので、DC に「この答えで合ってる?」と聞く。

利用者のPC サーバー DC ① NEGOTIATE(NTLM でログインしたい) ② CHALLENGE(乱数の問題) ③ AUTHENTICATE(NT ハッシュで計算した答え) ④ この答えで合ってる? ⑤ 合っている パスワードは送らないが、ログインのたびにサーバーが DC に問い合わせる ※ サーバーが本物かどうかは、PC 側では確かめない
  1. NEGOTIATE:PC が「NTLM でログインしたい」と伝える
  2. CHALLENGE:サーバーが乱数(問題)を返す
  3. AUTHENTICATE:PC は NT ハッシュと乱数から答えを計算して返す。パスワードそのものは送らない
  4. サーバーは、問題と答えを DC に送って確かめてもらう(Netlogon)。ローカルアカウントなら、サーバーが自分で確かめる
  5. DC が「合っている」と返せば、ログイン成功

イメージ(たとえ話)

  • Kerberos=受付で入館証(チケット)をもらい、各部屋で見せる。 入館証には「どの部屋用か」が書いてあり、部屋も本物か確かめられる。
  • NTLM=部屋の前で、合言葉の問答をする。 番人が毎回ちがう問題を出し、答えを本部に電話して確かめる。
  • 問答の弱点は、相手が本物の番人か確かめないこと。偽の番人が、本物の番人の問題をそのまま横流しして答えさせれば、偽の番人が中に入れてしまう(=リレー)。

質問:Kerberosとは何が違う?

観点 Kerberos NTLM
しくみ DC が発行したチケットを見せる サーバーの問題に答える(チャレンジ/レスポンス)
サーバーが本物か 確かめられる(相互認証) 確かめない → リレーされやすい
DC への問い合わせ チケットがあれば不要 ログインのたびにサーバーが DC に聞く
必要なもの DC に届く(88番)、名前(FQDN)での接続、SPN ほぼ何もいらない(だから予備として残っている)
委任(代理でアクセス) できる できない(ダブルホップで失敗する)
暗号 AES NT ハッシュ(MD4)+HMAC-MD5(v2)
主な攻撃 Kerberoasting、Golden Ticket Pass-the-Hash、リレー、総当たり

質問:どんなときにNTLMに切り替わる?

答え: Windows 認証は Negotiate で、まず Kerberos を試し、だめなら黙って NTLM に切り替える。利用者からは違いが見えないので、「Kerberos のつもりが実は NTLM」がよく起きる。

Negotiate まず Kerberos ○ Kerberos になる 名前(FQDN)で接続 ・ SPN が1つだけ登録 DC(88番)に届く ・ ドメインアカウント ✕ 黙って NTLM に切り替わる ・IPアドレスで接続 ・SPN がない/重複 ・DC に届かない  ・ドメイン外の PC ・ローカルアカウント ・アプリが NTLM 決め打ち 利用者からは違いが見えない
原因 例 直し方
IPアドレスで接続 \\10.0.0.5\share、http://10.0.0.5/ 名前(FQDN)で接続する。IP に SPN を付ける方法もあるが、まず名前で
SPN がない・重複している Webアプリを gMSA で動かしたが SPN 未登録 setspn -Q で確かめて登録する(→Kerberosとは)
DC に届かない 88番ポートが FW で閉じている、VPN の外から 経路を開ける。在宅なら VPN・クラウド Kerberos
ドメイン外の PC ワークグループの PC、取引先の PC ドメインに参加させる、またはクラウドの認証(OIDC)へ
ローカルアカウント .\Administrator、サーバー名\user ローカルアカウントは Kerberos を使えない。ドメインアカウントか LAPS で管理
アプリが NTLM 決め打ち 古い業務アプリ、古い NAS・複合機 製品の更新、設定で Negotiate/Kerberos に変える

質問:サーバーに接続したときにパスワードを聞かれるのは、NTLMのせい?

答え: 半分正解。あの画面(Windows セキュリティの資格情報の入力画面)は NTLM そのものではなく、「自動ログイン(SSO)ができなかった」合図。ふだんは Kerberos でも NTLM でも、Windows にログオンしたときの情報を自動で渡すので、画面は出ない。ただ、画面が出るのは IP アドレスで接続・ドメイン外の PC・別ドメインのサーバーなど、NTLM に切り替わる場面と重なりやすい。だから「NTLM=パスワードを聞かれるもの」という印象になりやすい。

ふだん:ログオンした情報を自動で渡す → 画面は出ない(Kerberos でも NTLM でも) パスワード画面が出る=自動で渡せなかった・断られた合図 ・ブラウザが社外サイト扱いしている ・保存された古いパスワードが残っている ・ドメイン外の PC、別ドメインのサーバー ・サイトが Basic 認証(NTLM ですらない) ・その場所へのアクセス権がない ・Kerberos も NTLM も失敗した
よくある場面 何が起きている 直し方
\\10.0.0.5\share のように IP で開くと聞かれる Kerberos が使えず NTLM に切り替わり、さらにサーバーが別ドメイン・ワークグループなので、今の資格情報が通らない 名前(FQDN)で接続する。サーバーをドメインに参加させる
社内の Webアプリで、ブラウザが聞いてくる ブラウザがそのサイトをイントラネット扱いしていないので、資格情報を自動で渡さない(app.corp.example.com のようにドットを含む名前や IP は、インターネット扱いになりやすい) グループポリシーでサイトをイントラネット ゾーンに登録する。Edge・Chrome は AuthServerAllowlist ポリシーでも指定できる
自宅の PC・ドメイン外の PC から 自動で渡せるドメインの資格情報が、そもそもない 毎回の入力になる。会社の PC+VPN、またはクラウドの認証(OIDC)へ
パスワードを変えたあとから聞かれる 資格情報マネージャーに古いパスワードが保存されている 「資格情報マネージャー」で、そのサーバーの保存情報を消す
入力しても何度も聞かれる アクセス権がない、または Kerberos も NTLM も失敗している(SPN の重複、時刻のずれ、NTLM の制限など) アクセス権を確認。klist、イベント 4625(ログオン失敗)・4771(Kerberos の事前認証失敗)で理由を見る
サイトが Basic 認証 NTLM ですらなく、パスワードがほぼそのまま(Base64)送られる。F12 で WWW-Authenticate: Basic と見える HTTPS は必須。できれば Windows 認証や OIDC へ

Kerberos か NTLM かを見分ける小ワザ

ブラウザの開発者ツール(F12)→「ネットワーク」で、要求の Authorization ヘッダーを見る。Negotiate YII… で始まれば Kerberos、Negotiate TlRMTVNT… や NTLM TlRMTVNT… で始まれば NTLM(TlRMTVNT は「NTLMSSP」を Base64 にしたもの)。ファイル共有なら、接続したあとに klist で、そのサーバーの cifs/ のチケットがあるかを見る。

質問:NTLMは何が危ない?(攻撃者の視点)

被害者の PC 偽の名前解決などで 攻撃者につながされる 攻撃者(中継役) 問題と答えを横流し 本物のサーバー SMB・LDAP・ADCS ② 問題を渡す ③ 答えを返す ① ログイン開始 ④ 答えを転送 → 攻撃者が「被害者として」ログインできてしまう 防ぎ方:認証を「その通信」に結び付ける ・SMB 署名 を必須に(ファイルサーバー) ・LDAP 署名+チャネルバインディング(AD) ・HTTPS+EPA(Web・証明書サービス) ・LLMNR・NBT-NS を止める ・NTLM 自体を減らして Kerberos へ
攻撃 何をする 対策
NTLM リレー 攻撃者が中継役になり、被害者の PC に来た問題と答えを別のサーバーへ横流しして、被害者として入る。ファイルサーバー(SMB)、AD の LDAP、証明書サービスの Web 登録(ADCS)が狙われやすい SMB 署名を必須、LDAP 署名+チャネルバインディング(→LDAPとは)、Web は EPA と HTTPS
認証の強制(コアーション) PetitPotam・PrinterBug などで、DC やサーバー自身に攻撃者のところへ NTLM 認証させ、それをリレーする 不要な Print Spooler を DC で止める、上のリレー対策、パッチ
Pass-the-Hash PC から盗んだ NT ハッシュをそのまま使ってログインする。パスワードを知らなくてよい ローカル管理者のパスワードを PC ごとに変える(LAPS)、Credential Guard、管理者は Protected Users(NTLM を使わない)
答えの盗み聞き+総当たり 社内で LLMNR・NBT-NS の名前解決に偽の返事をして(Responder など)、NTLM の答えを集め、持ち帰ってパスワードを解く LLMNR・NBT-NS を止める、長いパスワード
NTLMv1・LM のダウングレード 弱い v1 で答えさせ、短時間で解く 「NTLMv2 応答のみ送信、LM と NTLM を拒否」(LmCompatibilityLevel=5)

Pass-the-Hash がやっかいな理由

NT ハッシュにはソルトがなく、パスワードを変えるまでずっと同じ値。しかも NTLM は「ハッシュを持っている=本人」と扱う。だから1台の PC で盗まれたハッシュで、同じパスワードのほかの PC にも入れる。ローカル管理者のパスワードを全台同じにしているのが、いちばん危ない。

質問:会社としてどう減らす? どう守る?

答え: いきなり止めると業務が止まるので、「監査 → 原因を直す → 例外を絞って制限」の順に進める。

手順 やること
① すぐやる LM・NTLMv1 を拒否(LmCompatibilityLevel=5)。SMB 署名・LDAP 署名を必須に。LLMNR・NBT-NS を止める。DC の Print Spooler を止める
② 監査する グループポリシーの「NTLM を制限する:NTLM 認証を監査する」を有効にする。DC のイベント 4776、各サーバーの 4624(認証パッケージ=NTLM)、Microsoft-Windows-NTLM/Operational のログで「誰が・どこへ」を調べる
③ 原因を直す IP 接続を名前に、SPN の登録、古い機器の更新。上の「切り替わる原因」の表を順につぶす
④ 制限する 「NTLM を制限する」で、例外のサーバーだけ許可して残りは拒否。管理者は Protected Users に入れて NTLM を使わせない
# 自分のログオンが Kerberos か NTLM か(セキュリティログ 4624 の「認証パッケージ」)
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624} -MaxEvents 50 |
  Where-Object { $_.Message -match 'NTLM' } | Select-Object TimeCreated, Message -First 5

# いま持っている Kerberos チケット(接続先のチケットがなければ NTLM が使われた可能性)
klist
  • Microsoft は NTLM を置き換えるため、IAKerb(DC に直接届かなくても Kerberos を使う)や ローカル KDC(ローカルアカウントでも Kerberos)を進めている。NTLM が要らなくなる場面は今後増える。

具体例

場面 確認すること
IIS・Kestrel の Windows 認証で、裏の SQL Server に入れない(ダブルホップ) NTLM になっていないか。SPN を登録して Kerberos+制約付き委任にする
監査で「NTLMv1 が使われている」と言われた イベント 4624 の「パッケージ名(NTLM のみ)」で v1 の相手を探し、設定を変えて v2 のみにする
\\IPアドレス\共有 を開くとパスワードを聞かれる 名前で開き直す。別ドメインのサーバーなら、そのドメインのアカウントで入る
複合機・NAS が AD 連携で NTLM を使っている 製品の更新と Kerberos・LDAPS 対応。だめなら例外として記録し、ネットワークを分ける
ペネトレーションテストで Responder に答えを取られた LLMNR・NBT-NS を止める。SMB 署名を必須にする
ADCS の Web 登録がある HTTPS+EPA を有効に、NTLM を無効に(リレーで証明書を取られる攻撃への対策)

関連メモ

確認したいこと

  • ドメインで NTLMv1・LM はもう拒否しているか(LmCompatibilityLevel)
  • SMB 署名・LDAP 署名・チャネルバインディングは必須になっているか
  • LLMNR・NBT-NS は止めているか
  • NTLM の監査を有効にして、どのサーバー・機器が NTLM を使っているか一覧にしたか
  • ローカル管理者のパスワードは PC ごとに違うか(LAPS)

参考資料