Cyber Security Academy · レッスン

Windows認証:NTLMとKerberos

NTLMのチャレンジレスポンスとKerberosのチケット発行の仕組みを理解します。

レッスン 1/413 ステップ

「Windows認証:NTLMとKerberos」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。

Windows認証の概要

Windowsでは、主に2つの認証プロトコルが使われます。NTLM(古いチャレンジレスポンス方式)とKerberos(最新のチケットベース方式)です。Active Directoryの攻撃と防御には、両方を理解することが不可欠です。

NTLMチャレンジレスポンス

NTLMは、Negotiate、Challenge、Authenticateの3つのメッセージで動作します。クライアントは、ユーザーのパスワードをサーバーのランダムなチャレンジと組み合わせてハッシュ化します。送信されるのはハッシュであり、平文パスワードではありません。

# NTLM flow:
# 1. Client sends: NEGOTIATE
# 2. Server sends: CHALLENGE (8-byte nonce)
# 3. Client sends: NT hash of (password + nonce)
#
# The NT hash = MD4(UTF-16LE(password))

Pass-the-Hash攻撃の手法

NTLMはハッシュで認証するため、ハッシュを盗めば平文パスワードを知らなくても認証できます。これがPass-the-Hash攻撃の核心です。ハッシュ自体が認証情報なのです。

Kerberosの概要

Kerberosは、信頼された第三者であるKDC(Key Distribution Center)を使ってチケットを発行します。相互認証を提供し、最初にTGTを発行した後は、ネットワーク経由で認証情報を送信する必要がありません。

# Kerberos components:
# KDC: Key Distribution Center (domain controller)
# AS: Authentication Service (issues TGTs)
# TGS: Ticket Granting Service (issues service tickets)
# TGT: Ticket Granting Ticket (proves identity)
# ST: Service Ticket (grants access to a service)

Kerberos認証フロー

1. クライアントは、パスワードハッシュで暗号化したAS-REQをASに送信します。2. ASは、krbtgtキーで暗号化したTGTを返します。3. クライアントはTGTをTGSに提示し、サービスチケットを要求します。4. クライアントはサービスチケットを対象サービスに提示します。

Kerberosの主要なチケット

TGT(Ticket Granting Ticket):KDCに対して身元を証明するチケットで、有効期間は約10時間です。サービスチケット:特定のサービスへのアクセスを許可します。どちらも、クライアントが読み取れない鍵で暗号化されます。

# View tickets on Windows:
klist

# View on Linux (with Kerberos client)
klist -v

# Request a TGT:
kinit username@DOMAIN.COM

NTLMとKerberos:セキュリティ比較

Kerberosが推奨されます。相互認証に対応し、平文での送信を避け、リレー攻撃にも強いためです。Kerberosが利用できない場合(IPアドレスでのアクセスや、ドメインに参加していないホストなど)はNTLMにフォールバックします。攻撃者はNTLMへのフォールバックを強制し、ハッシュを取得しようとします。

NTLMリレー攻撃

NTLMリレーは、NTLM認証の試行を傍受して別のサービスに中継し、被害者のパスワードを知らずに被害者として認証する攻撃です。Responderが取得し、ntlmrelayxが中継します。

# Capture NTLM hashes with Responder
responder -I eth0 -rdwv

# Relay with ntlmrelayx
ntlmrelayx.py -tf targets.txt -smb2support

Kerberos事前認証

事前認証では、TGTを受け取る前に、クライアントがパスワードハッシュでタイムスタンプを暗号化する必要があります。事前認証が必須でないアカウントはAS-REP Roastingに対して脆弱です。TGTを要求してオフラインでクラックできるためです。

Golden TicketとSilver Ticket

Golden ticket:krbtgtハッシュで署名された偽造TGTで、あらゆるリソースへのアクセスを許可します。Silver ticket:特定のサービス用に偽造されたサービスチケットで、より発見されにくく、KDCに接続する必要がありません。

Windows認証の強化

可能な限りNTLMを無効化し、リレー攻撃を防ぐためにSMB署名を強制し、すべてのアカウントで事前認証を必須にします。また、通常とは異なるチケット要求(イベントID 4768、4769)を監視し、krbtgtアカウントを保護します。

クイックチェック

KerberosのTGTによって何が可能になりますか?

まとめ:NTLMとKerberos

NTLMはハッシュを使ったチャレンジレスポンス方式で認証するため、リレー攻撃やPass-the-Hashに対して脆弱です。Kerberosは、信頼されたKDCが発行するチケットを使用するため、より強固ですが、KDCが侵害されるとKerberoasting、AS-REP Roasting、Golden Ticket攻撃やSilver Ticket攻撃に対して脆弱になります。Active Directoryの攻撃経路を理解し、対象を絞った強化策を適用するには、両方のプロトコルを把握する必要があります。

無料で開始

AI チューターと学ぶ Cyber Security Academy — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
76
レッスン
303

よくある質問

「Windows認証:NTLMとKerberos」レッスンは無料ですか?

はい。「Windows認証:NTLMとKerberos」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。

「Windows認証:NTLMとKerberos」で何を学びますか?

NTLMのチャレンジレスポンスとKerberosのチケット発行の仕組みを理解します。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cyber Security Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「Windows認証:NTLMとKerberos」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCyber Security Academyレッスンでコードを書いて実行できますか?

はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Windows認証:NTLMとKerberos
  2. Pass-the-HashとPass-the-Ticket攻撃
  3. KerberoastingとAS-REP Roasting
  4. Active Directoryの強化
← Cyber Security Academyに戻る