NAT滑流,绕过攻击可访问任何TCP / UDP服务

萨米·坎卡尔(Samy Kamkar) (著名的安全研究人员,以创建各种复杂的攻击设备而闻名,例如USB电话充电器上的按键记录程序) 引入了一种新的攻击技术,称为“ NAT滑移”。

攻击 在浏览器中打开页面时,允许与攻击者的服务器建立连接 到位于地址转换器后面的用户系统上的任何UDP或TCP端口。 Attack Toolkit在GitHub上发布。

方法 依靠愚弄ALG连接跟踪机制 地址转换器或防火墙中的(应用程序级网关),用于组织使用多个网络端口(一个用于数据,另一个用于控制)的协议的NAT转发,例如SIP。 H323,IRC DCC和FTP。

该攻击适用于连接到网络的用户 使用Intranet范围内的内部地址(192.168.xx,10.xxx),并允许将任何数据发送到任何端口(没有HTTP标头)。

为了发动进攻 受害者足以执行攻击者准备的JavaScript代码例如,通过打开攻击者网站上的页面或查看合法网站上的恶意广告。

在第一阶段, 攻击者获得有关用户内部地址的信息, 可以通过WebRTC来确定,如果禁用了WebRTC,则可以通过在请求隐藏图像时进行带有响应时间测量的暴力攻击来确定(对于现有主机,由于超时,在返回TCP之前,请求图像的尝试比不存在的图像的尝试要快) RST响应)。

在第二阶段,JavaScript代码 在受害者的浏览器中执行 生成一个大的HTTP POST请求 (不适合数据包)到攻击者的服务器,它使用非标准的网络端口号启动对受害者的TCP堆栈上的TCP碎片参数和MTU大小的调整。

作为回应, 攻击者的服务器返回带有MSS选项的TCP数据包 (最大段大小),它确定接收到的数据包的最大大小。 在UDP的情况下,操作类似,但是依赖于发送大型WebRTC TURN请求来触发IP级别的分段。

«通过利用时间攻击或WebRTC链接内部IP提取,自动远程IP和MTU的碎片发现,TCP,NAT滑流结合了内置在NAT,路由器和防火墙中的应用层网关(ALG)连接跟踪机制来利用用户浏览器数据包大小按摩,TURN身份验证的滥用,对数据包限制的精确控制以及浏览器滥用造成的协议混乱,” Kamkar在分析中说。

主要思想是 知道碎片参数,可以 发送一个大型HTTP请求,该队列的队列将落在第二个数据包上。 同时,选择进入第二个数据包的队列,以使其不包含HTTP标头,并在与完全支持NAT遍历的另一个协议完全对应的数据上剪切。

在第三阶段,使用上述操作,JavaScript代码将生成一个特殊选择的HTTP请求(或UDP的TURN)并将其发送到攻击者服务器的TCP端口5060,在将其分段后,它将分成两个数据包:带有HTTP标头和部分数据的数据包,以及带有受害者内部IP的有效SIP数据包。

跟踪连接系统 在网络堆栈上 将认为此数据包是SIP会话的开始 假设该端口用于数据传输,它将允许攻击者选择的任何端口进行数据包转发。

无论使用哪种浏览器,都可以进行攻击。 为了解决该问题,Mozilla开发人员建议阻止将HTTP请求发送到与SIP协议关联的网络端口5060和5061的功能。

Chromium,Blink和WebKit引擎的开发人员还计划实施类似的保护措施。

数据来源: https://samy.pl


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。