写在前面的话近期 , 我们对域名系统DNS隧道技术在野的使用情况和使用方式进行了深入分析 。攻击者可以使用DNS隧道技术来绕过组织网络环境中的各种安全策略,因为大多数组织对DNS流量所实施的管理策略相对宽松 。之前的研究也表明,SUNBURST和OilRig之类的恶意软件活动正是利用DNS隧道技术实现了远程命令和控制(C2) 。
但是,攻击者具体在野是如何利用DNS隧道技术的,很多细节我们还不得而知 。比如说 , 他们只是为了实现C2才使用DNS隧道技术的吗?他们是如何实现和托管这些技术的?我们是否可以通过捕捉和监控DNS隧道流量来监控恶意活动?
在这篇文章中 , 我们将对攻击者在野利用DNS隧道通信技术的多个方面进行详细分析和介绍 。
DNS隧道基础DNS隧道是什么DNS隧道是一种在DNS查询和响应中对非DNS程序和协议的数据进行编码的技术,这将允许各种类型的通信流量可以通过DNS协议来进行转发,其中包括文件传输、C2和Web流量等 。
为什么要执行DNS隧道DNS通常使用UDP端口53,该端口通常在客户端、系统、服务器和防火墙上都是打开的,以支持传输DNS查询 。而DNS则是互联网的基本组成部分,它为许多应用程序提供服务 , 从网络浏览和电子邮件服务,到主机自动发现、负载均衡、安全审查和监控服务等,都需要使用到DNS 。
【深入理解实践场景下的DNS隧道通信】由于其关键性,大多数组织对DNS流量实施的安全管理策略都相对宽松,这也导致很多攻击者选择利用DNS协议来对C2通信流量进行隧道传输并检索恶意软件的Payload 。
很多恶意软件攻击活动,比如说SUNBURST、OilRig、xHunt和DarkHydrus都采用了DNS隧道技术 。DNS流量的允许策略允许攻击者访问互联网,而大量的良性DNS流量成为攻击者隐藏足迹的天然伪装 。
如何执行DNS隧道技术执行DNS隧道需要两个主要组件:客户端和服务器 。客户端将DNS数据包发送到互联网 , 通过DNS查询对内容进行编码,并从DNS响应中解码内容 。服务器接收来自递归解析器的DNS查询,解码来自DNS查询的内容,并将内容编码为DNS响应 。
下图为DNS隧道的执行流程:
文章插图
在上图中,客户端首先会将敏感数据值编码为子域$secret,并将其以DNS查询请求的形式发送给$secret.badsite[.]com 。接下来,解析程序迭代查询不同域级别的名称服务器 , 直到得到有效响应 。同样的,服务器组件(域名服务器)也可以将恶意Payload编码为子域$payload,并向$secret.badsite[.]com发送DNS响应(CNAME $payload.bs[.]com) 。
我们通常会使用编码算法对数据进行编码和分段,而不是发送原始数据 。实际上,任何人都可以想出一种算法来实现数据的碎片化 。
而且也有很多现成的开源DNS隧道工具,例如iodine、DNSStager、dnscat2、sliver和Cobalt Strike等 。这些工具支持将通用消息编码为DNS查询的子域和各种类型的DNS响应,如A(IPv4地址)、AAAA(IPv6地址)、TXT、CNAME和MX 。
将DNS隧道技术应用到C2C2是DNS隧道技术最常见的应用场景,同一个活动可以共享一些特性,例如将用于通信的域名服务器作为C2使用,或使用常见的隧道工具来实现编码解码等 。
第一个例子针对的是金融领域某个组织的恶意活动,我们观察到了22个隧道域名跟同一目标用户之间的通信 。
这些域名共享了7个域名服务器IP,并使用了相同的底层编码工具,攻击者甚至还申请了看似相同的安全/云供应商域名以尝试逃避检测 。
这些域名包括:
panos[.]ltd我们在下表中列出了这些域及其示例查询、域名服务器域和域名服务器IP:
ciscocloud[.]space
ubrella[.]online
msft[.]center
mscd[.]store
awsl[.]site
查询样例
域名服务器
域名服务器IP
panos[.]ltd
10.eff89fcf44a13186ad3765f35860ce19c722c4bcda6bbbae6b7bab6025b36d0.d036b5a3fd8b67e55ee35feff7d014fdb8d32afe93d5d6f05f1dda3a096e8fa.2e10d53e935549b3a081982724c3e6f806.oak.panos[.]ltd
bur.panos[.]ltd
34.92.43[.]140
ciscocloud[.]space
10.a6674ae5d37cab7263074adef14925ef28698896b8491276097a470beca325a.669f12d4b31e9a6707ce2ee5b595cb723f40ea6d8e5f406b8fba874c8bec632.3299de58f43c3e4be80a7d7db2a2ed5aee9e13bac9cb.habit.ciscocloud[.]space
推荐阅读
- 教您彻底理解索引的最左匹配原则!
- 餐桌摆放不好可是会影响一家人的运势 餐桌摆放不好可是会影响一家人的运势说法的理解
- 开发微服务的九个最佳实践
- 生命的意义的理解和看法 生命的意义是什么谈谈各自的看法
- 如何理解科学思维 怎样认识科学思维
- 如何理解物以稀为贵,物以稀为贵是什么意思
- 手机卡顿怎么处理解决方法,手机很卡怎么办如何解决方法
- 深入解析NPOI库:掌握如何在.NET应用中灵活读取和修改Excel文件
- iOS 屏幕旋转的实践解析
- 如何认识“阴阳学说”,如何理解阴阳学说的基本慨念举例说明