John Rasch Asked: 2009-06-26 11:07:46 +0800 CST2009-06-26 11:07:46 +0800 CST 2009-06-26 11:07:46 +0800 CST 如何执行 TCP 劫持? 772 我正在使用使用 Windows 身份验证的 ASP.NET 应用程序进行开发。我已将web.config文件设置为拒绝所有未经身份验证的用户,并且只允许来自特定角色的用户。 使用 Fiddler,我可以模糊我的会话 ID,重播请求,并且仍然得到200 OK响应......显然没有任何重新谈判。 我的印象是基于 NTLM 的身份验证的凭据与底层 TCP 连接相关联。首先,这是真的吗?这是真正的安全威胁吗?如果是这样,个人必须采取哪些步骤来劫持这样的连接才能冒充另一个用户的身份? security hacking asp.net ntlm hijack 2 个回答 Voted GregD 2009-06-26T11:14:18+08:002009-06-26T11:14:18+08:00 要回答您的最后一个问题,使用 Cain 进行 arp 中毒是一件相对容易且微不足道的事情。话虽如此,它确实需要两件事之一,即物理访问您的网络或无线访问您的网络。 一旦 arp 中毒并且 Cain 收集了足够的数据,NTLM 哈希就可以在 Cain 内部被破坏。当然,密码越强,需要的时间就越长。 Best Answer Evan Anderson 2009-06-26T11:15:20+08:002009-06-26T11:15:20+08:00 Internet Explorer 可以执行透明 NTLM 身份验证。我没有大量使用 Fiddler,我不知道它是否向您展示了对话的那一部分。我的猜测是您的浏览器正在透明地对您进行身份验证,但我不能肯定地说。 您可以尝试使用 Wireshark 等嗅探浏览器/服务器流量,看看是否发生了这种情况。客户端和 IIS 之间的 NTLM 身份验证是在 TCP 连接中带内完成的,而不是作为与 TCP 连接启动相关的某些带外过程的一部分。如果它在那里,你会看到它。 您没有看到 TCP 劫持。您要么看到透明身份验证的结果,要么您的应用程序实际上不需要身份验证。 直接谈 TCP 劫持(TCP 排序等):要劫持 TCP 连接,攻击者必须预测序列和确认号,并作为客户端伪造流量。通常,这最终会成为盲目攻击,因为来自服务器计算机的回复最终会返回到真正的客户端。(如果将 TCP 排序与 ARP 缓存中毒结合起来,则可能会发生双向劫持,但这通常会将攻击限制在与客户端或服务器位于同一子网的计算机上。)客户端之间实时连接的 TCP 排序除非攻击者破坏了客户端和服务器之间的阻塞点,否则 Internet 上的服务器和服务器是很困难的。 盲目的 TCP 排序攻击寻找连接以利用对协议的信任(Kevin Mitnick 攻击 Shimomura 的工作站以在其上放置 .rhosts 文件)是通过可猜测的初始序列号实现的,并且与直接劫持有点不同。 SSL、IPSEC 或其他加密隧道协议是阻止 TCP 劫持的朋友。通常,即使您使用非明文质询/响应系统(如 NTLM、NTLMv2 等)进行身份验证,TCP 连接仍然容易受到劫持。
要回答您的最后一个问题,使用 Cain 进行 arp 中毒是一件相对容易且微不足道的事情。话虽如此,它确实需要两件事之一,即物理访问您的网络或无线访问您的网络。
一旦 arp 中毒并且 Cain 收集了足够的数据,NTLM 哈希就可以在 Cain 内部被破坏。当然,密码越强,需要的时间就越长。
Internet Explorer 可以执行透明 NTLM 身份验证。我没有大量使用 Fiddler,我不知道它是否向您展示了对话的那一部分。我的猜测是您的浏览器正在透明地对您进行身份验证,但我不能肯定地说。
您可以尝试使用 Wireshark 等嗅探浏览器/服务器流量,看看是否发生了这种情况。客户端和 IIS 之间的 NTLM 身份验证是在 TCP 连接中带内完成的,而不是作为与 TCP 连接启动相关的某些带外过程的一部分。如果它在那里,你会看到它。
您没有看到 TCP 劫持。您要么看到透明身份验证的结果,要么您的应用程序实际上不需要身份验证。
直接谈 TCP 劫持(TCP 排序等):要劫持 TCP 连接,攻击者必须预测序列和确认号,并作为客户端伪造流量。通常,这最终会成为盲目攻击,因为来自服务器计算机的回复最终会返回到真正的客户端。(如果将 TCP 排序与 ARP 缓存中毒结合起来,则可能会发生双向劫持,但这通常会将攻击限制在与客户端或服务器位于同一子网的计算机上。)客户端之间实时连接的 TCP 排序除非攻击者破坏了客户端和服务器之间的阻塞点,否则 Internet 上的服务器和服务器是很困难的。
盲目的 TCP 排序攻击寻找连接以利用对协议的信任(Kevin Mitnick 攻击 Shimomura 的工作站以在其上放置 .rhosts 文件)是通过可猜测的初始序列号实现的,并且与直接劫持有点不同。
SSL、IPSEC 或其他加密隧道协议是阻止 TCP 劫持的朋友。通常,即使您使用非明文质询/响应系统(如 NTLM、NTLMv2 等)进行身份验证,TCP 连接仍然容易受到劫持。