深入理解實(shí)踐場景下的DNS隧道通信
寫在前面的話
近期,我們對(duì)域名系統(tǒng)DNS隧道技術(shù)在野的使用情況和使用方式進(jìn)行了深入分析。攻擊者可以使用DNS隧道技術(shù)來繞過組織網(wǎng)絡(luò)環(huán)境中的各種安全策略,因?yàn)榇蠖鄶?shù)組織對(duì)DNS流量所實(shí)施的管理策略相對(duì)寬松。之前的研究也表明,SUNBURST和OilRig之類的惡意軟件活動(dòng)正是利用DNS隧道技術(shù)實(shí)現(xiàn)了遠(yuǎn)程命令和控制(C2)。
但是,攻擊者具體在野是如何利用DNS隧道技術(shù)的,很多細(xì)節(jié)我們還不得而知。比如說,他們只是為了實(shí)現(xiàn)C2才使用DNS隧道技術(shù)的嗎?他們是如何實(shí)現(xiàn)和托管這些技術(shù)的?我們是否可以通過捕捉和監(jiān)控DNS隧道流量來監(jiān)控惡意活動(dòng)?
在這篇文章中,我們將對(duì)攻擊者在野利用DNS隧道通信技術(shù)的多個(gè)方面進(jìn)行詳細(xì)分析和介紹。
DNS隧道基礎(chǔ)
DNS隧道是什么
DNS隧道是一種在DNS查詢和響應(yīng)中對(duì)非DNS程序和協(xié)議的數(shù)據(jù)進(jìn)行編碼的技術(shù),這將允許各種類型的通信流量可以通過DNS協(xié)議來進(jìn)行轉(zhuǎn)發(fā),其中包括文件傳輸、C2和Web流量等。
為什么要執(zhí)行DNS隧道
DNS通常使用UDP端口53,該端口通常在客戶端、系統(tǒng)、服務(wù)器和防火墻上都是打開的,以支持傳輸DNS查詢。而DNS則是互聯(lián)網(wǎng)的基本組成部分,它為許多應(yīng)用程序提供服務(wù),從網(wǎng)絡(luò)瀏覽和電子郵件服務(wù),到主機(jī)自動(dòng)發(fā)現(xiàn)、負(fù)載均衡、安全審查和監(jiān)控服務(wù)等,都需要使用到DNS。
由于其關(guān)鍵性,大多數(shù)組織對(duì)DNS流量實(shí)施的安全管理策略都相對(duì)寬松,這也導(dǎo)致很多攻擊者選擇利用DNS協(xié)議來對(duì)C2通信流量進(jìn)行隧道傳輸并檢索惡意軟件的Payload。
很多惡意軟件攻擊活動(dòng),比如說SUNBURST、OilRig、xHunt和DarkHydrus都采用了DNS隧道技術(shù)。DNS流量的允許策略允許攻擊者訪問互聯(lián)網(wǎng),而大量的良性DNS流量成為攻擊者隱藏足跡的天然偽裝。
如何執(zhí)行DNS隧道技術(shù)
執(zhí)行DNS隧道需要兩個(gè)主要組件:客戶端和服務(wù)器??蛻舳藢NS數(shù)據(jù)包發(fā)送到互聯(lián)網(wǎng),通過DNS查詢對(duì)內(nèi)容進(jìn)行編碼,并從DNS響應(yīng)中解碼內(nèi)容。服務(wù)器接收來自遞歸解析器的DNS查詢,解碼來自DNS查詢的內(nèi)容,并將內(nèi)容編碼為DNS響應(yīng)。
下圖為DNS隧道的執(zhí)行流程:
在上圖中,客戶端首先會(huì)將敏感數(shù)據(jù)值編碼為子域$secret,并將其以DNS查詢請求的形式發(fā)送給$secret.badsite[.]com。接下來,解析程序迭代查詢不同域級(jí)別的名稱服務(wù)器,直到得到有效響應(yīng)。同樣的,服務(wù)器組件(域名服務(wù)器)也可以將惡意Payload編碼為子域$payload,并向$secret.badsite[.]com發(fā)送DNS響應(yīng)(CNAME $payload.bs[.]com)。
我們通常會(huì)使用編碼算法對(duì)數(shù)據(jù)進(jìn)行編碼和分段,而不是發(fā)送原始數(shù)據(jù)。實(shí)際上,任何人都可以想出一種算法來實(shí)現(xiàn)數(shù)據(jù)的碎片化。
而且也有很多現(xiàn)成的開源DNS隧道工具,例如iodine、DNSStager、dnscat2、sliver和Cobalt Strike等。這些工具支持將通用消息編碼為DNS查詢的子域和各種類型的DNS響應(yīng),如A(IPv4地址)、AAAA(IPv6地址)、TXT、CNAME和MX。
將DNS隧道技術(shù)應(yīng)用到C2
C2是DNS隧道技術(shù)最常見的應(yīng)用場景,同一個(gè)活動(dòng)可以共享一些特性,例如將用于通信的域名服務(wù)器作為C2使用,或使用常見的隧道工具來實(shí)現(xiàn)編碼解碼等。
第一個(gè)例子針對(duì)的是金融領(lǐng)域某個(gè)組織的惡意活動(dòng),我們觀察到了22個(gè)隧道域名跟同一目標(biāo)用戶之間的通信。
這些域名共享了7個(gè)域名服務(wù)器IP,并使用了相同的底層編碼工具,攻擊者甚至還申請了看似相同的安全/云供應(yīng)商域名以嘗試逃避檢測。
這些域名包括:
panos[.]ltd
ciscocloud[.]space
ubrella[.]online
msft[.]center
mscd[.]store
awsl[.]site
我們在下表中列出了這些域及其示例查詢、域名服務(wù)器域和域名服務(wù)器IP:
域名 | 查詢樣例 | 域名服務(wù)器 | 域名服務(wù)器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 |
我們的第二個(gè)例子是針對(duì)另一個(gè)金融行業(yè)客戶的活動(dòng),我們發(fā)現(xiàn)三個(gè)隧道域名都指向著同一客戶,并且使用了相同的底層隧道工具-Cobalt Strike,而Cobalt Strike的代表性特征包括使用常見前綴,例如www、post和api等。
這三個(gè)域名分別為identity-mgmt[.]com、internalsupport[.]info和cloud-enrollment[.]com,下面給出的是對(duì)應(yīng)的查詢樣例、域名服務(wù)器和IP地址:
域名 | 查詢樣例 | 域名服務(wù)器 | 域名服務(wù)器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 |
總結(jié)
現(xiàn)在,越來越多的網(wǎng)絡(luò)團(tuán)伙會(huì)將DNS隧道通信技術(shù)應(yīng)用到各種各樣的地方,包括C2服務(wù)器和V*N服務(wù)等等。因此,作為安全防御端人員來說,了解DNS隧道技術(shù)的在野利用情況就非常重要了,只有了解了DNS隧道通信的底層工具和相關(guān)活動(dòng),才能實(shí)現(xiàn)細(xì)粒度分析,從而做到安全事件的快速響應(yīng)。
入侵威脅指標(biāo)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/
本文作者:FreddyLu666, 轉(zhuǎn)載請注明來自FreeBuf.COM