漏洞简介:

该漏洞为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. svg web拓扑更新了,支持动态添加svg组件

    版本1.0请点此 预览地址 https://svg.yaolunmao.top 如何使用 # 克隆项目 git clone https://github.com/yaolunmao/vue-webto ...

  2. Pytorch_Part7_模型使用

    VisualPytorch beta发布了! 功能概述:通过可视化拖拽网络层方式搭建模型,可选择不同数据集.损失函数.优化器生成可运行pytorch代码 扩展功能:1. 模型搭建支持模块的嵌套:2. ...

  3. 偷梁换柱:使用mock.patch辅助python单元测试

    最近在搞软工项目的后端测试,重新复习了一下python的mock.patch,并用它简化了对一些复杂逻辑的测试,在此记录 问题描述 本组的项目比较特殊,设计对教务网站的模拟登陆与信息爬取,同时不少接口 ...

  4. Scanner, BufferedReader, InputStreamReader 与ACM模式输入

    Scanner, BufferedReader, InputStreamReader 与ACM模式输入html { -webkit-print-color-adjust: exact } * { bo ...

  5. [bug] Python Anoconda3 安装完成后开始菜单不显示

    版本问题,需更新 win+R打开cmd,敲入命令: conda update menuinst conda install -f console_shortcut ipython ipython-no ...

  6. sosreport -a --report

    sosreport -a --report 时间:2019-09-28 本文章向大家介绍sosreport -a --report,主要包括sosreport -a --report使用实例.应用技巧 ...

  7. OpenStack挂载ISO镜像解决

    OpenStack挂载ISO镜像解决 Summary 本次在OpenStack平台上进行,基于kvm,挂载iso镜像到OpenStack虚拟机中. 1.针对linux: 上传所需要挂载的iso镜像(必 ...

  8. Linux中级之ansible概念及hoc命令行调用模式

    一.Ansible简介 ansible是新出现的开源的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统 ...

  9. linux进阶之gitlab仓库搭建及免密使用

    一.Gitlab简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务. 可通过Web界面进行访问公开的或者私人项目.它拥有与Github类 ...

  10. 11.2 uptime:显示系统的运行时间及负载

    uptime命令可以输出当前系统时间.系统开机到现在的运行时间.目前有多少用户在线和系统平均负载等信息. [root@cs6 ~]# uptime   17:02:25 up 1:48, 3 user ...