深入理解實踐場景下的DNS隧道通信
深入理解實踐場景下的DNS隧道通信
寫在前面的話
近期,我們對域名系統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.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 2a204e9662db180407f1d1b8fa87be97c81d1.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://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