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