確定目標:利用web分析技術誘捕受害者

wyzsk發表於2020-08-19
作者: virustracker · 2016/01/21 15:38

https://www2.fireeye.com/rs/848-DID-242/images/rpt-witchcoven.pdf

0x00 介紹


這起活動的策劃者積累了大量關於web流量和網站的訪客資訊,涉及了100多家網站-攻擊者會有選擇地滲透這些網站,從而接觸到他們的受眾目標。

在過去的一年中,我們發現可能有政府贊助的攻擊者在參與大規模的網路偵察活動。他們在活動中利用了web分析技術來收集、分析和報告從受害網站上的資料,從而被動地收集關於網站訪客的資訊。這起活動的策劃者積累了大量關於web流量和網站的訪客資訊,涉及了100多家網站-攻擊者會有選擇地滲透這些網站,從而接觸到他們的受眾目標。

攻擊者、市場商人和經銷商每天也會使用web分析技術來獲取資訊,以便有效地接觸到他們的客戶和目標受眾。在本文中,我們研究了web分析技術造成的負面影響,透過演示攻擊者是如何利用相同的工具和方法,透過定向的投放內容和廣告,來精確地識別和攻擊受害者。

每天,我們都會瀏覽網頁,訪問喜歡的網站

我們承認,有些組織會定期地跟蹤我們的線上活動。有的公司會監控我們的點選,從而瞭解什麼樣的連結會吸引我們的注意,以及我們在某個網頁上停留了多長時間。廠商會跟蹤我們的位置資訊,從而更好地理解我們作為消費者的需求。當我們點選某個網站上的贊助連結,進入另一個網站時,廣告商就能從中獲利。購物網站會利用cookie,這樣我們在購物網站上瀏覽過的商品也會出現在其他我們經常訪問網站的廣告上。一些公司還知道我們使用的是什麼計算機系統。後臺執行的指令碼能夠識別瀏覽器型別,作業系統或移動裝置,這樣網頁才能正常顯示。但是,我們很少知道,攻擊者也會利用同樣的工具來識別和攻擊他們的目標。

關鍵發現

攻擊者利用web分析工具和開源工具收集關於目標受害者的資訊,以及目標使用的計算機,從而利用特定的木馬進行感染。

攻擊者會修改特定的網站,將網站訪客重定向到一個分析指令碼- WITCHCOVEN。這個指令碼會收集詳細的計算機資訊,並安裝一個長期跟蹤工具- “supercookie”,這個工具會成為“瀏覽器指紋”的一部分,能夠用於識別使用者也的計算機。

我們認為,攻擊者會透過分析收集到的資料來識別特定的使用者,並確定相應的計算機資訊,然後部署專門針對這臺計算機上存在的軟體和計算機配置漏洞。

根據,攻擊者收集的資料範圍,攻擊者的行動約束以及我們的目標評估,我們推測這起行動很可能是與政府有關聯的攻擊者策劃的。

0x01 行動


今年年初,我們發現有攻擊者在利用免費工具和自定義指令碼來偷偷地監控網路使用者的線上活動。我們認為這些攻擊者正在尋找潛在的受害者,瞭解使用者計算機上都有哪些漏洞。商業公司也會使用同樣的技術來跟蹤自己的客戶,確保他們的網站能在不同型別的瀏覽器上正常執行,但是,攻擊者利用這些技術也能更方便的識別受害者,並制定相應的感染方法。

這些攻擊者首先會滲透大量的的合法網站。這些網站並不是隨機挑選的,而是有針對性的選擇,這種方式叫做戰略性web滲透。然後,攻擊者會修改網站主頁(和幾個子頁面)上的底層HTML程式碼。在修改了程式碼後,網站就會悄悄地把訪客重定向到另一個網站上,這個網站同樣已經被攻擊者控制,並掛載了一個分析指令碼-WITCHCOVEN。WITCHCOVEN會在後臺偷偷地執行,捕捉訪客的計算機和瀏覽器配置(圖1),並在使用者的計算機上放置一個長期跟蹤工具(“suppercookie”)。我們總共發現了100多個網站會重定向使用者到十幾個WITCHCOVEN伺服器上。

當使用者訪問這些網站時,一段內嵌在網站HTML中的程式碼就會悄悄地把網站訪客重定向到另一個攻擊者入侵的網站上。在這個網站上會掛載著WITCHCOVEN指令碼,這個指令碼會使用分析指令碼收集使用者計算機上的技術資訊。截至2014年11月初,我們總共發現了14個網站上掛載著WITCHCOVEN分析指令碼。

我們認為這些攻擊者正在尋找潛在的受害者,瞭解使用者計算機上都有哪些漏洞。

這個指令碼會向攻擊者提供使用者計算機上的應用資訊。WITCHCOVEN使用了大量的開源web工具來獲取這些資訊,包括軟體版本。這些web工具都是免費的,並且網站設計師也經常使用這些或相似的工具來改善使用者體驗。比如,網站可能會定期收集使用者的瀏覽器型別和版本,從而能在使用者的瀏覽器上正常顯示。

下面是WITCHCOVEN程式碼中內嵌的一些web工具,以及這些工具收集的資料:

  • “detect Office”模組來自一個瀏覽器攻擊利用框架(BEF),這是一個開源的滲透測試工具,能夠透過測試瀏覽器對不同ActiveX物件的響應,判斷計算機上的MS Ofiice版本。
  • PluginDetect是一個基於JavaScript的web工具,能夠檢測不同web瀏覽器外掛的型別和版本,比如Java,Flash,Reader和Shockwave。

WITCHCOVEN– 分析使用者計算機並跟蹤使用者

p1 圖1-戰略性web滲透,重定向到WITCHCOVEN分析指令碼

除了收集關於安裝應用、瀏覽器外掛的資料和版本資訊,WITCHCOVEN指令碼還使用了另外一個開源工具-“evercookie”。“evercookie”設計用於在使用者的計算機上建立“相當長久的cookies”,透過:

  • 在計算機的多個位置上建立cookies
  • 只要計算機上還留有任何一個cookie,就會重建已經刪除的coolie
  • 嘗試安裝到計算機上的所有瀏覽器

因此,evercookies也叫做“supercookies”(因為使用了多種儲存機制)或“zombie cookies”(因為在刪除後可以重建)。

簡而言之,evercookie能夠長期識別和跟蹤某個網站訪客,並且對於大多數使用者而言,是無法清除這個工具的。evercookie和WITCHCOVEN指令碼收集到的資料會使用HTTP POST請求發回到被攻破的web伺服器。

0x02 COOKIES,第三方COOKIES和SUPERCOOKIES

網站經常會使用HTTP cookies來跟蹤訪客的操作。比如,新聞網站可能會跟蹤使用者的地區偏好,電商網站可能會跟蹤使用者購物車中商品。一般網站都會使用常規的HTTP cookies來改善使用者的瀏覽體驗。

第三方HTTP cookie可以由第三方提供商進行設定和讀取(比如廣告公司和資料分析服務提供商),這些提供商還會在其他網站上放置內容。因為這些第三方提供商託管的內容包括多個網站,所以,他們的cookie也能夠跟蹤這些網站上的使用者,在體育網站和購物網站上託管內容的提供商就能夠根據第三方cookie中的資料,判斷這名使用者是不是在同時訪問這兩種網站。經過一段時間,透過注意使用者訪問的網站型別,即使不知道使用者的身份,但是這些公司仍然可以確定使用者檔案(年齡,收入,位置,興趣)。雖然這些cookie並不是惡意的,但是,有些使用者認為是對隱私的侵犯。

無論常規cookie還是第三方cookie都是儲存在使用者的web瀏覽器中;當今的瀏覽器可以透過配置,定期刪除cookie或攔截某種型別的cookie。“supercookie”指的是用其他方法儲存的cookie,比如Flash cookies。在大多數情況下,這些cookie無法透過清除瀏覽器快取來刪除、supercookie有特殊的識別符號,因此,可以作為長期跟蹤和識別某個使用者的方法,即使使用者嘗試攔截或刪除cookie也無濟於事。

0x03 這種手段是惡意的嗎?


雖然,WITCHCOVEN的分析活動可以視為有入侵性的,但是,目前為止我們還沒有發現確切的惡意活動。沒有投放漏洞程式碼,沒有攻擊任何網站訪客。如我們所說的,這些分析和跟蹤技術也可以用於合法用途,以便最佳化使用者體驗,支援營銷、人口統計和銷售分析。那麼為什麼這些活動會引起我們的注意呢?

首先,雖然很多網站都會分析和跟蹤使用者,但是這些活動都是透過第三方cookie、商業廣告和分析工具實現的。在這個例子中,攻擊者雖然使用了公開的工具,但是這些工具的目的很唯一。evercookie的使用說明這些攻擊者想要長期地識別和跟蹤使用者,並且不受隱私瀏覽器的影響,也無法刪除這些cookie。這就不能算是“正常的”web分析了。

第二,這些把訪客重定向到WITCHCOVEN指令碼的合法網站本身就遭到了入侵。正常的營銷活動和web流量分析活動可不會這樣做;有人蓄意地在100多個合法網站上設定了重定向程式碼,從而分析這些網站的訪客。

最後,雖然重定向程式碼傳播的範圍很廣,但是這些受害網站並不是隨機選擇的,而是有模式選擇的。因而,我們認為這些活動也不是隨機性的,而是,出於特定的目的,針對特定的使用者。

透過這些發現,我們不禁要問:為什麼有人要透過這種方式來收集這些特定的資料呢?這起活動的目的是什麼?

我們認為,攻擊者會利用WITCHCOVEN指令碼和evercookie收集的資料,結合從HTTP日誌中收集到的基本瀏覽器資料,來識別感興趣的使用者,從而根據使用者計算機系統上的漏洞,利用專門的漏洞進行攻擊。

0x04 拼圖


為什麼這些無害的資訊收集活動會是針對性攻擊呢?根據WITCHCOVEN收集的資料。

除了WITCHCOVEN本身收集的資料,這些攻擊者還能接觸到其他關於使用者瀏覽器的資料,有一部分是透過掛載WITCHCOVEN指令碼的伺服器上正常的HTTP日誌中獲取的。這些資料中至少會包含下面的資訊:

  • 使用者的IP
  • 瀏覽器型別和版本(透過User-Agent標頭判斷)
  • 瀏覽器語言設定(透過Accept-Language標頭判斷)
  • 訪客是如何到達網站的(透過Referer標頭判斷)

雖然,我們不知道攻擊者是否會使用這些日誌資料,但是,他們至少已經取得了這些資料。透過總結攻擊者獲取到的資料(表1),我們就能知道他們是如何構建受害者檔案。攻擊者會利用這些資料來識別和分析使用者,以便在將來進行惡意活動。

表1-攻擊者掌握的資料與可能用途

|資料|來源|可能用途| |MS Office版本|WITCHCOVEN指令碼|識別舊版,未修復或存在漏洞的應用| |瀏覽器外掛版本(Java,Flash等)|WITCHCOVEN指令碼|識別舊版,未修復或存在漏洞的應用| |evercookie特殊識別符號|evercookie(WITCHCOVEN指令碼)|識別特定“使用者”(即使身份未知)| |evercookie資料|evercookie(WITCHCOVEN指令碼)|首次訪問被攻破網站的時間;透過時間戳聯絡到HTTP日誌,從而識別訪客的IP地址| |引用網站|WITCHCOVEN指令碼和HTTP日誌|幫助進一步識別或精煉使用者檔案| |IP地址|HTTP日誌|潛在受害者的源網路;可能識別感興趣的企業和組織| |瀏覽器型別/版本|HTTP日誌|識別舊版,未修復或存在漏洞的應用;識別存在其他漏洞的瀏覽器(比如Flash漏洞)| |使用者語言|HTTP日誌|幫助進一步識別或精煉使用者檔案|

0x05 理清頭緒


雖然,上面的資訊足夠說明某個使用者的習慣,但是這僅僅代表了一個網站的一個隨機使用者。攻擊者入侵了100多個網站,每個網站每天會接收上千名訪客。我們猜測,如果攻擊者想要利用這些資料來針對特定的受害者,他們需要透過一些手段來分析WITCHCOVEN指令碼收集到的這些資料(和web伺服器的日誌檔案),從而識別接下來的具體目標。

我們並不清楚攻擊者是如何使用或處理這些資料。但是,考慮到他們在這一年中收集到的資料數量,他們很可能需要用到大規模的資料管理和分析系統。至少,會涉及到目標資料庫,也可能會web分析收集到的資料,從而幫助識別感興趣到的目標。為此,他們可能使用像客戶關係管理(CRM)資料庫這樣的web分析工具。CRM能夠允許企業追蹤銷售額,客戶反饋和線上營銷活動。攻擊者可以根據特定的標準,挖掘收集到的資料,搜尋潛在的受害者。提煉過程可能如下:

  1. 判斷目標型別的受害者是否在訪問被攻破的網站
  2. 判斷目標受害者在訪問的其他網站(從而找到新的收集點)
  3. 識別特定的受害者

p2 圖2-目標提煉示例

0x06 利用這些資料來投放木馬


一旦根據資訊確定了特定的目標,我們認為攻擊者就會設計和部署定製木馬來增加入侵的成功率。目前,我們還沒有發現任何漏洞攻擊活動,但是這可能是由於攻擊者攻擊範圍很小,致使我們在某個受害者那裡發現漏洞和木馬有效載荷的機率很低。

雖然沒有確鑿的活動,但是,攻擊者收集的資訊可以用來根據WITCHCOVEN找到的漏洞資訊,部署自定義木馬,投放到受害者的計算機上。比如:

  • 攻擊者可能注意到使用者在執行過期的Aobe Flash,在這個Flash版本中存在某個漏洞。能夠針對已知漏洞的能力意味著攻擊者不需要冒著暴露0-day漏洞的風險。
  • 透過過期軟體,攻擊者還能瞭解潛在受害者的安全意識,從而有針對性的制定後續活動,或使用特定的木馬。攻擊者可能會利用標準的後門攻擊防範意識不強的受害者,而使用高階後門攻擊警覺性較高的使用者。
  • 如果使用者執行的都是打好補丁的軟體,現有的漏洞就無法發揮作用,這樣攻擊者就需要開發、購買或部署0-day漏洞。這樣,攻擊者只有在攻擊少量高價值目標時,才會用到0-day漏洞。

利用受害者檔案制定針對性活動

在本文中,我們討論了攻擊者使用了一種小範圍方法來選擇受害者。其他的一些網路威脅小組也會利用指令碼或其他伺服器端的程式碼來分析潛在的受害者,並在小範圍內投放定製漏洞。比如,網路犯罪分子會建立包含有定製漏洞程式碼的網站來感染特定的訪客,可能是根據某個地區(根據IP地址),或每10個訪客感染一次(為了避免惡意活動的暴露)。

有些技術能力比較強的政府小組也使用了類似的分析指令碼來有效地投放漏洞和相關的有效載荷。

  • 在Clandestine Wolf行動中,中國APT小組APT3在部署Flash 0-day之前,就首先使用了一個分析指令碼 。
  • 在Russian Doll行動中,可能是俄羅斯小組APT28在部署2個0-day漏洞前,首先收集了潛在受害者的系統資訊。

在這些案例中,分析指令碼只是向目標計算機投放漏洞。這種技術能增加行動成功率,降低被發現的機率,因為只有很少一部分受害者會接收到漏洞,並且能拖慢研究人員發現0-day漏洞的速度。

收集到的資料是如何使用的

p3 圖5-資料的可能使用方法

0x07 有效、高效且隱蔽


我們認為這次活動是政府小組策劃的,他們的目標是收集全球資料,支援未來的網路行動。原因如下:

A B
行動範圍 這次行動透過入侵世界各地的網站來收集資料。這樣規模的資料收集活動需要大量的資源來分析資訊和識別目標。從這次活動的範圍也可以看出,攻擊者需要資料來滿足情報需求,可能是某個大國政府。
行動約束 戰略性web滲透很常見,但是這次行動的特殊之處在於缺少漏洞投放或木馬投放活動。如果攻擊者使用收集到的資料來確定受害者,這就說明這個小組想要限制工具的曝光度,並保證行動安全-這兩點都表明,這是一起有特定情報需求的長期行動。
可能的目標 根據被攻擊的網站,攻擊者的目標可能是對政府情報感興趣的個人。

前面我們已經提到,我們發現了100多個網站會重定向訪客到WITCHCOVEN分析指令碼。總的來看,這些網站並不是隨機選擇 ,雖然種類繁多,這些網站都有共同得到興趣點。這些網站主要是吸引對下面這些領域感興趣的使用者:國際旅行,外交,能源生產政策,國際經濟,以及在外國政府就職的個人-所有這些目標都與國家戰略利益相關(參照圖4被攻破網站的行業劃分)。

p4

p5

被攻擊網站的地理位置分佈

0x08 可能的預期目標


美國和歐洲的政府官員和高層

我們認為,透過被攻擊的網站就能看出,攻擊者對行政官員,外交官,政府官員和軍方人士很感興趣,尤其是美國和歐洲。被攻擊的網站包括Visa服務公司,美國大使館,可能會吸引美國官員前往俄羅斯、中東和非洲。在歐洲被攻擊的網站可能會吸引對歐洲政治、外交、研究機構和歐美商業感興趣的使用者。此外,透過被攻擊的網站還能看出攻擊者的目標涉及能源發現,生成和技術行業,尤其是天然氣提取和其他能源相關的活動。根據其他被攻擊的網站,攻擊者感興趣的目標可能包括:

  • 美國、西班牙、維也納、布魯塞爾的外交官和商業人士,以及一些跨國機構的首腦
  • 與能源策略、氣候變化,尤其是能源研究和諮詢組織相關的個人
  • 拉美政府官員
  • 歐洲經濟學家
  • 與烏克蘭和喬治亞共和國相關的個人和組織

關注東歐與俄羅斯組織

最後,其他網站表明,攻擊者感興趣的個人與下列相關:

  • 俄羅斯的一家大型能源公司
  • 俄羅斯文化組織和資訊資源
  • 俄羅斯大使館的一個網站
  • 烏克蘭軍隊和邊防
  • 一家在喬治亞共和國運營的媒體組織

相似報告

間接傷害:非預期受害者

透過被攻擊的網站來看,攻擊者只對特定型別的目標感興趣。但是,我們的客戶檢測發現WITCHCOVEN的影響要更廣泛。SWC經常會造成附帶傷害,而這些攻擊者也攻擊了一些無意中訪問相應網站的無關受害者。

在我們的客戶中,幾乎所有的行業都檢測到了WITCHCOVEN。教育、政府、金融服務、能源和娛樂業是最受影響的。圖5中列出了從2015年3月8日-10月31日,FireEye客戶中收到WITCHCOVEN警告的各行業比例。

p6 圖5-2015年3月8日-10月31日,FireEye客戶中收到WITCHCOVEN警告的各行業比例

0x09 應對辦法


客戶經常問我們有什麼辦法能對抗這起惡意網路活動。對於本文中介紹的這次活動,應對辦法是一項挑戰,因為攻擊者是透過使用者的web瀏覽活動來收集潛在的受害者資訊。攻擊者使用的指令碼和方法也是合法網站在用於分析客戶和改善瀏覽體驗的方法。

雖然,這種分析活動感覺很有侵入性,但是受害者的計算機實際上並沒有被滲透。個人和組織可以攔截指令碼執行,或使用第三方cookie,從而加強網頁瀏覽的隱私性,或使用匿名化服務(比如TOR瀏覽器)來隱藏自己的身份。但是,這些方法實施起來都很麻煩,並且在攔截惡意活動的同時,也阻止了合法網站的內容載入。

對於組織而言,可以專注於檢測或阻止後續的攻擊活動,包括禁用不必要的外掛,保證給系統和應用打補丁,並監控主機和網路中是否存在可疑流量。

0x0A 附錄:技術細節


WITCHCOVEN 分析指令碼 (示例MD5: 634438A50AE1990C4F8636801C410460) 使用了JavaScript編寫。這個指令碼中包含有 jQuery JavaScript庫,這個庫經過混淆去除了變數名稱。完整的指令碼很長,但是主要是由一些相似的公開指令碼組成的,包括 evercookie, PluginDetect 和 “detect Office” 模組。

指令碼收集的資訊都列在了表1中,這些資訊會編碼到一個URL請求中,請求的是掛載WITCHCOVEN指令碼的網站。

表2-URL請求變數

變數名稱 變數資料
sid Adobe Shockwave版本
fid Adobe Flash 版本
aid Adobe Reader 版本
mid Microsoft Office 版本
jaid Oracle Java 版本
rid HTTP Referer
cid evercookie supercookie 首次設定的時間(epoch時間),或者如果沒有設定,就是當前時間
cart_id 55(靜態值,根據WITCHCOVEN 例項變化)
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章