DNS(域名系统)是IP地址解释服务的主机名。它是用于用户和服务器之间的消息交换的应用程序层协议。每个主机都可以通过IP地址识别,但是个人很难召回号码,此外,随后IP地址也不是静态的。因此,利用DNS将站点的域名转换为数字IP地址。
什么是DNS隧道?
DNS隧道是一种针对数字漏洞利用的策略,可对DNS查询和响应中不同程序或协议的信息进行编码。 DNS隧道通常包含信息有效载荷,这些信息有效载荷可以添加到被利用的域名服务器中,并用于控制远程系统和应用程序。通常,DNS隧道要求被破坏的框架具有外部组织的可用性,因为DNS隧道希望接纳具有网络访问权限的内部DNS服务器。黑客同样应该控制一个可以充当权威服务器的系统,以执行服务器端隧道和信息有效负载可执行程序。
为什么DNS隧道出现问题?
DNS最初是用于名称解析而不是用于数据交换的,因此通常不将其视为信息和数据泄露危险的恶性交流。由于DNS是根深蒂固的保密协议,因此攻击者意识到组织很少调查DNS数据包是否有恶意移动。 DNS的考虑较少,大多数组织将资产集中在破坏他们认为经常发生的攻击的Web或电子邮件流量上。通常,需要进行常量端点检查才能发现和阻止DNS隧道。此外,隧道应用程序捆绑已成为一个行业,并且无法在Internet上进行不可控制的访问,因此黑客通常不需要专门的技术来执行DNS隧道攻击。
- DNS隧道利用可为攻击者提供一致可访问的反向通道,以窃取所获取的信息。依靠利用DNS作为隐蔽的通信渠道来避开防火墙。
- 黑客通过SSH或HTTP和DNS传输各种类型的协议,这时会秘密传递被盗信息或IP流量。
- DNS隧道可用作已被利用的内部主机的完整控制器通道。这使黑客可以秘密地将记录移出组织,将新代码下载到现有的恶意软件中,或者完全移入服务器,等等。
- DNS隧道同样可以用来绕过强制门户,从而避免为Wi-Fi服务付费。
- DNS隧道利用DNS协议通过客户端-服务器模型来隧道恶意软件和其他信息。
DNS隧道如何工作?
- 黑客注册了一个域,例如hello.com。该域名服务器侧重于引入隧道恶意软件程序的攻击者系统。黑客利用经常位于组织防火墙后面的PC感染恶意软件。
- 由于始终允许DNS要求遍历整个防火墙,因此允许受攻击的PC向DNS解析器发送查询。 DNS解析器是将IP地址需求转移到根域服务器和高级域服务器的服务器。
- DNS解析器将查询引导到攻击者的命令服务器,在该服务器中引入隧道程序。当前,已经通过DNS解析器在被攻击者和黑客之间建立了连接。
- 此段落可用于窃取信息或用于其他有害目的。由于受害者与黑客之间没有直接连接,因此很难跟踪黑客的PC。
DNS对所有组织都是必不可少的。可悲的是,阻止基于DNS的危险是一项重大考验,网络犯罪分子正利用其不可避免的,但并非完全显而易见的可利用表面来获取其潜在利益。
根据研究,超过80%的恶意软件利用DNS来区分命令和控制(C2)服务器以获取信息并传播恶意软件。首先,攻击者正在扩大对域生成算法(DGA)的利用,以使其更加难以区分和阻止这些危险。然后,安全组织感到压力,要求针对大量新的恶意域名授权进行可预测的保险,并且仍处于DNS隧道之类的前沿策略的前面。
常见滥用案例
- 信息泄露:攻击者通过DNS窃取精致的信息。绝对不是从伤员的PC上获取信息的最熟练的方法,尽管它具有所有额外的开销和编码,但是它仍然可以工作。
- 命令与控制(C2):黑客利用DNS约定将基本命令发送到远程访问木马(RAT)。
- IP上DNS隧道:有些实用程序已经在DNS查询响应约定上实现了IP堆栈。这通常会使使用FTP,Netcat,ssh等标准通信程序移动信息变得简单。
检测DNS隧道
- 有效负载分析:在这种情况下,网络安全专家对来回发送的奇异信息感到不解:奇怪的主机名,不经常使用的DNS记录类型以及可以通过事实策略发现的非常规字符集。此技术可以帮助我们检测某些DNS隧道实用程序。
- 流量分析:保护者正在哄骗对DNS的请求数量,并将其与正常使用进行对比。执行DNS隧道的攻击者将向DNS分配特别重的流量。原则上,比普通的DNS通信更值得关注。此策略会搜索有助于检测过程的某些特定属性,例如“否”。每个域的主机名,地理位置,域的历史记录等
- DNS监视实用程序:还有一些实用程序可用于监视DNS,例如dnsHunter,重组dns等。
通用DNS隧道工具包
- 碘:通过这一点,可以轻松地通过DNS服务器传送IPv4信息。它在每个客户上建立组织界面,并将他们联系在一起,就好像他们拥有类似的组织一样。 Iodine对此元素很感兴趣,因为不同的DNS隧道工具围绕隧道显式端口而不是整个IPv4流量。这允许PC相互ping通,控制所有UDP / TCP端口以及IP标头所体现的所有不同约定。该工具是Kali OS的内置案例,但在其他情况下,可以使用TUN / TAP设备配置客户端和服务器。该工具的功能包括自我优化,高性能,可移植性,身份验证。但是也存在一些问题,包括仅隧道传输IPv4流量,不加密隧道数据,驱动程序要求。
- DNSCat2:此工具包分为两部分,即客户端和服务器。服务器使用C语言编程,而客户端使用Ruby。该服务器范围广泛,可以支持来自众多客户的关联,这使其成为必不可少的C&C工作者。它应该先运行,然后再运行任何客户。它的一些功能包括加密,类似于Metasploit的会话以及用于TCP转发的隧道等。但是,我们使用该工具包可能遇到的问题包括性能低下,会话受限,隧道限制。
- Heyoka:这是一种常用于渗透的工具,它支持不信任的DNS查询,以创建双向连接。此工具不再受到动态改进,并且正如其创建者所指出的那样,它比其他可用工具包快60%。该工具通常可以通过防火墙进行识别,并发现要进行隧道传输的计算机更加困难。因此,它现在仅适用于Windows。它的某些功能包括独立于解释器或编译器的高性能,复杂的攻击。但是,我们可能会遇到的问题包括不稳定,仅在Windows OS上可执行,没有加密等。
- 还有更多可用的功能,例如OzymanDNS等。
DNS隧道注意事项
- 始终使用可以轻松区分预配置工具包和不同方法的工具
- 抵制站以信息泄露而闻名
- 合并搜索DNS隧道的DNS防火墙
- 进行自动监控,这可以通过使用实时分析来完成
- 最好,DNS保护应通过独立的解决方案来完成
- 使这些工具可以轻松检测各种恶意查询并有效终止它们,以发挥作用。
结论
DNS不是可用于隧道传输的主要协议。例如,命令与控制(C2)恶意软件经常使用HTTP作为隐藏对应关系的方法。类似地,与DNS隧道一样,攻击者也将其信息笼罩起来,但是在这种情况下,浏览器流量似乎已到达遥远的站点(受黑客的限制)。它可以在监视监视的雷达下进行通信,而监视监视对于出于不正当目的滥用HTTP的危险并不敏感。
在这一点上,防火墙还不足以隔离内部网络并保护其安全,因为DNS隧道已被证明是黑客用来欺骗组织并逃脱攻击的最创新策略之一。例如,Heyoka的隐蔽性组件表明,从防火墙的角度来看无法检测到的东西,从端点的角度来看显然是恶意的。为了对抗DNS隧道,权重已经从组织转移到了端点。安全专家和卖方必须分析端点处的逼近流量和活动流量,以识别和阻止这些攻击。