2013-08-21 - 登 大遊@筑波大学大学院コンピュータサイエンス専攻の SoftEther VPN 日記(情報元のブックマーク数)

Path-The-Hash攻撃について、企業内のテンプレートパソコンの場合、どのパソコンにもLocalAdmin権限で入れちゃうぜ!って話・・・その通りだし、怖いというか、知らないことが怖い・・・

なぜ攻撃者は 1 台の PC の管理者パスワードのハッシュを手に入れただけで、他の PC に侵入できるのか。Windows は、パスワード文字列を Unicode 文字としてエンコードしたバイト列を MD4 でハッシュしてできた 128 ビットのハッシュ値を NTLM ハッシュとしてレジストリ (SAM データベース) に保存する。複数の PC で同一のパスワードを設定している場合、MD4 ハッシュの値は同一となる。UNIX のパスワードデータベースでは同一のパスワードを設定しても毎回生成されるソルトの値が異なるのでハッシュの値は異なる。しかし Windows は NT 時代からずっとソルトを使用していない。これはよく誤解されているように、開発当時、Microsoft 社がソルトの使用を思い付かなかった訳ではない。Windows のパススルー認証を実現するために、恒久的に保存されるパスワードハッシュにソルトを使用することが原理的に不可能であることが原因である。 なぜ Windows のパスワードはソルトなしで MD4 ハッシュ化した値をそのまま保存するのか。その理由は、ある 1 台の PC でログインしているユーザーが、ネットワーク経由で別の PC の共有フォルダに同一ユーザー名・同一パスワードでパスワードの再入力なしで接続できるようにするためである。この機能の実現のため、接続元の PC (クライアント) は、接続先の PC (サーバー) から、何らかの方法で認証される必要がある。NTLM 認証 (現在標準として使用されている NTLMv2 認証) は、チェレンジ・レスポンス方式である。チェレンジ・レスポンスというと、PPP で使用されている CHAP が有名である。PPP の CHAP はパスワードの平文をサーバーとクライアントの両方が知らなければならない。Windows では SAM にはパスワードのハッシュしか保存されておらず、復元可能なパスワードはどこにも保存されていない。そのため NTLMv2 認証のチェレンジ・レスポンスの際には、サーバーとクライアントと両方で既知の共通鍵として、パスワードの平文を使用することは不可能である。代わりに、パスワードの MD4 ハッシュが使用される。

2013-08-21 - 登 大遊@筑波大学大学院コンピュータサイエンス専攻の SoftEther VPN 日記

screenshot