写在前面的话
近期,我们对域名系统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协议来对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隧道技术应用到C2
C2是DNS隧道技术最常见的应用场景,同一个活动可以共享一些特性,例如将用于通信的域名服务器作为C2使用,或使用常见的隧道工具来实现编码解码等。
第一个例子针对的是金融领域某个组织的恶意活动,我们观察到了22个隧道域名跟同一目标用户之间的通信。
这些域名共享了7个域名服务器IP,并使用了相同的底层编码工具,攻击者甚至还申请了看似相同的安全/云供应商域名以尝试逃避检测。
这些域名包括:
panos[.]ltd
ciscocloud[.]space
ubrella[.]online
msft[.]center
mscd[.]store
awsl[.]site
我们在下表中列出了这些域及其示例查询、域名服务器域和域名服务器IP:
域名 | 查询样例 | 域名服务器 | 域名服务器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 | bram.ciscocloud[.]space | 34.92.43[.]140 |
ubrella[.]online | 8.d4fee8aa63e4ee6435452f86e84464168e96e314eb1a19c45e0e76f3ca71b2a.e9476062765ba0aeaeea97333805f09470ff3bd103e3ce8bd3ffefa3dfea90f.369cd352a204e9662db180407f1d1b8fa87be97c81d1.feign.ubrella[.]online | rumor.ubrella[.]online | 34.92.43[.]140 |
mscd[.]store | 4.a6gpmbnqbjewgwnqnlivwhleux4vnnyiuduyqgjkyn9jcihsttpdbdenf7lx8jx.jqhdulrejthsyipzvoleyvhv5s99nydtj5um8bzdmdms9gwdqnq46yis5hvbryo.dernuvjw7a6p6ndq4c8lwomsl7zq5lncgsutndxfpaufefhr7xxeuhfpk8hs.sny7htmpdpqdcumtgrmeptytbe9p78skry64.17328.fish.mscd[.]store | rug.mscd[.]store | 35.194.255[.]111 |
awsl[.]site | 1.758fcd0ac2301084ef82efb047050ff5e7d45b4cd636b46e4292b67acac5ab0.a1644dfde400b8d41e7b6ec37338c45d34a8e9ed81173e8dffdf57ebb3c9e30.9fc12877d608dfca610d50a121acbd30b2450391c13a.mud.awsl[.]site | lkas.awsl[.]site | 35.194.255[.]111 |
msft[.]center | 10.c5f310abb43603a3af324ee92bea16c8132ec2909fbca8d1036fe409d33af9b.c8c30e936bffb9f93bcba2c27682dcca1ab79aced6d1cf015a11d56a9c2f9f5.c49d8757a19b693d78d1772977cbf164e2748b57bb9f.ud.msft[.]center | 08e099da.msft[.]center | 34.81.65[.]4 |
我们的第二个例子是针对另一个金融行业客户的活动,我们发现三个隧道域名都指向着同一客户,并且使用了相同的底层隧道工具-Cobalt Strike,而Cobalt Strike的代表性特征包括使用常见前缀,例如www、post和api等。
这三个域名分别为identity-mgmt[.]com、internalsupport[.]info和cloud-enrollment[.]com,下面给出的是对应的查询样例、域名服务器和IP地址:
域名 | 查询样例 | 域名服务器 | 域名服务器IP |
cloud-enrollment[.]com | api.12abc2cb5.446f35fa.dns.cloud-enrollment[.]com | ns1.cloud-enrollment[.]com | 3.238.113[.]212 |
identity-mgmt[.]com | intact.md.180.02d8f18d2.7e8986be.int.identity-mgmt[.]com | ns1.cloud-enrollment[.]com | 3.238.113[.]212 |
internalsupport[.]info | icr.0325e18d8.16ae9fb2.pl.internalsupport[.]info | dn.internalsupport[.]info | 3.238.244[.]129 |
总结
现在,越来越多的网络团伙会将DNS隧道通信技术应用到各种各样的地方,包括C2服务器和V*N服务等等。因此,作为安全防御端人员来说,了解DNS隧道技术的在野利用情况就非常重要了,只有了解了DNS隧道通信的底层工具和相关活动,才能实现细粒度分析,从而做到安全事件的快速响应。
入侵威胁指标IoC
域名
panos[.]ltd
ciscocloud[.]space
ubrella[.]online
mscd[.]store
awsl[.]site
msft[.]center
cloud-enrollment[.]com
identity-mgmt[.]com
internalsupport[.]info
claudfront[.]net
allowlisted[.]net
hsdps[.]cc
rcsmf100[.]net
hammercdntech[.]com
IP地址
34.92.43[.]140
35.194.255[.]111
34.81.65[.]4
3.238.113[.]212
3.238.244[.]129
5.252.176[.]63
83.166.240[.]52
5.252.176[.]22
194.31.55[.]85
65.20.73[.]176
其他参考资料
https://unit42.paloaltonetworks.com/tag/dns-tunneling/
https://unit42.paloaltonetworks.com/solarstorm-supply-chain-attack-timeline/
https://unit42.paloaltonetworks.com/dns-tunneling-how-dns-can-be-abused-by-malicious-actors/
https://www.bamsoftware.com/software/dnstt/
https://unit42.paloaltonetworks.com/dns-tunneling-in-the-wild-overview-of-oilrigs-dns-tunneling/
https://unit42.paloaltonetworks.com/oilrig-novel-c2-channel-steganography/
参考来源
https://unit42.paloaltonetworks.com/dns-tunneling-in-the-wild/