我在家庭网络上的 Linux 机器上安装了一个本地 USB 驱动器。我安装了 samba,它共享该 USB 驱动器的一个目录,我可以使用为该用户设置的用户/密码从我的 Windows 机器连接到该共享。一切正常。
我关心的是这些凭证是如何从我的 Windows 机器传输到我的 Linux 机器的。我已经使用 Wireshark 捕获了 SMB 事务,并且没有在任何数据包中检测到我的凭证,但我对 SMB 协议的了解还不够,无法准确分析身份验证发生的位置。
有人能向我解释一下这种情况下凭证是如何传递的,以及我是否应该在网上看到它们吗?
谢谢
答案1
基础是CIFS/SMB 协议
除非你使用 Kerberos,否则该机制可能仍然NTLM:
- 用户访问客户端计算机并提供域名、用户名和密码。客户端计算密码的加密哈希值并丢弃实际密码。
- 客户端将用户名发送给服务器(明文形式)。
- 服务器生成一个 16 字节的随机数(称为质询或随机数),并将其发送给客户端。
- 客户端使用用户密码的哈希值加密该质询,并将结果返回给服务器。这称为响应。
ETC。