深入理解實踐場景下的DNS隧道通信

深入理解實踐場景下的DNS隧道通信


現在,越來越多的網路集團會將DNS隧道通訊技術應用到各種各樣的地方,包括C2伺服器和V*N服務等等。因此,身為安全防禦端人員來說,了解DNS隧道技術的在野利用情況就非常重要了,只有了解了DNS隧道通訊的底層工具和相關活動,才能實現細粒度分析,從而做到安全事件的快速反應。

寫在前面的話

近期,我們對域名系統DNS隧道技術在野的使用與使用方式進行了深入分析。攻擊者可以使用DNS隧道技術來繞過組織網路環境中的各種安全策略,因為大多數組織對DNS流量所實施的管理策略相對寬鬆。先前的研究也表明,SUNBURSTOilRig之類的惡意軟體活動正是利用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.d036b5a3fd8b67e55ee35feff7d014fdbd320056d. e935549b3a081982724c3e6f806.oak.panos[.]ltd

bur.panos[.]ltd

34.92.43[.]140

ciscocloud[.]space

10.a6674ae5d37cab7263074adef14925ef28698896b8491276097a470beca325a.669f12d4b31e9a6707ce225b595cb7f12d4b31e9a6707ce225b595cb723. 99de58f43c3e4be80a7d7db2a2ed5aee9e13bac9cb.habit.ciscocloud[.]space

bram.ciscocloud[.]space

34.92.43[.]140

ubrella[.]online

8.d4fee8aa63e4ee6435452f86e84464168e96e314eb1a19c45e0e76f3ca71b2a.e9476062765ba0aeaeea97333805f09476062765ba0ae 2a204e9662db180407f1d1b8fa87be9​​7c81d1.feign.ubrella[.]online

rumor.ubrella[.]online

34.92.43[.]140

mscd[.]store

4.a6gpmbnqbjewgwnqnlivwhleux4vnnyiuduyqgjkyn9jcihsttpdbdenf7lx8jx.jqhdulrejthsyipzvoleyvhv5s99nydtj5um8bzdmdms9gwdqn fpaufefhr7xxeuhfpk8hs.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.c8c30e936bffb9f93bcba2c27682dc1ab790e936bffb9f93bcba2c2768 a19b693d78d1772977cbf164e2748b57bb9f.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://blogs.infoblox.com/cyber-threat-intelligence/cyber-threat-advisory/dog-hunt-finding-decoy-dog-toolkit-via-anomalous-dns-traffic/

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, 轉載請註明來自FreeBuf.COM