如何利用Fast flux技術(shù)提高基礎(chǔ)設(shè)施的反檢測能力,逃避安全監(jiān)測(一)
2021-05-25
來源:關(guān)鍵基礎(chǔ)設(shè)施安全應(yīng)急響應(yīng)中心
Fast flux技術(shù)利用DNS隱藏攻擊的來源,至少自2007年開始就已有人使用它。DNS本來的工作方式是將域名轉(zhuǎn)發(fā)給DNS解析器,獲取對應(yīng)的IP地址。使用Fast flux,攻擊者可以將多個IP地址的集合鏈接到某個特定的域名,并將新的地址從DNS記錄中換入換出,逃避檢測。在早期的僵尸網(wǎng)絡(luò)中,控制者通常會把C&C服務(wù)器的域名或者IP地址硬編碼到惡意程序中,僵尸主機通過這些信息定時訪問C&C主機獲取命令。但同時安全人員也能夠通過逆向惡意程序,得到C&C服務(wù)器的域名或者IP,利用這些信息定位C&C主機,安全人員就可以隔斷C&C主機從而破壞僵尸網(wǎng)絡(luò)。不少控制者為了保護C&C主機,使用Fast flux技術(shù)來提高C&C服務(wù)器的健壯性。在正常的DNS服務(wù)器中,用戶對同一個域名做DNS查詢,在較長的一段時間內(nèi),無論查詢多少次返回的結(jié)果基本上是不會改變的。Fast flux技術(shù)是指不斷改變域名和IP地址映射關(guān)系的一種技術(shù),也就是說在短時間內(nèi)查詢使用Fast flux技術(shù)部署的域名,會得到不同的結(jié)果。對于攻擊者而言,維持網(wǎng)絡(luò)正常運行時間至關(guān)重要,以避免他們的收入來源遭受損失,包括網(wǎng)絡(luò)釣魚和詐騙活動、僵尸網(wǎng)絡(luò)租賃和非法賭博活動。
攻擊者構(gòu)建Fast flux網(wǎng)絡(luò)的動機與良性服務(wù)提供商類似,后者在系統(tǒng)中構(gòu)建冗余以確保正常運行時間,例如,通過在域名系統(tǒng)(RRDNS)或內(nèi)容傳播網(wǎng)絡(luò)(cdn)中使用輪詢機制。主要區(qū)別在于,F(xiàn)ast flux網(wǎng)絡(luò)被用來支持非法和惡意活動。因此,運營商需要依賴特殊的技術(shù),如頻繁更改IP地址,使用僵尸網(wǎng)絡(luò)或防彈主機(主機提供商往往不響應(yīng)刪除請求)。防彈主機(Bulletproof hosting)是指對用戶上傳和發(fā)布的內(nèi)容不加限制的一種網(wǎng)絡(luò)或域名服務(wù),這種服務(wù)被通常利用來發(fā)垃圾郵件,在線賭博或網(wǎng)絡(luò)色情等。Fast flux網(wǎng)絡(luò)之所以加了“Fast”字眼,是因為使用了DNS,它可以快速地在許多設(shè)備之間快速轉(zhuǎn)化,每個設(shè)備只在很短的時間內(nèi)使用,使得基于IP的屏蔽列表和刪除工作變得困難。
在本文的講解中,研究人員會提供了一個虛構(gòu)的場景,即攻擊者和執(zhí)法部門之間的貓鼠游戲。研究人員說明了攻擊者如何使用single Fast flux網(wǎng)絡(luò)和更先進的技術(shù),如double flux(當(dāng)域名解析成為Fast flux網(wǎng)絡(luò)的一部分時) 和域生成算法(DGA)來阻止域列表和刪除工作。
Double-flux網(wǎng)絡(luò)是一種更為復(fù)雜的Fast flux,因為DNS的A記錄和NS記錄都使用循環(huán)技術(shù)進行變化。DNS A記錄返回一個32位的通常用來連接主機IP的IPv4 地址,而DNS NS記錄建立一組特定的權(quán)威服務(wù)器,用于處理某段確定的DNS區(qū)域,這意味著,使用double flux技術(shù)進行攻擊時,主機的IP地址轉(zhuǎn)換,不僅是作為一個單一的DNS名稱的一部分,而是整個DNS區(qū)域,也就是說想要定位攻擊源幾乎是不可能的。在傳統(tǒng)的基于IRC服務(wù)器的僵尸網(wǎng)絡(luò)中,找到中央IRC服務(wù)器就能夠刪除整個惡意系統(tǒng),但在一個使用了Fast flux技術(shù)的僵尸網(wǎng)絡(luò)中,你應(yīng)該把成千上萬個、位于世界各地的不同國家的主機全部打掉。
SingleFlux模式是指只有一層的變化的Fast flux。在SingleFlux中,一個域名擁有一個不斷變化的IP地址列表,這個列表可能會有幾百到上千條。為了實現(xiàn)頻繁的變化IP地址,控制者提供最底層域名服務(wù)器,這個服務(wù)器會返回頻繁變化的C&C服務(wù)器IP地址。如果在別人提供的域名服務(wù)器中頻繁更改域名的IP地址列表,容易被管理者檢測出來,導(dǎo)致僵尸網(wǎng)絡(luò)暴露。
此外,研究人員介紹了三個案例,這些案例研究表明Fast flux技術(shù)可以應(yīng)用于各種攻擊場景中。研究人員觀察到詐騙者使用Fast flux域來操作多種不同語言的社會工程頁面,攻擊者使用Smoke Loader惡意軟件感染計算機,并使用Fast flux對其命令和控制(C2)域進行操作,最后,研究人員展示了如何使用Fast flux域來進行操作非法的成人和賭博網(wǎng)站。
Fast flux的攻擊場景
Fast flux網(wǎng)絡(luò)可以用于支持各種各樣的犯罪活動,如網(wǎng)絡(luò)釣魚、詐騙、惡意軟件傳播和僵尸網(wǎng)絡(luò)操作。為了解釋Fast flux的工作原理并提供相關(guān)背景知識,研究人員將以一個虛構(gòu)的釣魚運營商Mallory為例。Mallory希望獲得用戶憑據(jù),以便以后可以在各種黑市上出售他們。
以下是研究人員構(gòu)建的一個虛擬的攻擊場景,人物角色設(shè)置如下:
Mallory:發(fā)起網(wǎng)絡(luò)釣魚的運營商。
Bart:Mallory的朋友,負(fù)責(zé)攻擊設(shè)備,建立僵尸網(wǎng)絡(luò)。
Alice:rainbow銀行的毫無戒心的顧客即受害者。
Emilia:rainbow銀行安全負(fù)責(zé)人,負(fù)責(zé)防御和監(jiān)測網(wǎng)絡(luò)釣魚攻擊。
在Mallory嘗試使用Fast flux攻擊之前,Mallory了解到域名系統(tǒng)會將人類容易記住的域名(例如paloaltonetworks.com)轉(zhuǎn)換為機器可以理解的IP地址(例如34.107.151.202)。這些IP地址是計算機在互聯(lián)網(wǎng)上用來查找對方并能夠進行通信的地址。
Mallory首先創(chuàng)建了一個模仿一家知名銀行的網(wǎng)站rainbowbank[.]com,他建立了一個IP地址為10.123.34的虛假銀行網(wǎng)站ralnbowbank。
可以看出Mallory創(chuàng)建了一個拼寫錯誤的域名,將rainbowbank寫成ralnbowbank,因為它看起來和銀行的真實域名非常相似。一般來說,拼寫錯誤的域名(ralnbowbank[.]com)是目標(biāo)域名(rainbowbank[.]com)的拼寫錯誤變體,其注冊的目的是通過用戶的輸入錯誤或欺騙用戶,讓他們相信自己登錄的是正確的目標(biāo)域名,關(guān)于域名搶注的危險以及防御措施請點此詳細(xì)查看。
接下來,Mallory付錢給他的朋友Bart,讓他向rainbow銀行的客戶發(fā)送精心制作的垃圾郵件。這些電子郵件會偽裝成銀行通知,誘騙客戶登錄,理由就是他們的帳戶憑證需要通過點擊電子郵件鏈接進行驗證。郵件中的鏈接將用戶重定向到Mallory服務(wù)器上的釣魚頁面。因此,Mallory開始收集用戶登錄憑據(jù)。幸運的是,該假冒網(wǎng)站日前已經(jīng)被報曝光了,執(zhí)法人員Emilia迅速做出反應(yīng),關(guān)閉了Mallory網(wǎng)站的服務(wù)器。
但這只是下一波攻擊的開始,Mallory已經(jīng)看到了網(wǎng)絡(luò)釣魚是多么有利可圖。因此他意識到下一次,他只需要確保Emilia不會那么輕易地發(fā)現(xiàn)他的釣魚網(wǎng)站即可。這樣在設(shè)置ralnbowbank[.]com時,Mallory就學(xué)會了如何為他的釣魚域名設(shè)置多個域名記錄,該記錄包含他使用的服務(wù)器的IP地址。
Mallory還在他最喜歡的論壇hack-a-rainbow[.]com上發(fā)現(xiàn)了Fast flux 網(wǎng)絡(luò)。于是他將該技術(shù)用于攻擊中。他了解到,該技術(shù)最重要的部分是獲取大量已經(jīng)受到感染的計算機,這樣他就可以快速切換DNS記錄。
首先,Mallory編寫了一個腳本,該腳本可以自動更新指向ralnbowbank[.]com的DNS記錄的主機。下面是一個示例,該示例顯示了Mallory在DNS服務(wù)器上配置的IP地址如何看待其網(wǎng)絡(luò)釣魚活動的開始。
如下面的示例所示,他的腳本經(jīng)常更新DNS記錄,以避免被檢測到。請注意,Time- To- Live(TTL)值設(shè)置為一個較小的值,以確保早期的DNS響應(yīng)不會被長時間緩存。Time- To- Live:IP數(shù)據(jù)包中生存時間是指容許這個數(shù)據(jù)包在到達(dá)其目的地之前通過多少個路由器。數(shù)據(jù)包每通過一個路由器,其生存時間都會由路由器減一。當(dāng)生存時間降為零時, 路由器就會丟棄這個數(shù)據(jù)包。
圖1描述了Mallory設(shè)計的Fast flux體系結(jié)構(gòu)的外觀。步驟1和2顯示了由Mallory控制的DNS解析部分。此外,Mallory知道Bart使用僵尸網(wǎng)絡(luò)發(fā)送垃圾郵件,所以Mallory問Bart是否可以提供幾千個僵尸,并提出租用它們。Bart想,為什么不呢?他有時也會把這些設(shè)備租給他的其他朋友。這樣Bart同意花幾百美元讓Mallory在這些設(shè)備上安裝代理腳本。安裝的代理腳本在設(shè)備和Mallory的主服務(wù)器之間轉(zhuǎn)發(fā)請求,他喜歡將主服務(wù)器稱為“Mothership”。圖1中的步驟3-6顯示了HTTP請求是如何通過僵尸網(wǎng)絡(luò)代理的?;贒NS響應(yīng)中返回的IP地址,用于代理的設(shè)備頻繁更改。
Mallory的Fast flux結(jié)構(gòu)
對Mallory來說,使用Fast flux網(wǎng)絡(luò)是一個巨大的成功,而這一次,對Emilia和她的團隊來說,清理Mallory設(shè)計的攻擊活動要困難得多。接下來,研究人員將進一步討論Mallory必須克服的其他障礙,以及他如何利用更高級的體系結(jié)構(gòu)使其網(wǎng)絡(luò)釣魚活動對逃避和阻止列表更具攻擊性。
先進的逃避技術(shù)
現(xiàn)在我們接著討論Mallory和Bart可以利用的三種技術(shù)和策略來進一步改進其逃避功能的構(gòu)建。
double flux
Emilia意識到無法關(guān)閉Mallory fast-flux網(wǎng)絡(luò)中的所有托管服務(wù)器。幸運的是,Emilia想到了辦法。如果Emilia團隊無法追隨主機,則他們應(yīng)關(guān)閉為Mallory提供DNS解析的DNS服務(wù)器。在Emilia第二次成功地遏制了Mallory的攻擊之后,Mallory更加堅信要應(yīng)用一個快速修復(fù),并將DNS解析本身移動到一個Fast flux網(wǎng)絡(luò)。
為了理解Mallory的新體系結(jié)構(gòu)是如何工作的,我們應(yīng)首先使用圖2來考慮DNS分級解析的外觀。當(dāng)Alice的計算機查詢ralnbowbank[.]com時,它首先需要查詢DNS根服務(wù)器以找到。com頂級域( TLD)名稱服務(wù)器,它知道Mallory的名稱服務(wù)器在哪里。其次,它查詢TLD的名稱服務(wù)器以到達(dá)Mallory的名稱服務(wù)器,該服務(wù)器最終可以返回ralnbowbank[.]com的IP地址。
DNS解析如何工作的示例
Mallory了解了DNS的工作原理后,建立了一個Fast flux網(wǎng)絡(luò)來取代他以前的名稱服務(wù)器。這種設(shè)置稱為double flux網(wǎng)絡(luò),如圖3所示。他還能夠迅速開始修改ns1.ralnbowbank[.]com 和 ns2.ralnbowbank[.]com的IP地址,ralnbowbank[.]com的名稱服務(wù)器。
于是Emilia的團隊再次陷入困境,似乎他們斷掉所有主機的方法不再起作用。同樣,IP黑名單對Mallory的double flux網(wǎng)絡(luò)也變得無效。接下來Emilia該怎么做呢?