愛伊米

如何利用Fast flux技術提高基礎設施的反檢測能力,逃避安全監測(一)

如何利用Fast flux技術提高基礎設施的反檢測能力,逃避安全監測(一)

Fast flux技術利用DNS隱藏攻擊的來源,至少自2007年開始就已有人使用它。DNS本來的工作方式是將域名轉發給DNS解析器,獲取對應的IP地址。使用Fast flux,攻擊者可以將多個IP地址的集合連結到某個特定的域名,並將新的地址從DNS記錄中換入換出,逃避檢測。在早期的殭屍網路中,控制者通常會把C&C伺服器的域名或者IP地址硬編碼到惡意程式中,殭屍主機透過這些資訊定時訪問C&C主機獲取命令。但同時安全人員也能夠透過逆向惡意程式,得到C&C伺服器的域名或者IP,利用這些資訊定位C&C主機,安全人員就可以隔斷C&C主機從而破壞殭屍網路。不少控制者為了保護C&C主機,使用Fast flux技術來提高C&C伺服器的健壯性。在正常的DNS伺服器中,使用者對同一個域名做DNS查詢,在較長的一段時間內,無論查詢多少次返回的結果基本上是不會改變的。Fast flux技術是指不斷改變域名和IP地址對映關係的一種技術,也就是說在短時間內查詢使用Fast flux技術部署的域名,會得到不同的結果。對於攻擊者而言,維持網路正常執行時間至關重要,以避免他們的收入來源遭受損失,包括網路釣魚和詐騙活動、殭屍網路租賃和非法賭博活動。

攻擊者構建Fast flux網路的動機與良性服務提供商類似,後者在系統中構建冗餘以確保正常執行時間,例如,透過在域名系統(RRDNS)或內容傳播網路(cdn)中使用輪詢機制。主要區別在於,Fast flux網路被用來支援非法和惡意活動。因此,運營商需要依賴特殊的技術,如頻繁更改IP地址,使用殭屍網路或防彈主機(主機提供商往往不響應刪除請求)。防彈主機(Bulletproof hosting)是指對使用者上傳和釋出的內容不加限制的一種網路或域名服務,這種服務被通常利用來發垃圾郵件,線上賭博或網路色情等。Fast flux網路之所以加了“Fast”字眼,是因為使用了DNS,它可以快速地在許多裝置之間快速轉化,每個裝置只在很短的時間內使用,使得基於IP的遮蔽列表和刪除工作變得困難。

在本文的講解中,研究人員會提供了一個虛構的場景,即攻擊者和執法部門之間的貓鼠遊戲。研究人員說明了攻擊者如何使用single Fast flux網路和更先進的技術,如double flux(當域名解析成為Fast flux網路的一部分時) 和域生成演算法(DGA)來阻止域列表和刪除工作。

Double-flux網路是一種更為複雜的Fast flux,因為DNS的A記錄和NS記錄都使用迴圈技術進行變化。DNS A記錄返回一個32位的通常用來連線主機IP的IPv4 地址,而DNS NS記錄建立一組特定的權威伺服器,用於處理某段確定的DNS區域,這意味著,使用double flux技術進行攻擊時,主機的IP地址轉換,不僅是作為一個單一的DNS名稱的一部分,而是整個DNS區域,也就是說想要定位攻擊源幾乎是不可能的。在傳統的基於IRC伺服器的殭屍網路中,找到中央IRC伺服器就能夠刪除整個惡意系統,但在一個使用了Fast flux技術的殭屍網路中,你應該把成千上萬個、位於世界各地的不同國家的主機全部打掉。

SingleFlux模式是指只有一層的變化的Fast flux。在SingleFlux中,一個域名擁有一個不斷變化的IP地址列表,這個列表可能會有幾百到上千條。為了實現頻繁的變化IP地址,控制者提供最底層域名伺服器,這個伺服器會返回頻繁變化的C&C伺服器IP地址。如果在別人提供的域名伺服器中頻繁更改域名的IP地址列表,容易被管理者檢測出來,導致殭屍網路暴露。

此外,研究人員介紹了三個案例,這些案例研究表明Fast flux技術可以應用於各種攻擊場景中。研究人員觀察到詐騙者使用Fast flux域來操作多種不同語言的社會工程頁面,攻擊者使用Smoke Loader惡意軟體感染計算機,並使用Fast flux對其命令和控制(C2)域進行操作,最後,研究人員展示瞭如何使用Fast flux域來進行操作非法的成人和賭博網站。

Fast flux的攻擊場景

Fast flux網路可以用於支援各種各樣的犯罪活動,如網路釣魚、詐騙、惡意軟體傳播和殭屍網路操作。為了解釋Fast flux的工作原理並提供相關背景知識,研究人員將以一個虛構的釣魚運營商Mallory為例。Mallory希望獲得使用者憑據,以便以後可以在各種黑市上出售他們。

以下是研究人員構建的一個虛擬的攻擊場景,人物角色設定如下:

Mallory:發起網路釣魚的運營商。

Bart:Mallory的朋友,負責攻擊裝置,建立殭屍網路。

Alice:rainbow銀行的毫無戒心的顧客即受害者。

Emilia:rainbow銀行安全負責人,負責防禦和監測網路釣魚攻擊。

在Mallory嘗試使用Fast flux攻擊之前,Mallory瞭解到域名系統會將人類容易記住的域名(例如paloaltonetworks。com)轉換為機器可以理解的IP地址(例如34。107。151。202)。這些IP地址是計算機在網際網路上用來查詢對方並能夠進行通訊的地址。

Mallory首先建立了一個模仿一家知名銀行的網站rainbowbank[。]com,他建立了一個IP地址為10。123。34的虛假銀行網站ralnbowbank。

可以看出Mallory建立了一個拼寫錯誤的域名,將rainbowbank寫成ralnbowbank,因為它看起來和銀行的真實域名非常相似。一般來說,拼寫錯誤的域名(ralnbowbank[。]com)是目標域名(rainbowbank[。]com)的拼寫錯誤變體,其註冊的目的是透過使用者的輸入錯誤或欺騙使用者,讓他們相信自己登入的是正確的目標域名,關於域名搶注的危險以及防禦措施請點此詳細檢視。

接下來,Mallory付錢給他的朋友Bart,讓他向rainbow銀行的客戶傳送精心製作的垃圾郵件。這些電子郵件會偽裝成銀行通知,誘騙客戶登入,理由就是他們的帳戶憑證需要透過點選電子郵件連結進行驗證。郵件中的連結將使用者重定向到Mallory伺服器上的釣魚頁面。因此,Mallory開始收集使用者登入憑據。幸運的是,該假冒網站日前已經被報曝光了,執法人員Emilia迅速做出反應,關閉了Mallory網站的伺服器。

但這只是下一波攻擊的開始,Mallory已經看到了網路釣魚是多麼有利可圖。因此他意識到下一次,他只需要確保Emilia不會那麼輕易地發現他的釣魚網站即可。這樣在設定ralnbowbank[。]com時,Mallory就學會了如何為他的釣魚域名設定多個域名記錄,該記錄包含他使用的伺服器的IP地址。

Mallory還在他最喜歡的論壇hack-a-rainbow[。]com上發現了Fast flux 網路。於是他將該技術用於攻擊中。他了解到,該技術最重要的部分是獲取大量已經受到感染的計算機,這樣他就可以快速切換DNS記錄。

首先,Mallory編寫了一個指令碼,該指令碼可以自動更新指向ralnbowbank[。]com的DNS記錄的主機。下面是一個示例,該示例顯示了Mallory在DNS伺服器上配置的IP地址如何看待其網路釣魚活動的開始。

如下面的示例所示,他的指令碼經常更新DNS記錄,以避免被檢測到。請注意,Time- To- Live(TTL)值設定為一個較小的值,以確保早期的DNS響應不會被長時間快取。Time- To- Live:IP資料包中生存時間是指容許這個資料包在到達其目的地之前透過多少個路由器。資料包每透過一個路由器,其生存時間都會由路由器減一。當生存時間降為零時, 路由器就會丟棄這個資料包。

圖1描述了Mallory設計的Fast flux體系結構的外觀。步驟1和2顯示了由Mallory控制的DNS解析部分。此外,Mallory知道Bart使用殭屍網路傳送垃圾郵件,所以Mallory問Bart是否可以提供幾千個殭屍,並提出租用它們。Bart想,為什麼不呢?他有時也會把這些裝置租給他的其他朋友。這樣Bart同意花幾百美元讓Mallory在這些裝置上安裝代理指令碼。安裝的代理指令碼在裝置和Mallory的主伺服器之間轉發請求,他喜歡將主伺服器稱為“Mothership”。圖1中的步驟3-6顯示了HTTP請求是如何透過殭屍網路代理的。基於DNS響應中返回的IP地址,用於代理的裝置頻繁更改。

如何利用Fast flux技術提高基礎設施的反檢測能力,逃避安全監測(一)

Mallory的Fast flux結構

對Mallory來說,使用Fast flux網路是一個巨大的成功,而這一次,對Emilia和她的團隊來說,清理Mallory設計的攻擊活動要困難得多。接下來,研究人員將進一步討論Mallory必須克服的其他障礙,以及他如何利用更高階的體系結構使其網路釣魚活動對逃避和阻止列表更具攻擊性。

先進的逃避技術

現在我們接著討論Mallory和Bart可以利用的三種技術和策略來進一步改進其逃避功能的構建。

double flux

Emilia意識到無法關閉Mallory fast-flux網路中的所有託管伺服器。幸運的是,Emilia想到了辦法。如果Emilia團隊無法追隨主機,則他們應關閉為Mallory提供DNS解析的DNS伺服器。在Emilia第二次成功地遏制了Mallory的攻擊之後,Mallory更加堅信要應用一個快速修復,並將DNS解析本身移動到一個Fast flux網路。

為了理解Mallory的新體系結構是如何工作的,我們應首先使用圖2來考慮DNS分級解析的外觀。當Alice的計算機查詢ralnbowbank[。]com時,它首先需要查詢DNS根伺服器以找到。com頂級域( TLD)名稱伺服器,它知道Mallory的名稱伺服器在哪裡。其次,它查詢TLD的名稱伺服器以到達Mallory的名稱伺服器,該伺服器最終可以返回ralnbowbank[。]com的IP地址。

如何利用Fast flux技術提高基礎設施的反檢測能力,逃避安全監測(一)

DNS解析如何工作的示例

Mallory瞭解了DNS的工作原理後,建立了一個Fast flux網路來取代他以前的名稱伺服器。這種設定稱為double flux網路,如圖3所示。他還能夠迅速開始修改ns1。ralnbowbank[。]com 和 ns2。ralnbowbank[。]com的IP地址,ralnbowbank[。]com的名稱伺服器。

於是Emilia的團隊再次陷入困境,似乎他們斷掉所有主機的方法不再起作用。同樣,IP黑名單對Mallory的double flux網路也變得無效。接下來Emilia該怎麼做呢?

如何利用Fast flux技術提高基礎設施的反檢測能力,逃避安全監測(一)

Mallory的double flux架構

參考及來源:https://unit42。paloaltonetworks。com/fast-flux-101/