寫在前面的話
近期,我們對域名系統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://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