漏洞简介:

该漏洞为DNS 放大攻击,是 DDoS 攻击,攻击者利用 DNS 服务器中的漏洞将小查询转换为可能破坏目标服务器的更大负载。

在 NXNSAttack 的情况下,远程攻击者可以通过向易受攻击的解析器发送 DNS 查询来放大网络流量,而要查询的权威域名服务器由攻击者所控制。攻击者的服务器响应虚假域名服务器名称(NS记录)指向受害者 DNS 域,导致解析器生成对受害者 DNS 服务器的查询。攻击可导致放大系数超过 1620。

DNS解析过程:

假设从浏览器访问www.mircrosoft.com,需要去得到它的ip地址。首先是查看自己的浏览器缓存,再查看存根解析器(OS内)的缓存,如果有转发器,还会去查看转发器的缓存,再去查看递归解析器的缓存。①递归解析器向根域名服务器发出查询。②根域名服务器作出NS 响应,告诉.com域 的顶级域名服务器。③递归解析器接着向.com顶级域名服务器发出查询。④DNS顶级域名服务器 进行NS记录的响应,告诉microsoft.com 的权威域名服务器的地址。⑤DNS解析器向 权威域名服务器发出查询,权威域名服务器,作出A记录的响应。

具体解析过程,可看博客之前DNS的相关内容。

攻击原理:

1.攻击者作为客户端,向解析器发出查询rand123.sub.attacker.com 的ip地址

2.解析器向攻击者控制的权威域名服务器发出查询。

3.攻击者控制权威域名服务器,应答好多个rand x.vitcim.com 假冒的ns记录,指向受害者的域名。

4.解析器根据返回的ns记录向受害者权威域名服务器做出查询。大大占用受害者的资源,形成放大攻击,可造成DDOS攻击。

复现代码:

poc:https://github.com/sischkg/nxnsattack

防御措施:

在流量设备侧对DNS响应包中对满足如下条件的包进行拦截

  • 含有大量的NS转发查询请求
  • 复数指向同一服务器的二级/多级子域名请求

不响应非信任服务器的 DNS 查询结果

  • 同传统的防护策略采用流量黑白名单进行
本文参考NXNSAttack: Recursive DNS Inefficiencies and Vulnerabilities这篇论文,具体可去查看这篇论文。

参考链接:

论文地址

NXNSAttack漏洞简析的更多相关文章

  1. NETGEAR 系列路由器命令执行漏洞简析

    NETGEAR 系列路由器命令执行漏洞简析 2016年12月7日,国外网站exploit-db上爆出一个关于NETGEAR R7000路由器的命令注入漏洞.一时间,各路人马开始忙碌起来.厂商忙于声明和 ...

  2. XXE漏洞简析

    0x00.什么是XXE? XML外部实体注入(XML External Entity Injection) XML基础 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型. ...

  3. CSV文件注入漏洞简析

    “对于网络安全来说,一切的外部输入均是不可信的”.但是CSV文件注入漏洞确时常被疏忽,究其原因,可能是因为我们脑海里的第一印象是把CSV文件当作了普通的文本文件,未能引起警惕. 一.漏洞定义 攻击者通 ...

  4. 简析.NET Core 以及与 .NET Framework的关系

    简析.NET Core 以及与 .NET Framework的关系 一 .NET 的 Framework 们 二 .NET Core的到来 1. Runtime 2. Unified BCL 3. W ...

  5. 简析 .NET Core 构成体系

    简析 .NET Core 构成体系 Roslyn 编译器 RyuJIT 编译器 CoreCLR & CoreRT CoreFX(.NET Core Libraries) .NET Core 代 ...

  6. RecycleView + CardView 控件简析

    今天使用了V7包加入的RecycleView 和 CardView,写篇简析. 先上效果图: 原理图: 这是RecycleView的工作原理: 1.LayoutManager用来处理RecycleVi ...

  7. Java Android 注解(Annotation) 及几个常用开源项目注解原理简析

    不少开源库(ButterKnife.Retrofit.ActiveAndroid等等)都用到了注解的方式来简化代码提高开发效率. 本文简单介绍下 Annotation 示例.概念及作用.分类.自定义. ...

  8. PHP的错误报错级别设置原理简析

    原理简析 摘录php.ini文件的默认配置(php5.4): ; Common Values: ; E_ALL (Show all errors, warnings and notices inclu ...

  9. Android 启动过程简析

    首先我们先来看android构架图: android系统是构建在linux系统上面的. 所以android设备启动经历3个过程. Boot Loader,Linux Kernel & Andr ...

随机推荐

  1. mysql order by 多样依照排序

    如果先按a排序升序,a相同时按b降序排序 则order by a,b desc

  2. mysql基本命令(增,查,改,删)

    from oldboy egon

  3. [bug] springboot 静态资源 layui.css 404

    目录结构 引用路径 <link rel="stylesheet" href="../static/layui/css/layui.css" type=&q ...

  4. Docker------阿里云部署私有镜像仓库

    Docker------阿里云部署私有镜像仓库   前言 公共镜像仓库 官方:https://hub.docker.com/ 基于各个软件开发或者软件提供方开发的 非官方:其它组织或公司开发的镜像,供 ...

  5. openshift 3.11 安装部署

    openshift 3.11 安装部署 openshift安装部署 1 环境准备(所有节点) openshift 版本 v3.11 1.1 机器环境 ip cpu mem hostname OSsys ...

  6. Linux工程师必备的88个监控工具

    Linux工程师必备的88个监控工具 https://learn-linux.readthedocs.io/zh_CN/latest/maintenance/monitor/tools/80-linu ...

  7. php-round()四舍六入

    今天被问到了四舍六入的问题,好吧,第一次听说.后来查询之后说是银行家算法用的 摘自PHP官方文档.http://php.net/manual/zh/function.round.php (PHP 4, ...

  8. Ansible_编写Playbook文件

    一.Playbook的实施 1.Ansible playbook与临时命令概述: 临时命令可以作为一次性命令对一组目标主机运行一项简单的任务 play是针对清单中选定的主机运行的一组有序任务.play ...

  9. OpenStack平台功能性测试工具Tempest安装

    社区对OpenStack平台功能性的测试工具采用Tempest,性能测试采用Rally. 1.什么是Tempest tempest├── api # API的测试集├── cli # OpenStac ...

  10. C# 技术体系简介

    C# 语言 .Net Framwork .NET Core winform界面编程 WPF开发经验,熟悉C/S架构产品开发及架构和设计 DevExpress界面框架(其实就是基于微软的 Winform ...