Windowsクライアントから、SMBのNegotiate Protocol Request(0x72)が送られてくると、
SambaはNegotiate Protocol Response(0x72)を返す。
このときにsecurity=userの場合、SMB headerのFlags2は0xc801となり、
Extended Security Negotiationフラグが設定される。
そして、レスポンスのデータの中にNTLMSSP認証用のデータが返される。
一方、security=shareの場合、SMB headerのFlags2は0xc001となり、
Extended Security Negotiationフラグが設定されない。
そのため、Winクライアント側は、続けてNTLMSSP認証用のデータ無しで、Session Setup Request(0x73)を送ってくる。
XPとVistaではこのときに送られてくるパケットの中身が異なっているため、Vistaの場合のみsecurity=shareだと認証がうまくいかないようだ。
XPもVistaも最終的に認証が成功するのは、NTLMv1の認証用パケットが送られてきたときの様子。
0 件のコメント:
コメントを投稿