LoginSignup
0
0

5分で完全に理解するKerberos認証

Last updated at Posted at 2023-12-06

~この記事はかろ噴水・ゆるゆる Advent Calendar 2023 に参加しています~
https://adventar.org/calendars/9062

はじめに

この記事は「ケルベロス認証の名前は知っているけれど、仕組みはよくわからない」という人向けの記事です。
身近な例を使って仕組みを解説をします。具体的には、スーパー銭湯の例を使います。

厳密な解説は既に多数あるので、後述の参照も見てみてください。

Kerberos認証とは

オンプレミスのActive Directroyで用いられる認証です。(Azure ADとは別物です)
一度ログインすれば、次回以降はIDとパスワードの入力なしでログインし、サービスを利用できるようになります。

Kerberos認証のイメージ

認証フローを図解すると以下のようになります。
複雑で読み込むのには時間がかかるので、Kerberos認証っぽい別のイメージを流用して理解した方が早いです。

image.png
https://learn.microsoft.com/ja-jp/troubleshoot/windows-server/windows-security/kerberos-authentication-troubleshooting-guidance

Kerberos認証っぽいもの

突然ですが、スーパー銭湯の認証はKerberos認証によく似ています。

Kerberos認証

一度ログインすれば、次回以降はIDとパスワードの入力なしでログインし、サービスを利用できるようになります。

スーパー銭湯の認証

一度入館時に身分証や会員証を提示すれば、以降は提示無しで岩盤浴やマッサージなどのサービスを利用できます。

スーパー銭湯の認証のイメージ

スーパー銭湯で岩盤浴などを利用する時の認証フローを書きました。

image.png

Kerberos認証との対比

Kerberos認証では、一度PCログイン時にパスワードを入力すると、端末内にTGTチケットが保存されログイン済みであることが記録されます。
その後、IIS/メールサーバ/ファイルサーバ などのサービスを使う際には端末内のTGTをADに見せると、ADはサービスを利用するためのそれぞれのTGSチケットを引き渡します。
ただし、ユーザがサービス利用権限を持っていない場合は無効なTGSチケットを引き渡します。

スーパー銭湯の認証では、一度入館すると腕輪や入館券が渡されて、入館手続き済であることが記録されます。
その後、岩盤浴などを利用する際は別途チケットをもらいます。

まとめ

Kerberos認証ではユーザにTGTチケットとTGSチケットを渡します。
TGTチケットはパスワード入力が必要です。
TGSチケットはTGTチケットをADに見せる(自動)だけでよいのでパスワード入力不要です。
IIS/メールサーバ/ファイルサーバ などの各サービス毎にTGSが引き渡されます。

おまけ

AS-REP Roasting攻撃

一般ユーザとは異なる、サービス管理アカウントなどに対しては、パスワードなし(つまりユーザ名のみ)でTGTチケットを引き渡す運用にしているケースがあります。
それを利用し、TGTを入手する攻撃をAS-REP Roasting攻撃と呼びます。

これはスーパー銭湯で例えると、「清掃員は顔パスで入館チケットを与える」ようなイメージです。
「清掃員です」と名乗ったらスーパー銭湯に入館できるようなものです。

Kerberoasting攻撃

ポイントは2つあります。

ポイント1

ユーザがADにTGSチケットを要求した際に、ユーザがサービス利用権限を持っていない場合は無効なTGSチケットを引き渡します。
無効ですが、TGSチケットはもらえるというのがポイントです。

ポイント2

TGSチケットには無効/有効のステータスやタイムスタンプなどの情報が含まれており、当然暗号化されています。
更に、暗号化の仕様上、サービス管理アカウントのパスワードハッシュがTGSには含まれます。

攻撃フロー

ポイント1・2を組み合わせると以下の攻撃フローが考えられらます。

  1. TGTを入手する
  2. TGSを入手する(無効でもよい)
  3. TGSの中のサービス管理アカウントのパスワードハッシュを解析しパスワードを入手する
  4. サービス管理アカウントのユーザ名・パスワードを利用してログインする

参照

https://learn.microsoft.com/ja-jp/windows-server/security/kerberos/kerberos-authentication-overview
https://qiita.com/sathis/items/42ba8157537becdb9788
https://wa3.i-3-i.info/word15908.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0