什么是会话劫持?如何确保会话隐私

2021年7月13日

会话劫持

在登录和注销之间可能发生很多事情。

攻击者寻找他们可以未经授权访问您的帐户并利用您的数据的会话。您应该确保在安全的环境中验证登录详细信息,并保护自己免受会话劫持攻击。

你可以使用Web应用防火墙检测传入流量中的异常情况,并在其到来时阻止潜在的恶意流量。但是要修复强大的安全防御,必须详细了解会话劫持、会话劫持的类型以及攻击者可能用于渗透用户帐户的工具。

什么是会话劫持?

会话劫持,也称为cookie劫持,是在会话仍在进行时通过获取或生成会话ID来控制用户会话的过程。

攻击者可以使用跨站脚本(XSS),蛮力、逆向工程或各种其他方法来获得会话cookie,并未经授权访问用户帐户。

会话在您登录到web应用程序等服务时开始,在您退出时结束。超文本传输协议(HTTP)是一种无状态协议,这意味着它独立地承载每个请求,而不涉及任何先前的请求,要求用户每次查看网页时都要进行身份验证。为了避免每次都提示用户登录,服务器会分配一个会话ID,在认证后提供无缝的web体验。

攻击者试图窃取目标的会话ID或诱骗他们进入点击恶意链接这将把他们带到一个预制的会话,用于会话劫持攻击。一旦用户在服务器上进行了身份验证,威胁行为者就可以劫持会话并欺骗服务器,使其认为会话有效。

当攻击者以会话cookie为目标时,这与web应用程序会话劫持有关,而不是传输控制协议(TCP)会话劫持。TCP是一种用于IP之上的传输协议,以确保数据包的可靠传输。Web应用程序在成功验证后返回会话cookie,攻击者利用该cookie劫持会话。它与用户设备和服务器之间的TCP连接无关。

会话劫持方法

在执行会话劫持时,攻击者通常有几种方法可供选择。他们可以单独使用它们,也可以组合使用它们来接管用户帐户并进行恶意活动。

跨站点脚本编制

在一个跨站脚本(XSS)攻击,恶意黑客欺骗目标的计算机执行代码,伪装成属于服务器的可信代码。它允许攻击者获得cookie的副本来执行恶意操作。通常,web页面都嵌入了JavaScript。没有适当的保障措施应用程序安全工具,如果执行脚本,则会暴露用户的敏感信息。

如果服务器没有设置HTTPOnly属性,脚本可能会将它们暴露给攻击者。

恶意软件注入

一些恶意软件或者,木马程序会在用户不知情的情况下窃取浏览器cookie并执行恶意操作。例如,当用户访问恶意网站或点击未经请求的链接时,恶意软件会扫描网络流量,收集会话cookie,并将其发送给恶意分子。拥有本地存储权限的攻击者可以从浏览器的临时本地存储(cookie jar)中窃取会话密钥,或者他们可以获取服务器或用户计算机的文件或内存内容。

蛮力

攻击者可以执行蛮力攻击猜测用户的会话密钥。当应用程序使用顺序或可预测的会话密钥时,会使会话容易被劫持。在过去,这是首选的方法,但是在现代应用程序中,会话id很长并且是随机生成的,这对暴力攻击提供了强大的抵抗能力。

会话侧顶

会话侧顶,攻击者利用包嗅探来读取网络流量并窃取会话cookie。通常,网站在其身份验证页面中使用安全套接字层/传输层安全(SSL/TLS)加密。尽管如此,一些人在认证后并没有在站点范围内使用它,这使得攻击者能够拦截服务器和网页之间交换的数据。

一旦攻击者获得会话cookie,他们就可以劫持用户的会话来进行恶意操作。例如,针对连接到不安全WiFi的用户的恶意攻击者可以轻松读取其他节点和接入点之间共享的数据或流量。

会话固定

攻击者有时可以创建伪装的会话,并欺骗用户向易受攻击的服务器进行身份验证。例如,威胁行为者可以使用社会工程(网络钓鱼)或类似的方法,以说服用户点击链接,将他们带到具有已知会话cookie的精心制作的会话。一旦用户进行身份验证,攻击者就可以使用已知的会话密钥劫持用户的会话。

攻击者还可以欺骗用户完成预先构造的登录表单,其中包含隐藏的固定会话ID。

会话劫持攻击的级别

会话劫持攻击分为两个级别。这些攻击可以相互关联,因为对网络层的成功攻击将为攻击者提供信息,以便在应用程序级别上利用实际用户。

会话劫持的级别

传输层劫持

传输层劫持发生在TCP连接中,攻击者拦截web服务器和用户之间的数据交换,解除他们之间的通信通道设置。然后,恶意攻击者将伪装成合法数据包的恶意数据包发送到客户端和服务器,接管用户会话。

传输层劫持的一种常见方法是IP欺骗,攻击者使用伪造的IP地址伪装成受信任的IP地址与网络上的计算机通信。它们使用源路由IP包来拦截两个节点之间的主动通信。IP欺骗不适当地利用了TCP会话开始时的一次性身份验证。

应用层劫持

在应用层劫持中,攻击者在用户向其应用程序进行身份验证后窃取用户的会话ID。中间人攻击是应用层会话劫持的典型例子,其中劫持者拦截客户端和服务器之间的通信通道。

代理攻击也属于应用层劫持。攻击者将流量引导到具有预定义会话ID的代理服务器,以在这些攻击期间拦截通信。

3会话劫持的类型

会话劫持包括猜测或拦截现有会话中的会话cookie,或者欺骗用户在预制会话中进行身份验证。会话劫持攻击有三种类型。

1.活跃的

主动会话劫持,攻击者接管网络中的活动连接。它们可以使所有设备静音,并接管客户端和服务器之间的通信通道。然后,他们放弃了服务器和用户设备之间的从属关系。

攻击者可以通过几种方式中断客户机和服务器之间的通信。通常情况下,入侵者会发送大量流量来攻击有效会话,并导致会话中断拒绝服务(DoS)攻击。

2.被动

被动会话劫持与活动类似,只是攻击者监视客户机和服务器之间的通信。攻击者不会阻止实际用户进入会话,而是监督正在进行的通信交换。

被动攻击的主要动机是窃取交换的信息并将其用于恶意目的。

3.混合动力

混合会话劫持攻击都是主动和被动攻击的结合。在混合攻击中,攻击者监视网络流量,直到发现问题,然后接管会话并开始冒充合法用户。

混合攻击依赖于欺骗,并进一步分为以下类型:

  • 一个盲目欺骗攻击涉及攻击者在不中断会话的情况下针对受害者。他们捕获服务器和用户之间交换的数据包,并试图破解TCP数据包序列。
  • 一个非盲欺骗攻击包括监控服务器和用户之间的流量,以预测后续协议,从而预测其TCP序列范围。攻击者在应用程序级别接管会话,并使用可能被盗或可预测的会话令牌形成新的会话。

会话劫持、会话欺骗和会话重放

会话劫持和会话欺骗之间的主要区别是攻击的时机。

会话劫持、会话欺骗和会话重放

会话劫持一旦用户在应用程序中进行身份验证,就会进行攻击。该攻击可能导致应用程序出现延迟或异常行为。这是因为攻击者在您仍然登录时就利用了您的数据。如果应用程序经常崩溃,这可能表明发生了会话劫持攻击。

会话欺骗在美国,受害者并不知道这次袭击。攻击者可能使用窃取或伪造的会话id,并在不依赖用户执行身份验证的情况下冒充真正的用户。

会话回放有点不同。

会话重播在美国,攻击者已经拥有会话cookie(从会话劫持中收集的),他们可以随心所欲地使用它们。他们可能会诱骗受害者重新提交之前有效的请求,比如购买多个数量的物品,而他们最初只要求购买一个单位。

会话劫持工具

有几种工具可以帮助攻击者进行会话劫持攻击。你可以在渗透测试检查您的系统和应用程序是否防攻击。

以下是一些用于执行攻击的流行会话劫持工具。

*这些工具只能用于道德目的,以测试和加强对抗会话劫持的系统。

仓鼠和雪貂

Hamster就像一个代理服务器,操纵Ferret收集的数据,Ferret捕捉通过网络的会话cookie。

这里有一个仓鼠用法的例子卡莉的工具

root@kali: ~ #仓鼠

HAMPSTER 2.0侧顶工具

设置浏览器使用代理http://127.0.0.1:1234

调试:set_ports_option (1234)

调试:mg_open_listening_port (1234)

代理:监听127.0.0.1:1234

线程开始

T-Sight

T-Sight最初是作为运行在Windows平台上的网络监控工具开发的。然而,在监视网络时,可以劫持会话,因为网络上的所有通信都是实时复制的,从而提供精确的数据传输输出。因此,T-Sight的开发商Engrade现在只向预先确定的IP地址提供软件许可。

强大的破坏力

强大的破坏力是一种网络嗅探工具,可被恶意用于进行会话劫持攻击。可以配置Juggernaut来监视所有网络流量局域网(LAN)或者监听一个特定的会话令牌。它可以被设置为在受害者尝试登录后记录网络流量。

Juggernaut不同于常规的网络嗅探器,后者将所有网络流量记录在巨大的日志文件中。Juggernaut维护一个连接数据库,允许攻击者监视所有基于tcp的连接,甚至劫持会话。会话劫持工具还提供了内置的数据包组装功能。攻击者使用此功能对数据包进行分片,以逃避入侵检测系统和防火墙。

下面是一个在Linux命令行中运行Juggernaut的例子:

主宰?)帮助0)程序信息1)连接数据库2)监视连接3)重置连接4)自动连接重置守护进程5)单纯连接劫持6)交互式连接劫持7)包组装模块8)Souper secret选项数字8)退出

  • 连接数据库显示活动连接。
  • 监视连接允许您通过开放的通信通道监视网络流量,并提供存储日志的选项。
  • 重置连接通过向源发送RST报文关闭会话。
  • 自动连接重置守护进程允许配置基于主机的IP地址和当主机试图建立会话时发送到源的RST报文。
  • 单工连接劫持允许您向目标输入单个命令。攻击者使用它来防止被发现。
  • 交互式连接劫持允许你进行一个完整的会话劫持,并创建一个大的ACK风暴。
  • 分组组装模块允许您创建自己的包。
  • 苏珀秘密选项八没有功能。
  • 下台允许您退出程序。

这些是攻击者用来进行会话劫持攻击的一些工具。

您需要加强您的网络和系统,以对抗类似的工具,如Hunt, ty - watcher, IP-Watcher, 1164, Wireshark, SSHMITM, Hjksuite, C2MYAZZ,攻击者使用这些工具来利用用户会话。

如何防止会话劫持

会话劫持可能会给组织带来可怕的后果,包括财务损失和在行业中建立良好声誉和提供忠实服务后遭受的声誉损失。

企业需要制定战略安全措施,以避免成为会话劫持攻击的目标。这些措施包括:

  • 加密网页上的所有数据传输
  • 对网页进行HTTPS (Hypertext Transfer Protocol Secure)认证
  • 定期更新和修补浏览器
  • 采用网络安全工具DDoS防护软件而且欺骗技术
  • 小心地登录和退出每个会话
  • 合并web框架,而不是创建内部会话管理系统
  • 认证后重新生成会话密钥,防止黑客利用登录时生成的会话ID
  • 加强身份验证,包括额外的检查,如验证用户的常用IP地址或应用程序使用趋势
  • 只使用安全的无线网络,避免使用任何公共WiFi
  • 掩码您的IP地址使用VPN (virtual private network)软件保护好你的会话

站点范围内的HTTPS可以说是最重要的预防机制。如果你担心性能问题,你可以在网站的登录页面和其他敏感区域实现SSL。另一个重要的预防措施是加密存储在会话cookie中的会话值。

保护你的会话

会话劫持可能很麻烦。积极主动地设置适当的防御机制,以保护自己免受会话劫持攻击,并保护您的帐户和数据。

随着黑客不断开发新方法来破解组织的防御边界,确保100%的安全可能会变得更加棘手。

了解更多事件响应当攻击者获取您的帐户或数据时,您如何管理网络事件。

Web应用防火墙软件
发现传入流量中的异常

使用web应用防火墙软件来阻止潜在的恶意流量。

Web应用防火墙软件
发现传入流量中的异常

使用web应用防火墙软件来阻止潜在的恶意流量。

不要错过任何一篇文章。

订阅,让你的手指紧盯科技脉搏。

提交此表格,即表示您同意接收来自G2的营销通讯。
Baidu
map