专栏首页信安之路本地DNS攻击原理与实例

本地DNS攻击原理与实例

本文作者: FINatiend ,本文加之前的文章《 TCP 会话劫持原理与测试》,完成两篇总奖励 20 元并且免费邀请加入知识星球

DNS 是计算机域名系统 ( Domain NameSystem 或 Domain Name Service ) 的缩写,它是由域名解析器和域名服务器组成的。

简单来说,当用户申请访问一个域名时,首先会向 DNS 服务器发送请求包询问该域名的 IP 地址,即 DNS 解析的过程。DNS 的 Cache 中,包含一系列缓存的域名和对应 IP ,当客户端访问的域名在 Cache 中已缓存,则直接返回该域名对应 IP ;若未缓存,则该服务器向其他与之最接近的 DNS 服务器发送查询请求。

由上可知,DNS 攻击的关键就在于伪造一个 IP 地址,返回给用户机。对于本地的 DNS 我们可以从两个方面进行攻击。

(1)监听到用户发送 DNS 解析请求后,在 DNS 返回 IP 之前包含伪造假的 IP 地址的包给用户

(2)利用 DNS 每次都会优先检查本地 Cache 的漏洞,修改 Cache 中指定域名的对应 IP 。

下面采用三台虚拟机进行演示

虚拟机配置:

Ubuntu DNS 服务器:192.168.150.136 ( 有关 bind9 的安装配置可自行百度 ) Ubuntu 客户机:192.168.150.137 Ubuntu 攻击机:192.168.150.138

攻击工具:

netwox

实验前配置:

在客户机上做如下配置:

sudo vim /etc/resolv.conf

添加一行:

nameserver 192.168.150.136

并在网络配置中进行如下修改以绑定 DNS 服务器保证实验顺利进行

实战演练

使用嗅探进行 DNS ID 欺骗

当攻击者和受害者处于同一本地局域网时,当一个用户在 web 浏览器键入一个网址,如 www.chase.com ,用户的机器将向 DNS 服务器发出一个 DNS 请求来解析主机名的 IP 地址。当监听到这个 DNS 请求,攻击者将编造一个假的 DNS 应答。一个假的 DNS 应答如果符合以下标准将会被用户机接受:

1、源 IP 地址必须与 DNS 请求被送往的 IP 地址相匹配

2、目的 IP 地址必须与 DNS 请求送来的 IP 地址相匹配;

3、源端口号( UDP 端口)必须与 DNS 请求被送达(通常是 53 号端口)的端口号相匹配;

4、目的端口号必须与 DNS 请求送来的端口号相匹配;

5、UDP 校验和的计算必须正确无误;

6、传输 ID 必须与 DNS 的传输 ID 相匹配;

7、答复询问部分的域名必须与请求询问部分的域名匹配;

8、答复部分的域名必须与 DNS 请求询问部分的域名匹配;

9、用户电脑必须在收到合法的 DNS 响应之前收到攻击者的 DNS 应答。

满足了 1 到 8 的条件,攻击者就可以嗅探到受害者发送的 DNS 请求信息,然后就可以创建 一个伪造的 DNS 响应,在真正的 DNS 服务器响应之前,发送给受害者。Netwag tool 105 工具提供了执行嗅探和响应的应用。首先在终端下输入 netwag 打开工具,然后进行如下配置:

该操作将 202.108.22.5 作为 www.example.com 的域名发送

该操作指定攻击主机 IP 地址:192.168.150.137

配置成功后点击右下角的 “ Run ” 按钮即可监听受害者机器向自己 DNS 服务器发送的数据包并发送自己伪造的 DNS 包,这样等一小段时间伪造包生成后再

nslookup www.example.com

发现此网站本来的 IP 地址已经改变成攻击者伪造的 IP ,表示 DNS 欺骗成功。

打开 http://www.example.com 发现此网站本来的 IP 地址已经改变成攻击者伪造的 IP ,表示 DNS 欺骗成功。

在用户机上

dig www.example.com

说明 IP 的重定向成功

DNS缓存投毒攻击

远程登录到 DNS 服务器上

获得 root 权限后输入以下指令清空缓存:

# sudo rndc flush # sudo rndc dumpdb -cache # sudo cat /var/cache/bind/dump.db

在 netwox 中将 IP 值改为目标 DNS 服务器的 IP 地址,并将模式更改为 raw

当用户发出 www.google.com 的域名解析请求后,DNS 服务器查询本地 Cahce 失败,便向服务器发送解析请求,这时攻击者便可嗅探到该请求包,构造虚假包发给 DNS 服务器。

用户机上:

ping www.google.com

说明攻击成功

总结

对于 DNS 攻击,一旦攻击成功将对用户的信息和财产安全造成巨大的损害,直接用 IP 访问重要的服务可以有效预防 DNS 攻击,但带来了巨大的不便。

本次实验在局域网内可进行监听的条件下进行了简单的 DNS 攻击,只需要用一个简答的工具攻击者便可达到巨大的效果,由此可见局域网的安全保证极其重要。

那么对于处于远程网络的主机,是否可进行 DNS 攻击呢,答案自然是可以的,但首先我们需要对 DNS 的返回包内容有一个深入的了解,请关注后文远程 DNS 攻击实例。^^

本文分享自微信公众号 - 信安之路(xazlsec),作者:FINatiend

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-11-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • DataCon 的 DNS 恶意流量检查一题回顾

    首先,第二题直接放弃了,算法对我来说很掉头发的,果断放弃了。毕竟现在不是答题时间了,下面的分析如有错误还请各位留言扶正,谢谢!

    信安之路
  • 利用DNS协议回显数据

    这个问题已经是去年提出的了,之前也看到过,在 CTF 题目环境中利用过却对原理不慎了解,在公司大佬们的帮助下成功了理解了一波原理。

    信安之路
  • 内网中间人的玩法

    在内网渗透测试中,我们可以欺骗攻击网络配置和服务。这种攻击方式主要针对ARP(地址解析协议)、DHCP(动态主机配置协议)和DNS服务器配置不当造成的安全隐患。...

    信安之路
  • Teamviewer显示“未就绪,请检查您的连接”解决办法

      打开TeamViewer一直提示“未就绪,请检查您的连接”,一直会弹出一个框提示检查网路设置什么。

    _一级菜鸟
  • 跟DNS相关的常见攻击类型有哪些?

    什么是DNS?DNS是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS自出现以来,一直被认为是最重要的互联...

    墨者盾
  • 美图App的移动端DNS优化实践:HTTPS请求耗时减小近半1、引言2、相关文章3、内容概述4、LocalDNS VS  HTTP DNS5、美图APP的DNS 优化策略探索5、美图APP无侵入的 S

    本文引用了颜向群发表于高可用架构公众号上的文章《聊聊HTTPS环境DNS优化:美图App请求耗时节约近半案例》的部分内容,感谢原作者。

    JackJiang
  • 最多输一次

    什么样的理念?什么样的规则?什么样的原则?志同道合者同流合污之,分道扬镳者。。。滚滚滚,如大浪涛涛的长江水。。。

    SRE运维实践
  • OpenStack应用Designate实现DNS服务

    一、DNS相关简介 DNS(Domain Name System)是Internet的重要组成部分,它的核心是为IP地址提供一个更易记住的名字。Internet...

    SDNLAB
  • 新一轮DNS钓鱼攻击已突破国内安全防线

    近日,据国内领先的DNS服务提供商114DNS官网微博消息称:新一轮DNS钓鱼攻击已经突破国内安全防线,可能已经导致数百万用户感染。随后,其他安...

    安恒信息
  • 运维老鸟阐述:沪江从DNS到httpdns的演进

    摘要 HttpDNS服务是一款可以有效解决域名劫持的方案,并且已在各家大厂广泛应用,现已成为一款相当成熟的产品,本次分享主要围绕沪江由DNS到HTTPDNS演进...

    IT大咖说

扫码关注云+社区

领取腾讯云代金券