DUKES----持續七年的俄羅斯網路間諜組織大起底

wyzsk發表於2020-08-19
作者: virustracker · 2015/09/29 10:15

from:https://www.f-secure.com/documents/996508/1030745/dukes_whitepaper.pdf

0x00 執行概括


Duke網路間諜小組手頭掌握有充足的資源,他們目標明確,行動有條理。我們認為,Duke小組至少從2008年開始就為俄羅斯聯邦效力,幫助俄羅斯收集情報,從而制定外交和安全政策。

Duke的主要目標是西方政府以及與西方政府有關係的一些組織,比如政府部門和機構,政府智囊團和政府性承包商。他們的目標還有英聯邦國家;亞洲,非洲和中東政府;與車臣極端分子有關係的組織,以及非法參與藥品毒品貿易的俄羅斯人。

Duke小組最出名的一點就是持有大量的惡意軟體工具,比如我們已經發現的MiniDuke, CosmicDuke, OnionDuke, CozyDuke, CloudDuke, SeaDuke, HammerDuke, PinchDuke, 和GeminiDuke。近年來,Duke每年都會發動兩次大規模的釣魚活動,攻擊上百名甚至上千名與政府機構及其附屬組織相關的人員。

這些活動利用了“打砸搶掠”方法,用最少的時間收集和竊取儘可能多的資料。如果入侵目標有價值,Duke就會立刻還用另外的工具,轉而採用長期隱藏策略,長時間的收集情報。

除了這些大規模的活動,Duke同時還在不停的實施一些小規模活動,這些活動的針對性更強,使用了不同的工具。這些針對性活動已經至少持續了7年。其目標和持續時間都是根據俄羅斯聯邦當時的外交和安全政策而確定。

Duke會時刻關注與他們的工具相關的研究報告,並採取相應的對策。但是,因為Duke(或他們的贊助者)非常重視他們的行動,所以他們會不斷的修改自己的工具,避免檢測並重新隱藏起來。他們不會中斷自己的行動,而是會在修改工具的同時,持續執行原定的計劃。

在一些極端情況下,即使安全公司和媒體注意到了一些工具時,Duke還可能會繼續使用這些不經修改的工具來參與一些活動。從中不難看出,即使他們的工具被曝光,Duke還是相信自己能成功地完成入侵。

0x01 Duke小組的故事


正如現在所熟知的,Duke小組的故事以PinchDuke惡意軟體工具集為開篇。這個工具集包括多個loader和資訊竊取木馬。最重要的是,PinchDuke木馬樣本中總是會出現一個引人注意的文字字串,我們認為Duke小組會用這個字串來區分並行的攻擊活動。在這些活動識別符號中,經常會標明活動日期和活動目標,藉此我們可以瞭解Duke小組更早期的行動。

2008: 車臣

我們確定Duke小組最早的行動是2008年11月開始的兩次PinchDuke行動。這些活動中使用了PinchDuke樣本,其時間戳顯示為2008年11月5日和12日。這兩個樣本中的活動識別符號分別是“alkavkaz.com20081105” 和 “cihaderi. net20081112”。

樣本中的第一個活動識別符號,是在5號編譯的,引用了alkavkaz.com,這個域名關聯到了一個土耳其網站,宣稱是“車臣資訊中心”(圖1,第5頁)。第二個活動識別符號是在12號變異的,引用了cihaderi.net,這也是一家土耳其網站,宣稱提供“伊斯蘭聖戰新聞”,並且網站上有一個車臣板塊。

由於缺少其他從2008年開始或更早期的PinchDuke樣本,我們也無法估計Duke小組最早的活動是從什麼時間開始的。但是,根據我們對2008年PinchDuke樣本的技術分析,我們認為PinchDuke是在2008年夏天部署的。

事實上,我們認為到2008年秋天,Duke已經開發了至少兩個不同木馬工具集。我們這一推斷是建立在另一個最早的Duke相關工具集-GeminiDuke,這個工具集的編譯時間是2009年1月26日。這個樣本,類似於早期的PinchDuke樣本,已經是一個很成熟的樣本,這也是我們認為GeminiDuke是在2008年秋天開發的原因。

Duke在2008年下半年就已經開發和操作了至少兩個木馬工具集,因此,我們推測有兩種情況,一種是當時Duke的間諜活動規模就已經足夠大,需要這樣的工具;另一種是Duke預計他們的行動規模會大幅擴張,在未來有必要開發這樣的工具。接下來,我們在本文的“工具與技術”章節,更詳細地檢查了這些Duke工具集。

詞源:命名

Duke工具集的命名可以追溯到卡巴斯基實驗室,卡巴斯基的研究員把他們發現的首個Duke木馬命名為了“MiniDuke”。他們在白皮書中說到,他們驚奇的發現MiniDuke後門在傳播時利用的漏洞,就是ItaDuke使用的漏洞。名稱中的“Duke”是因為研究員聯想到了臭名昭著的Duqu威脅。雖然,在名稱上有歷史淵源,但是,並不是說Duke工具集和ItaDuke木馬或Duqu有任何形式的聯絡。

隨著研究員繼續發現其他由MiniDuke的建立小組開發和使用的工具集,“Duke”也一直沿用了下來,所以,我們也用“Dukes”來代指操作這些工具集的那個小組。另外“APT29”指的也是這個小組。

當然,並不是所有的名稱都是嚴格符合這樣的命名習慣,也有例外,具體還要看特定的Duke工具集,其他常用的名稱都列在了“工具與技術”章節。

2009:已知的首次針對西方的攻擊活動

根據在2009年PinchDuke樣本中發現的活動識別符號,Duke小組在2009年的攻擊目標有喬治亞國防部,土耳其和烏干達外交部等組織。另外,從中也可以看出,Duke小組在2009年的時候就已經開始注意與美國和北約相關的政治事件,因為Duke執行了很多針對美國對外政策智囊團的活動,另外的一系列活動針對的是北約在歐洲的一些演習,第三次活動的目標是喬治亞“在北約的資訊中心”。

在這些活動中,最突出的是兩類的活動。第一個系列的活動是從2009年4月16日-17日,目標是美國外交政策智囊團,以及波蘭和捷克共和國的政府研究所(圖1).這些活動利用了特別製作的惡意Microsoft Word文件和PDF檔案,透過郵件附件傳送給不同的人員,嘗試滲透目標組織。

我們認為這類活動有一個共同的目標,就是收集目標國家對美國在波蘭設立“歐洲攔截站”導彈防禦基地和在捷克設立雷達站的看法。考慮到這些活動的時間,有趣的是,就在奧巴馬總統剛剛在4月5日發表了演講表明其部署這些導彈防禦系統的意圖,就在之後的11天,他們就開始了相關行動。

第二類活動包括兩次行動,主要是想收集關於喬治亞與北約關係的資訊。第一次行動實用的活動識別符號是“natoinfo_ge”,引用的www.natoinfo.ge網站屬於喬治亞政府實體,之後重新命名為“北約和歐盟資訊中心”。雖然,這個識別符號本身沒有包含日期,我們認為活動開始的日期在2009年6月7日左右,也是PinchDuke的編譯日期。我們的論斷是透過分析了所有其他PinchDuke樣本得到的,樣本識別符號的日期和編譯日期是在同一天中。我們懷疑的第二個活動識別符號是一個月後的“mod_ge_2009_07_03”,其目標是喬治亞國防部。

圖1-2008年和2009年的早期活動(左:alkavkaz.com網站的截圖,由2008年的PinchDuke樣本引用;下:2009年,PinchDuke活動中的誘餌文件,攻擊目標有波蘭,捷克和美國智囊團。內容好像是從BBC新聞中複製的)

2010:高加索地區的CosmicDuke危機

2010年春天,PinchDuke活動攻擊了土耳其和喬治亞,但是還有大量的活動攻擊了其他英聯邦獨立國家成員,比如哈薩克,吉爾吉斯斯坦,亞塞拜然和烏茲別克。在這些活動中,有一個活動的識別符號是“kaz_2010_07_30”,其目標可能是哈薩克,值得注意的是這是我們觀察到的最後一次PinchDuke活動。我們認為,在2010年上半年,Duke小組慢慢地不再使用PinchDuke,轉而利用了一個全新的資訊竊取木馬,我們稱之為CosmicDuke。

第一個已知的CosmicDuke工具集是在2010年1月16日編譯的。在當時,CosmicDuke任然還沒有後來加入的憑據竊取功能。我們認為,在2010年春天,PinchDuke的憑證和檔案竊取功能正逐漸的加入到CosmicDuke上,PinchDuke就完全棄用了。

在過渡期間,CosmicDuke經常會內嵌PinchDuke,這樣在執行時,CosmicDuke會寫入到磁碟上,並執行PinchDuke。然後,PinchDuke和CosmicDuke會在受害主機上獨立執行,包括執行獨立的資訊收集,資料竊取和CC通訊- 雖然這兩個木馬經常使用同一個CC伺服器。我們認為其目的是“實地考察”最新的CosmicDuke工具,同時用已經經過考驗的PinchDuke來保證行動能成功。

在測試和開發CosmicDuke期間,Duke作者還開始實驗利用許可權提升漏洞。特別是在2010年1月19日,安全研究員Tavis Ormandy發現了一個本地許可權提升漏洞(CVE-2010-0232)影響了微軟Windows系統。Ormandy還附上了漏洞的POC利用原始碼。就在七天後,1月26日,Duke編譯了一個CosmicDuke元件來利用這個漏洞,允許工具在高許可權下執行。

一個loader載入一切

Duke小組除了編譯元件,在2010年的時候他們還主動開發了和測試了一個新的loader-這個元件會打包所有的核心木馬程式碼並提供另一層混淆。

這個loader的第一個樣本是在2010年6月26日編譯的,也就是“MiniDuke”loader的前身,之後的版本在MiniDuke和CosmicDuke得到了廣泛的應用。

我們在2014年釋出了一份CosmicDuke白皮書,在其中我們提了提“MiniDuke loader”的歷史,在當時,我們觀察到這個loader在與MiniDuke使用之前,已經與CosmicDuke使用過。這個loader的第一個樣本在2010年夏天投入使用,最近的樣本大多是在2015年春天投入使用。

在這5年來,這個loader與Dukes小組的很多工具都有聯絡,比如這一版的loader就是用來從三個Dukes工具集中載入木馬,包括CosmicDuke,PinchDuke和MiniDuke。

圖2-WHOIS註冊資訊對比(左:natureinhome.com的原始whois註冊資訊,是Duke CC伺服器的一個域名,由John Kasa在2011年1月29日註冊;右:修改後的whois資訊,感受一下Dukes小組的幽默)

2011:奧地利克拉根富特的John Kasai

在2011年,Dukes又豐富了自己的木馬工具集和CC基礎設施。雖然Dukes應用了黑掉的網站和有意租來的伺服器來作為其CC基礎設施,Duke小組很少註冊自己的域名,而是透過IP地址來連線他們自己管理的伺服器。

但是,在2010年初,Duke打破常規,分兩批註冊了大量域名;第一批是在1月29日註冊的,第二批是在2月13日註冊的。所有這些域名都是用同一個化名註冊的:“John Kasai of Klagenfurt, Austria”(圖2)。Duke小組在很多活動中都使用了這些域名和木馬,一直到2014年。和“MiniDuke loader”一樣,這些“John Kasai”域名還提供了一個常用的執行緒來繫結這些工具和Dukes的基礎設施。

2011: 繼續擴張Dukes武器庫

到2011年,Duke已經開發了至少3個不同的木馬工具集,包括一些支援元件,比如loader和維持模組。事實上,在開發了新的工具集後,他們會完全棄用一些木馬工具集,由此可見他們的武器庫範圍很廣。

在2011年的時候,Dukes繼續擴充套件了他們的武器庫,新增了另外兩個工具集:MiniDuke和CozyDuke。前期的工具集-GeminiDuke,PinchDuke和CosmicDuke都是圍繞一個資訊竊取元件設計的,而MiniDuke是一個簡單的後門元件,其目的是在受害主機上實現遠端命令執行。我們發現的第一個MiniDuke後門元件樣本是在2011年5月發現的。但是,這個後門元件的技術與GeminiDuke非常接近,從某種程度上我們認為它們共用了一樣的原始碼。因此,MiniDuke的起源可以追溯到GeminiDuke,最早發現的編譯日期是2009年1月。

不同於簡單的MiniDuke工具集,CozyDuke是一個用途豐富,模組化的木馬“平臺”,其功能並不集中於一個核心元件,而是可以透過指令從CC伺服器上下載的一系列模組。這些模組用於有選擇地給CozyDuke提供必要的功能來完成手頭上的任務。CozyDuke的模組平臺明顯區別於之前的Duke工具集設計風格。

CozyDuke和先前工具集的風格區別在編碼方式上體現的更明顯。前面提到的4個工具集都是用木馬常用的極簡化風格編寫的;MiniDuke使用了很多用匯編語言編寫的元件。但是,CozyDuke則完全相反。CozyDuke沒有用匯編語言或C語言,而是用了C++,抽象性增加了,代價就是複雜性更高了。

不同於木馬,早期的CozyDuke版本還沒有混淆或隱藏自己的特性。事實上,它們很開放,功能很詳細-比如,早期的樣本中有一個沒有加密的日誌資訊。對比來說,甚至是最早期的GeminiDuke樣本會加密所有的字串,避免暴露木馬的真實特性。

最後,早期的CozyDuke版本還有很多元素都會讓人聯絡到傳統軟體開發專案上,而不是木馬。比如,最早的CozyDuke版本利用了Microsoft Visual C++的一個特性-執行時錯誤檢查。這個特效能讓程式執行的關鍵部分自動檢查錯誤,但是,對於木馬來說,代價就是木馬的功能更容易逆向了。

圖3-MINIDUKE使用的誘餌,以烏克蘭為主題的誘餌文件,2013年2月,MiniDuke活動利用

根據CozyDuke與其他工具集之間的的風格差異,我們推測以前的Duke系列的作者可能有編寫木馬的背景(或有駭客經歷),CozyDuke的作者可能有軟體開發經歷。

2012:藏身暗處

我們還了解一些關於2012年Duke活動的情況。根據2012年的Duke木馬樣本,Duke小組似乎在繼續使用和開發他們的工具。在這之中,CosmicDuke和MiniDuke的使用越來越頻繁,但是隻接收映象更新。從另一方面來看,GeminiDuke和CozyDuke很少用於真正的行動中,但是一直在開發中。

2013: MiniDuke飛的和太陽太近了

在2013年2月12日,FireEye公佈了一份部落格,提醒使用者注意新發現的Adobe Readers 0-day漏洞CVE-2013-0640
和CVE-2013-0641,有很多攻擊活動都在利用這兩個漏洞。在FireEye釋出文章的8天后,卡巴斯基發現這個漏洞被用於傳播另一個不同的木馬系列。在2月27日,卡巴斯基和CrySyS實驗室公佈了一份關於這個木馬系列的研究報告,並稱之為MiniDuke。

如我們所知,到2013年2月,在至少4年半的時間中,Dukes小組一直在操作MiniDuke和其他工具集。但是,在這期間他們的木馬就被檢測到了。事實上,在2009年,AV產品測試組織開始用木馬集來對比測試AV產品,其中就有PinchDuke樣本。但是直到2013年,更早的Duke工具集才開始放入了合適的上下文。這一點從2013年開始變化。

使用這些漏洞傳播的MiniDuke樣本是在2月20號編譯的,當時人們已經都知道了這個漏洞的存在。你可能會說既然是在漏洞公佈之後,Duke小組只需要複製就可以了。但是我們不是這樣認為的。正如卡巴斯基所說的,雖然MiniDuke活動利用的這些漏洞與FireEye公佈的基本一致,但是還是有小區別的。其中,最關鍵的就是MiniDuke漏洞中存在的PDB字串。當使用特定的編譯設定時,編譯器就會生成這些字串,也就是說MiniDuke使用的漏洞元件必須獨立編譯,這點不同於FireEye的描述。

我們不知道Duke是不是自己編譯的這些元件,還是找別人變異的。但是,Duke不可能像FireEye所說的那樣,簡單的複製了漏洞二進位制,然後再重新利用。

我們看來,Duke小組在漏洞遭曝光後還堅持使用有三點原因。第一,Duke小組可能對自己的能力相當自信(認為對手的應對速度不夠快),他們不在意自己的目標是不是在檢查自己有沒有被人盯上。第二,Duke認為MiniDuke活動能提供的價值值得去冒險。第三,在FireEye發出提醒之前,Duke小組可能在活動中投入了很多,他們可能無法承受中途而費的代價。

我們認為,從某種情況上說這三種情況可能是共存的。在這份報告中,你會注意到,這種情況不是個例,而是經常發生的,即使這樣,他們還是要按計劃執行他們的行動,而不是採取應對策略。

與卡巴斯基白皮書中說明的一樣,MiniDuke活動從2013年2月開始透過釣魚郵件來傳送惡意的PDF附件。這些PDF檔案會偷偷地用MiniDuke感染受害人,同時顯示一個誘餌文件來迷惑受害者。這些文件的標題有“Ukraine’s NATO Membership Action Plan (MAP) Debates烏克蘭加入北約成員行動計劃辯論”, “The Informal Asia-Europe Meeting (ASEM) Seminar on Human Rights非正式亞歐會議人權研討會”和 “Ukraine’s Search for a Regional Foreign Policy烏克蘭探求區域外交政策” (圖3)。這些活動的目標,據卡巴斯基級稱,有的位於比利時,匈牙利,盧森堡和西班牙。根據從MiniDuke的CC伺服器上獲取的日誌檔案,卡巴斯基還發現了一些高價值受害者,分別來自烏克蘭,比利時,羅馬尼亞,捷克共和國,冰島,美國和匈牙利。

2013: 令人好奇的案例OnionDuke

在2月的活動之後,MiniDuke的活動數量有所減少,但是在2013年中並沒有完全停止。不過,整個Dukes小組並沒有要停下來的跡象。事實上,我們發現了另一個Duke木馬工具集-OnionDuke,首次出現在2013年。和CozyDuke類似,OnionDuke設計有豐富的功能,也採用了類似的模組化平臺方法。OnionDuke工具集中包括多種模組,用於竊取密碼,資訊收集,DDoS攻擊,甚至是向俄羅斯媒體的網路VKontakte傳送垃圾郵件。OnionDuke工具集中還有一個投放器,一個資訊竊取器變體和多個不同版本的核心元件,負責與不同的模組互動。

OnionDuke奇怪的原因是它從2013年夏天開始使用的感染載體。為了傳播這個工具集,Dukes小組使用了一個封裝器在合法應用程式中整合OnionDuke,建立的種子檔案包含有植入了木馬的應用。然後上傳到託管種子的網站上(圖4)。使用這些種子檔案下載應用的受害者會感染上OnionDuke。

圖4-ONIONDUKE的木馬種子,在這個種子檔案中包含有一個植入了OnionDuke工具集的可執行程式

對於我們觀察到的大多數OnionDuke元件,我們注意到的第一個版本是在2013年夏天編譯的,說明在這段時間中Duke在開發這個工具集,。但是,我們觀察到的第一個OnionDuke 投放器樣本,只會和這個工具集中的元件配合使用,這個樣本是在2013年2月編譯的。這點很重要,因為由此表明在任何Duke行動進入公眾視野前,OnionDuke就已經在開發中了。所以,OnionDuke的開發絕對不可能簡單的是為了替換過時的Duke木馬,而是為了配合其他工具集的使用。由此可見,Dukes計劃並行使用這5個木馬工具集,Dukes掌握有龐大的資源和能力。

2013: Dukes與烏克蘭

在2013年,Dukes採用的多數誘餌文件都涉及到烏克蘭,包括烏克蘭外交部首席副部長簽署的一封信,由冰島駐烏克蘭大使館發給烏克蘭外交部的一封信,以及一份名為“烏克蘭探尋地區性外交政策”的文件。

但是,這些誘餌文件是在2013年11月歐洲抗議烏克蘭動盪之前編寫的。這點非常重要,因為不同於預測,我們真正觀察到當Dukes注意到烏克蘭局勢後,與烏克蘭相關的活動量開始下降了,而不是增長。

這點不同於其他的俄羅斯攻擊者(比如Operation Pawn Storm),他們在烏克蘭危機後增加了針對烏克蘭的活動。這也和我們的分析一致,Dukes的目標是收集情報來支援外交政策的制定。在烏克蘭危機之前,當時俄羅斯還在權衡烏克蘭的選擇,所以,當時烏克蘭是Dukes的目標。但是當俄羅斯直接採取行動後,Dukes對烏克蘭的態度就不一樣。

圖5-COSMICDUKE的誘餌,誘餌文件的截圖,似乎是一份購買生長激素的訂單,用於2013年9月的CosmicDuke活動

2013: CosmicDuke對毒品宣戰

在2013年9月,出現了一次轉折性事件,CosmicDuke活動攻擊了參與非法化學物質貿易的俄羅斯人(圖5)。

卡巴斯基實驗室,有時會用‘Bot Gen Studio’來代指CosmicDuke,我們推測‘Bot Gen Studio’是一個木馬平臺,也叫做“合法間諜軟體”工具;因此,他們認為可能是有兩個獨立的機構在使用CosmicDuke分別來打擊毒品經銷商和政府部門。但是,我們感覺,攻擊毒品銷售商和政府的CosmicDuke操控者一定不是兩個完全獨立的部門。可能是因為公用了同一家木馬提供商,但是這也無法解釋行動技術和CC基礎設施上為什麼會出現這麼多的重疊。另外,我們感覺攻擊毒品經銷商是Duke分部的一個新任務,可能是因為毒品貿易涉及到了安全政策問題。我們還任務這項任務是臨時的,因為在2014年春天之後,就再也沒有觀察到類似的活動目標。

2014: MiniDuke浴火重生

在2013年的時候,研究人員都注意到了MiniDuke活動,因此其數量大幅的減少了,但是2014年初,這個工具集又全力迴歸了。所有的MiniDuke元件,從loader到下載器到後門,都經過了簡單的升級和修改。有意思的是,透過這些修改我們能瞭解到其主要目的是重新隱藏自己,避免被檢測到。

在這些修改中,最重要的就要數loader的修改。正是因為這些修改才有了後來的“Nemesis Gemina loader”,因為我們在很多樣本中都找到了PDB字串。但是,這還是迭代後的早期MiniDuke loader。

我們發現的第一個Nemesis Gemina loader樣本(2013年11月14日)是用於載入更新後的MiniDuke後門,但是在2014年春,CosmicDuke中也使用了Nemesis Gemina loader。

2014: CosmicDuke的興盛與衰落

在MiniDuke曝光後,CosmicDuke也遭到了曝光,F-Security在2014年7月2日公佈了一份關於CosmicDuke的白皮書。第二天,卡巴斯基也公佈了自己的木馬研究報告。值得注意的是,雖然CosmicDuke已經使用了超過4年,並且也經過了幾次映象修改和更新,甚至最近的CosmicDuke樣本中也常常內嵌維持模組,其中有些能追溯到2012年。這些樣本的功能也涵蓋了2010年時候CosmicDuke的功能。

因此,能觀察到在7月初,Dukes小組又開始恢復CosmicDuke的一些活動,這也是很有價值的。在當月月底,我們發現了一些在7月30日編譯的CosmicDuke樣本,在這些樣本中,一些在以前版本的樣本中出現的無用程式碼都被刪除了。同樣,這麼多年以來,CosmicDuke樣本中也有很多硬編碼值是沒有修改過的。我們認為木馬作者修改或移除了一些他們覺得可能有助於識別和檢測的部分,從而避免工具被檢測到。

在修改CosmicDuke的同時,Dukes小組也在修改他們的loader。類似於CosmicDuke工具集,從2010年第一個樣本之後,MiniDuke和CosmicDuke使用的loader也經過了重大更新(Nemesis Gemina更新)。同樣,大部分的修改工作也是集中在移除多餘的程式碼,嘗試區別於舊版本的loader。但是,有意思的是,木馬作者還嘗試了另外的逃逸技巧-偽造loader的編譯日期。

圖6-COZUDUKE誘餌,左:偽裝成美國信件傳真的誘餌文件,用於CozyDuke活動;右-猴子影片誘餌,也是用於CozyDuke活動

第一個CosmicDuke樣本是我們在首次研究了CosmicDuke之後發現的,這個樣本是在2014年7月30日編譯的。這個樣本使用的loader據說是在2010年3月25日編譯的。但是,根據在編譯中遺留下來的一些痕跡,我們知道這個loader使用的Boost庫版本是1.54.0,只在2013年7月1日公佈過。因此,這個編譯時間戳一定是偽造的。或許,Dukes小組認為偽造一個更早的時間可能會迷惑到研究人員。

在2014年到2015年春,Dukes繼續在修改CosmicDuke來逃避檢測,同時也在實驗異或loader的方法。但是,在實驗的同時,Dukes小組還在開發全新的loader,我們在2015年春的CosmicDuke活動中發現了首個全新的樣本。

雖然,不出意外,Dukes會根據各大安全公司釋出的報告來修改自己的工具集,但是,他們的應對方式還是值得注意的。和2013年2月的MiniDuke報告類似,Dukes小組似乎又最佳化了接下來的活動優先順序來隱藏自己。他們本可以停止使用所有的CosmicDuke(至少是在他們開發出新的loader之前),或讓CosmicDuke完全退役,因為他們還有一些其他的工具集是可以使用的。但是,他們只沉寂了很短的時間,在稍微對工具集進行修改後,就又繼續行動了。

2014: CozyDuke和猴子影片

雖然,我們知道CozyDuke從2011年末出現以來,一直在發展,但是知道2014年7月初,首次大規模的CozyDuke活動才進入了我們的視野。這次活動,和之後的CozyDuke活動一樣,首先是用釣魚釣魚郵件來模擬成常見的垃圾郵件。這些釣魚郵件的一些連結最終會導致使用者感染CozyDuke。

在7月初,一些CozyDuke釣魚郵件會偽裝成e-fax送達通知,一種垃圾郵件慣用的主題;並且還使用了“US letter
fax test page”誘餌文件,一年後的CloudDuke也是使用了這個誘餌。但是,在不止一個例子中,郵件中沒有使用連結,而是用了壓縮文件“Office Monkeys LOL Video.zip”,這個檔案託管在DropBox雲服務上。有趣的是,這個例子沒有使用常規的虛假PDF檔案,而是用了一個Flash影片作為誘餌,更具體的說就是2007年的超級碗廣告,辦公室裡的猴子(圖6)。

2014: OnionDuke使用了惡意的Tor節點

在2014年10月23日,Leviathan 安全集團公佈了一份文章,描述了他們發現的一個惡意Tor退出節點。他們注意到這個節點似乎在惡意篡改透過HTTP連線從這個節點上下載的所有可執行程式。如果執行了這些經過篡改的應用,受害者可能就會感染木馬。在11月14日,F-Security公佈了一份文章,把木馬命名為OnionDuke,並發現這個木馬與CosmicDuke和其他的Duke工具集存在關係。

根據我們對OnionDuke的調查,我們認為從2014年4月開始到Leviathan在2014年10月公佈報告的大約7個月中,研究人員發現的這個Tor退出節點被被用於包裝與OnionDuke相關的可執行程式(圖7)。這種方式與2013年夏天透過種子檔案來傳播木馬應用的方式類似。

在調查透過Tor節點傳播的這個OnionDuke變體期間,我們又發現了另一個OinionDuke變體在2014年春成功入侵了一個受害者,這名受害者來自某個東歐國家的外交部。這個變體與透過Tor節點傳播的木馬在功能上存在很大的差別,也就是說這些不同的功能是為了針對不同的受害者。

我們認為,這個透過Tor節點傳播的OinionDuke變體,不是為了執行攻擊活動,而是為了構成小型的botnet,以便日後使用。這個OnionDuke變體與2013年夏天透過種子檔案傳播的一個木馬有關聯。這兩種感染途徑,與Dukes經常使用的釣魚郵件相比,都非常隨意,也沒有針對性。

另外, 這個OnionDuke變體的功能是由很多模組提供的。有的是收集資訊,有的會嘗試竊取受害者的使用者名稱和密碼,這些功能都是針對性攻擊木馬經常具備的。另外還有兩個已知的OnionDuke模組則完全相反,一個設計用於DoS攻擊,另一個是為了向俄羅斯VKontakte社交網站傳送預定的資訊。這種功能在犯罪型botnet中更常見,而不是國家贊助的針對性攻擊。

至此,我們已經至少識別了兩個獨立的OnionDuke botnet。我們認為第一個botnet是在2014年1月開始形成的,使用了未知的感染途徑和已知的惡意Tor節點,並且一直持續到11月份,直到我們釋出了文章。對於第二個botnet,我們認為是在2014年8月開始形成的,並且一直持續到了2015年1月。我們還沒能確定第二個botnet使用的感染途徑,但是其使用的CC伺服器已經公開了目錄列表,允許我們獲取檔案中存在的受害人IP列表。這些IP的地理分佈(圖8)驗證了我們的猜測,這些OnionDuke變體不是為了在針對性攻擊中打擊高價值目標。

有一種看法是認為這些botnet是Dukes小組的犯罪業務部分。但是,如果是為了商業DoS攻擊或垃圾郵件,這個botnet的規模(大約1400個bots)就太小了。不過,OnionDuke也會竊取受害人的使用者憑據,作為另外的收入來源。但是,反對這種聲音的原因是因為這種方式取得的價值在黑市上太低了。

2015: Dukes加大賭注

在2015年1月,Duke活動數量開始顯著增加,有上千人都接收到了包含CozyDuke惡意連結的釣魚郵件。我們好奇的是,這些釣魚郵件和e-fax主題的垃圾郵件非常類似,都是勒索軟體和其他犯罪軟體常用的傳播方式。由於接收到郵件的使用者數量太多,Dukes很可能沒有向其他小數量活動一樣,專門的定製郵件。

但是,與常用垃圾郵件的相似性可能是為了更險惡的目的。不難想象,安全分析師在面對著沉重的網路攻擊負擔時,會把這種常見的垃圾郵件簡單地看作 “一個犯罪活動”,致使這樣的活動隱藏到 “芸芸眾生”中。

CozyDuke活動表現出Dukes行動有長期進行的趨勢,使用了多種木馬工具集來打擊一個單一的目標。在這種情況下,Dukes首先會使用CozyDuke(以一種更明顯的方式)嘗試感染大量的潛在目標。然後,他們會使用工具集來收集關於受害者的初始資訊,接著再判斷應該繼續攻擊哪些受害者。對於感興趣的受害者,Dukes接著會部署不同的工具集。

我們認為,這種戰術的主要目的是為了嘗試躲避目標網路中的檢測。即使受害者的組織注意到了最初的CozyDuke活動,或者遭到了曝光,防禦者首先會檢視的就是與CozyDuke工具集相關的入侵標誌(IOC),但是,如果當時Dukes已經在受害者的網路中執行了,只要使用另一種工具集,而這個工具集的IOC與曝光的不一樣,那麼有理由相信,受害者的組織會用更長的時間才會注意到滲透。

在先前的例子中,Dukes小組就曾經更換過木馬工具集,無論是作為初始階段或後續階段的工具集。然而,對於這些CozyDuke活動,Dukes小組似乎應用了兩個特殊的後階段工具集-SeaDuke和HamerDuke,有意設計用於在攻破網路上留下維持後門。Hammeruke是一個後門系列,首先在野外發現是在2015年2月;而SeaDuke是一個跨平臺後門,據賽門鐵克稱,首次在野外發現是在2014年10月。這兩個工具集都是CozyDuke活動部署的。

SeaDuke的特殊性在於它是用Python編寫的,設計能在Windows和Linux系統上執行;這是我們首次發現Dukes使用了跨平臺工具。其中一個可能的原因可能是開發這樣靈活的木馬可能會更多的遇到使用Linux作為作業系統的受害者。

圖7-OnionDuke使用惡意Tor節點感染受害者的流程

圖8-OnionDuke Botnet的地理分佈

圖9-OnionDuke CC推文,OnionDuke使用的推文,裡面的連結指向了一個影像檔案,這個影像檔案中潛入了一個OnionDuke版本更新

同時,HammerDuke是一個只能在Windows上執行的木馬(用.NET編寫),有兩個變體。簡單的那個會透過HTTP或HTTPS連線一個硬編碼伺服器,下載執行命令。更高階的那一個,會使用演算法來生成定期更改的Twitter賬號,然後嘗試搜尋從這個賬號發出的推文,根據裡面的連結下載執行命令。這樣,高階的HammerDuke變體就能透過合法的Twiter使用,來隱藏其網路流量。這種方法並不是HammerDuke獨家使用的,MiniDuke, OnionDuke和CozyDuke都會類似的利用Twitter(圖9)來獲取連結,另外下載payload或命令。

2015: CloudDuke

在2015年7月初,Dukes小組開始執行另一次大規模釣魚活動。在這次活動中使用的木馬工具集是以前沒有出現過的,並且我們認為7月份的這次活動,標誌著Dukes首次開始真正的部署工具集,而不是小規模的測試了。

CloudDuke工具集至少包括一個loader,一個downloader和兩個後門變體。這兩個後門(作者內部稱之為“BastionSolution” 和“OneDriveSolution”),允許操作員遠端在入侵裝置上執行命令。但是,這兩個後門完成這一操作的方式是截然不同的。BastionSolution變體會簡單的從一個受Dukes控制的硬編碼伺服器上獲取命令,OneDriveSolution是利用微軟的OneDrive雲端儲存服務與主控通訊,從而增加了防禦者注意並攔截通訊通道的難度。最重要的還要數2015年7月,CloudDuke活動的時間線。這次活動似乎包括兩次獨立的釣魚攻擊,一次是在7月初,另一次是從7月20號開始的。Palo Alto Networks在7月14日,釋出了關於第一波攻擊的CloudDuke詳細技術分析報告。卡巴斯基隨後又在7月16日公佈了更多細節。

這些公佈都在第二波攻擊之前,並且引起了公眾的廣泛關注。儘管引起了公眾的注意,並曝光了大量的技術細節(包括IOC),Dukes還是繼續發動了第二波釣魚攻擊,包括繼續使用CloudDuke。Dukes小組並沒有更改釣魚郵件的內容,也沒有更換郵件的格式,而是又恢復成了他們以前用過的efax主題格式,甚至重新使用了在一年前CozyDuke活動(2014年7月)中使用的誘餌文件。

這次更加突出了Dukes小組的行為特徵。首先,與2013年2月的MiniDuke和2014年夏天的CosmicDuke活動一樣,Dukes又一次清楚地最佳化了行動順序來保持隱秘性。其次,又突出了Dukes小組的膽大,傲慢和自信;他們對自己的能力有信心,能成功的入侵目標,即使自己的工具和技術都已經曝光,這樣的情況下,他們也堅信自己的行動不會受到影響。

2015: 繼續用 CosmicDuke執行外科手術式的打擊

除了CozyDuke和CloudDuke這樣肆無忌憚的大規模活動外,Dukes還在繼續用CosmicDuke來執行更加毫不隱瞞,外科手術式的攻擊活動。我們發現的最新活動開始於2015年春和2015年夏天的早些時候,這些活動使用了惡意文件來利用近期未修復的一些漏洞。

波蘭安全公司Prevenit發表文章詳細地介紹了這些活動,他們稱這兩次活動的目標是波蘭的一些機構,在釣魚郵件中使用了用波蘭語作為名稱的惡意附件。類似的,我們觀察到第三次活動攻擊了喬治亞的一些機構,使用了用喬治亞語作為名稱的惡意附加,翻譯過來就是 “NATO加強對黑海的控制.docx”。

據此,我們並不認為Dukes會拋棄原來隱秘的針對性活動,轉而投向公開的投機性CozyDuke和CloudDuke式的活動。相反,我們認為他們只是在透過增加新的工具和技術來擴充套件自己的活動。

圖10-Duke工具集的活動時間分佈

Dukes工具與技術

PinchDuke工具集包含多過loader和一個核心的資訊竊取木馬。與PinchDuke工具集關聯的loader已經發現與CosmicDuke配合使用過。

PinchDuke工具集包含多過loader和一個核心的資訊竊取木馬。與PinchDuke工具集關聯的loader已經發現與CosmicDuke配合使用過。

PinchDuke資訊竊取木馬會收集系統配置資訊,竊取使用者憑據並從入侵的主機上收集使用者檔案,然後透過HTTP(S)把這些檔案轉發到一個CC伺服器上。我們認為PinchDuke的憑據竊取功能是基於Pinch憑據竊取木馬的原始碼(也就是LdPinch),最早是在21世紀初開發的,後來在地下論壇上傳播過。

PinchDuke的目標憑據與下面的這些軟體或服務有關:

  • The Bat!
  • Yahoo!
  • Mail.ru
  • Passport.Net
  • Google Talk
  • Netscape Navigator
  • Mozilla Firefox
  • Mozilla Thunderbird
  • Internet Explorer
  • Microsoft Outlook
  • WinInet Credential Cache
  • Lightweight Directory Access Protocol (LDAP)

PinchDuke還會查詢在預定時間範圍內建立的檔案和在預定列表中出現的檔案擴充套件。

令人好奇的是,多數PinchDuke樣本中都包含有下面的俄語錯誤資訊: “Ошибка названия модуля! Название секции данных должно быть 4 байта!”

大體意思是: “模組名有錯誤!資料節名稱的長度必須是4位元組!”

GeminiDuke工具集包括一個核心的資訊竊取器,一個loader和多個與維持相關的元件。不同於CosmicDuke和PinchDuke,GeminiDuke主要是收集受害者計算機上的配置檔案。收集的資訊包括:

  • 本地使用者賬戶
  • 網路設定
  • 網路代理設定
  • 已安裝的驅動
  • 執行中的程式
  • 使用者曾經執行過的程式
  • 在啟動時自動執行的程式和服務
  • 環境變數值
  • 在任何使用者的home資料夾中出現的檔案和資料夾
  • 在任何使用者的My Docments中出現的檔案和資料夾
  • 安裝到Program Files資料夾的程式
  • 近期訪問的檔案,資料夾和程式

在木馬中很常見,GeminiDuke的資訊竊取器使用了一個互斥量來確保只有一個例項是在執行的。不常見的是,這個互斥量經常使用一個時間戳作為自己的名稱。我們認為這些時間處是在GeminiDuke的編譯期間,根據計算機的本地時間確定的。

比較GeminiDuke的編譯時間發現,它經常引用UTC+0時區的時間,把本地時間作為互斥量的名稱,並根據預設的時區調整時差,我們注意到所有的互斥量名稱都引用了一個時間和日期,這個日期就是在樣本編譯時間戳的幾秒鐘之內。另外,所有在冬天編譯的GeminiDuke樣本都使用了UTC+3作為時間戳的時區,而在夏天的編譯的樣本,就把UTC+4作為時間戳的時區。

已經觀察到的時區符合2011年以前的莫斯科標準時間(MSK)的定義,就是在冬天時區是UTC+3,在夏天是UTC+4。在2011年,MSK時間不再遵守夏令時間(DST),並且開始全年使用UTC+4,並在2014年全年使用UTC+3。某些GemiiDuke樣本使用的互斥量就是當MSK還遵守夏時令時編譯的,這些樣本的時間戳符合當時的莫斯科時間定義。

莫斯科的時區圖:粉色:MSK(UTC+3),橙色:UTC+4

但是,在MSK修改後編譯的GeminiDuke樣本還是冬天用UTC+3,夏天用UTC+4。雖然,使用Windows的計算機會自動調整DST,但是更改時區需要安裝Windows更新。因此,我們認為Dukes小組沒有更新用來編譯GeminiDuke樣本的計算機,所有在之後出現的樣本時間戳還是遵循以前的莫斯科標準時間定義。

GeminiDuke資訊竊取器有時還會封裝一個loader,這可能是GeminiDuke都有的,以前也從未在其他的Duke工具集中發現過。GeminiDuke有時還會內嵌其他的可執行程式,嘗試維持在受害者的計算機上。這些維持元件是經過特別定製的,為了配合GeminiDuke使用,但是他們還使用了相同的技術來作為CosmicDuke的維持元件。

CosmicDuke工具集是圍繞一個主要的資訊竊取元件設計的。這個資訊竊取器附帶了大量的元件,操作員會有選擇的在主要的元件上新增其他的元件來提供額外的功能,比如多種建立維持的方法,以及嘗試利用許可權提升漏洞的模組,從而用更高的許可權來執行CosmicDuke。CosmicDuke的資訊竊取功能包括:

  • 鍵盤記錄
  • 獲取螢幕截圖
  • 竊取貼上板內容
  • 竊取符合定義列表的檔案擴充套件
  • 匯出使用者的加密證照,包括私鑰
  • 收集使用者憑據,包括多種聊天和郵件程式,web瀏覽器的密碼

CosmicDuke可能使用HTTP,HTTPS,FTP或WebDav來把收集到的資料傳輸到一個硬編碼CC伺服器。雖然我們認為CosmicDuke是一個完全自定義編寫的工具集,不會共用其他Duke工具集的程式碼,但是其很多高階功能的實現都與其他的Dukes武器有相通之處。

具體來說,CosmicDuke用於從目標軟體提取使用者憑據和檢測分析軟體的技術,都是基於PinchDuke的技術。同樣,許多CosmicDuke的維持元件使用的技術也用在了與GeminiDuke和CozyDuke相關的元件上。在所有的這些例子中,技術都是相同的,但是程式碼都經過了修改,導致在最後的實現上存在小區別。

我們發現,有一小部分CosmicDuke樣本中還有的元件會嘗試利用近期公佈的漏洞 CVE-2010-0232或CVE-2010- 4398許可權提升漏洞。以CVE-2010-0232為例,這個利用似乎是直接建立在安全研究員Tavis Ormandy在披露漏洞時公佈的概念驗證程式碼上。我們認為,CVE- 2010-4398利用也是建立在公開的概念驗證上。

除了經常內嵌維持或許可權提升元件外,CosmicDuke還偶爾會內嵌PinchDuke,GeminiDuke或MiniDuke的元件。應該注意的是,CosmicDuke並不會與後者互動操作,內嵌的木馬會把木馬寫入到磁碟上執行。之後,CosmicDuke和第二個木馬會獨立操作,包括各自聯絡自己的CC伺服器。有時候,兩個木馬會使用同一個CC伺服器,但是其他情況下,甚至是使用的伺服器也都不是一樣的。

最後值得注意,雖然多數CosmicDuke的編譯時間戳看起來是真實的,但是我們還是注意到,有幾個是偽造的。一起一個就是前文中提到的,可能是為了逃避檢測。另一個是在2010年秋天與CosmicDuke和PinchDuke聯合使用的一個loader變體。這些loader樣本的編譯時間戳都是在2001年9月24日或25日。但是,這些loader樣本大都內嵌了CosmicDuke變體來利用CVE-2010- 0232許可權提升漏洞,所以其編譯時間戳不可能是真的。

深度閱讀:

  1. Timo Hirvonen; F-Secure Labs; CosmicDuke: Cosmu with a Twist of MiniDuke; published 2 July 2014; https://www.f-secure.com/ documents/996508/1030745/cosmicduke_ whitepaper.pdf
  2. GReAT; Securelist; Miniduke is back: Nemesis Gemina and the Botgen Studio; published
  3. July 2014; https://securelist.com/blog/ incidents/64107/miniduke-is-back-nemesis- gemina-and-the-botgen-studio/

MiniDuke工具集包括多個downloader和後門元件,卡巴斯基在最初的MiniDuke白皮書中成這些元件為MiniDuke “階段1” “階段2”和 “階段3”元件。另外,有一個特別的loader經常會關聯到MiniDuke工具集,稱作 “MiniDuke loader”。

這個loader經常與其他的MinDuke元件一起使用的同時,也還是經常與CosmicDuke和PinchDuke元件聯用。事實上,我們發現這個loader樣本最早還是與PinchDuke使用。但是,為了避免混淆,我們還是稱這個loader為 “MiniDuke loader”。

有兩處關於MiniDuke元件的細節需要值得注意。首先,一些MiniDuke元件是用匯編語言編寫的。雖然,很多木馬都是在 “以前的那種好奇心驅使下”用匯編語言編寫的,但是現在越來越少見。第二,一些MiniDuke元件中沒有包含硬編碼的CC伺服器地址,而是透過Twitter來獲取當前的CC伺服器地址。使用Twitter來獲取CC伺服器的地址(或作為備份,如果沒有硬編碼的主要CC伺服器響應)也是OnionDuke,CozyDuke和HammerDuke的特性。

深度閱讀:

  1. Costin Raiu, Igor Soumenkov, Kurt Baumgartner, Vitaly Kamluk; Kaspersky Lab; The MiniDuke Mystery: PDF 0-day Government Spy Assembler 0x29A Micro Backdoor; published 27 February 2013; http:// kasperskycontenthub.com/wp-content/ uploads/sites/43/vlpdfs/themysteryofthepdf0- dayassemblermicrobackdoor.pdf
  2. CrySyS Blog; Miniduke; published 27 February 2013; http://blog.crysys.hu/2013/02/miniduke/
  3. Marius Tivadar, Bíró Balázs, Cristian Istrate; BitDefender; A Closer Look at MiniDuke; published April 2013; http://labs.bitdefender. com/wp-content/uploads/downloads/2013/04/ MiniDuke_Paper_Final.pdf
  4. CIRCL - Computer Incident Response Center Luxembourg; Analysis Report (TLP:WHITE) Analysis of a stage 3 Miniduke sample; published 30 May 2013; https://www.circl.lu/files/tr-14/ circl-analysisreport-miniduke-stage3-public.pdf
  5. ESET WeLiveSecurity blog; Miniduke still duking it out; published 20 May 2014; http://www. welivesecurity.com/2014/05/20/miniduke-still- duking/

CozyDuke不是一個簡單的木馬工具集,而是一個模組化的木馬平臺,圍繞一個核心的後門元件形成。CC伺服器可以指令這個元件來下載並執行任意模組。並且這些模組能提供給CozyDuke豐富的功能。已知的CozyDuke模組有:

  • 命令執行模組,用於執行任意的Windows命令提示符命令
  • 木馬竊取模組
  • NT LAN管理器(NTLM)雜湊竊取模組
  • 系統資訊收集模組
  • 螢幕截圖模組

除了模組,CozyDuke還可以透過指令,來下載並執行其他獨立的可執行程式。在某些觀察到的例子中,這些可執行程式是自解壓文件,其中包含著入侵工具,比如,PSExe和Mimikatz,還有執行這些工具的指令碼檔案。在其他情況下,CozyDuke還會下載和執行其他Duke工具集的工具,比如OnionDuke,SeaDuke和HamerDuke。

深度閱讀:

  1. Artturi Lehtio; F-Secure Labs; CozyDuke; published 22 April 2015; https://www.f-secure. com/documents/996508/ 1030745/CozyDuke (PDF)
  2. Kurt Baumgartner, Costin Raiu; Securelist; The CozyDuke APT; 21 April 2015; https://securelist. com/blog/research/69731/the-cozyduke-apt/

CozyDuke中的PDB字串例項

  • E:\Visual Studio 2010\Projects\Agent_NextGen\Agent2011v3\Agent2011\Agent\tasks\bin\ GetPasswords\exe\GetPasswords.pdb
  • D:\Projects\Agent2011\Agent2011\Agent\tasks\bin\systeminfo\exe\systeminfo.pdb
  • \192.168.56.101\true\soft\Agent\tasks\Screenshots\agent_screeshots\Release\agent_ screeshots.pdb

OnionDuke工具集至少包括一個dropper,一個loader一個資訊竊取器和多個模組變體。

OnionDuke首先引起我們的注意是因為它是透過一個惡意的Tor退出節點進行傳播。這個Tor節點會攔截所有下載下來的未加密可執行檔案,並透過新增嵌入了OnionDuke的惡意封裝器來篡改這些可執行檔案。一旦受害者下載了這些檔案並執行,封裝器就會用OnionDuke感染受害者的計算機,然後執行原始的合法可執行檔案。

這個封裝器還會用於封裝合法的可執行檔案,然後讓使用者從種子網站上下砸。這樣,如果受害者下載的種子中包含封裝後的可執行檔案,他們就會感染OnionDuke。

最後,我們還觀察到,感染了OnionDuke的受害者首先已經感染了CozyDuke。在這種情況下,CozyDuke就會接收到CC伺服器的指令,下載並執行OnionDuke工具集。

深度閱讀:

  1. Artturi Lehtio; F-Secure Weblog; OnionDuke: APT Attacks Via the Tor Network; published 14 November 2014; https://www.f-secure.com/ weblog/archives/00002764.html

SeaDuke是一個簡單的後門,主要是執行從CC伺服器上獲取的命令,比如上傳和下載檔案,執行系統命令並評估額外的Python程式碼。SeaDuke很有趣的地方是它是用Python寫的,並且是跨平臺的,可以在Windows和Linux上執行。

已知SeaDuke的唯一感染途徑是透過現有的CozyDuke感染,由CozyDuke下載和執行SeaDuke工具集。

類似於HammerDuke,當CoyDuke完成了初始感染並獲取到可用資訊後,SeaDuke似乎主要用作CozyDuke受害者上的一個二級後門。

深度閱讀:

  1. Symantec Security Response; “Forkmeiamfamous”: Seaduke, latest weapon in the Duke armory; published 13 July 2015; http://www.symantec.com/connect/blogs/ forkmeiamfamous-seaduke-latest-weapon- duke-armory
  2. Josh Grunzweig; Palo Alto Networks; Unit 42 Technical Analysis: Seaduke; published 14 July 2015; http://researchcenter.paloaltonetworks. com/2015/07/unit-42-technical-analysis- seaduke/
  3. Artturi Lehtio; F-Secure Weblog; Duke APT group’s latest tools: cloud services and Linux support; published 22 July 2015; https://www.f- secure.com/weblog/archives/00002822.html (http://secure.com/weblog/archives/00002822.html)

在SeaDuke原始碼中發現的跨平臺支援

HammerDuke是一個簡單的後門,設計的作用類似與SeaDuke。具體來說,HammerDuke的唯一已知感染途徑是由CozyDuke下載和執行,這樣,再結合HammerDuke簡單的後門功能,表明Dukes小組主要是將其用作二級後門,首先是由CozyDuke執行初始感染,並竊取可用的受害者資訊。

但是,HammerDuke也是挺有意思的,因為是用.NET編寫的,並且還偶爾會用Twitter作為CC通訊通道。一些HammerDuke變體中只包含硬編碼的CC伺服器地址,從這上面獲取命令,但是其他的HammerDuke變體首先會使用一個自定義演算法根據當前日期,來生成一個Twitter賬號。如果賬號已經存在,HammerDuke就會搜尋這個賬戶推文中的影像連結,其中包含有執行命令。

HammerDuke使用Twitter和特製的影像檔案和其他的Duke工具類似。OnionDuke和MiniDuke也使用了日期演算法來生成Twitter賬戶,並搜尋從這個賬戶中發表的推文,查詢到像檔案的連結。但是,對比來說,OnionDuke和MiniDuke的影像連結中嵌入了的是可以下載和執行的木馬,而不是指令。

類似的,GeminiDuke也會下載影像檔案,但是這些檔案中可能會嵌入工具集本身的配置資訊。但是不同於HammerDuke,GeminiDuke下載的URL是硬編碼在初始配置中的,而不是從Twitter中獲取的。

深度閱讀:

  1. FireEye; HAMMERTOSS: Stealthy Tactics Define a Russian Cyber Threat Group; published July 2015; https://www2.fireeye.com/rs/848-DID-242/ images/rpt-apt29-hammertoss.pdf * APT29就是Dukes小組

CloudDuke這個工具集至少包括一個downloader,一個loader和兩個後門變體。CloudDuke downloader會從預先定義的位置下載和執行另外的木馬。有趣的是,這個位置可能是一個web地址,或一個OeDrive賬戶。

這兩個CloudDuke後門變體都支援簡單的後門功能,與SeaDuke類似。其中一個變體會透過HTTP或HTTPS使用一個預先配置的CC伺服器,另一個變體會使用OneDrive賬戶來交換命令和竊取到的資料。

深度閱讀:

  1. Artturi Lehtio; F-Secure Weblog; Duke APT group’s latest tools: cloud services and Linux support; published 22 July 2015; https://www.f-secure. com/weblog/archives/00002822.html
  2. Brandon Levene, Robert Falcone and Richard Wartell; Palo Alto Networks; Tracking MiniDionis: CozyCar’s New Ride Is Related to Seaduke; published 14 July 2015; http://researchcenter. paloaltonetworks.com/2015/07/tracking- minidionis-cozycars-new-ride-is-related-to- seaduke/
  3. Segey Lozhkin; Securelist; Minidionis – one more APT with a usage of cloud drives; published
  4. 16 July 2015; https://securelist.com/blog/ research/71443/minidionis-one-more-apt-with- a-usage-of-cloud-drives/

感染途徑

Dukes主要是利用釣魚郵件讓受害者感染木馬。這些釣魚郵件有的特別偽裝成垃圾資訊來傳播常見的犯罪軟體,併傳送給大量的接收人,有的是高度針對性的郵件,傳送給少量的接收人(或一個人),其中的內容也是與預定目標高度相關的。在有些情況下,Dukes會利用已經被攻破的受害者向其他目標傳送釣魚郵件。

Dukes小組利用的釣魚郵件中,要麼使用特製的惡意附件,或託管著木馬的URL連結。當使用惡意附件時,這些附件有的是利用常用軟體中的漏洞,比如Microsoft Word 或 Adobe Reader,或者是附件中包含有圖示和檔名,經過混淆後看起來不像是一個可執行檔案。

我們只在一些例項中發現,Dukes小組沒有使用釣魚作為初始的感染途徑,就是某些OnionDuke變體。這些變體在傳播木馬時,要麼使用惡意的Tor節點在合法的應用中植入OnionDuke工具集,要麼透過種子檔案來下載植入了木馬的合法應用。

最後,需要注意,Dukes有時候在感染了受害者後,還會用另外的木馬工具再感染這名受害者。比如,使用感染了CozyDuke的受害者又感染了SeaDuke, HammerDuke或 OnionDuke;感染了CosmicDuke的受害者還會感染PinchDuke,GeminiDuke或MiniDuke。

誘餌

Dukes小組通常會在感染途徑中使用誘餌。這些誘餌可能是影像檔案,文件,Flash影片或類似的檔案,在感染過程中會顯示給使用者,從而迷惑受害者,防止他們注意到惡意活動。這些誘餌的內容有的是非針對性的材料,比如電視商業廣告-辦公室猴子;針對性文件,內容是與受害者相關的,比如報告,邀請或引數某項事件的人員名單。

一般情況下,這些誘餌的內容可能來自公共來源,有的是複製的公共材料,比如新聞報導,或公開的合法檔案。但是,在某些情況下,高度針對性的誘餌會使用非公共來源的材料。這些內容可能是竊取的其他的Duke工具集受害人。

漏洞利用

Dukes小組既在感染途經中利用漏洞,也在木馬中利用了漏洞。但是,我們只發現了一個例項-利用CVE-2013-0640來部署MiniDuke-我們認為這個漏洞在當時是一個0-day漏洞。在所有已知的漏洞利用案例中,我們認為,Dukes並不是自己發現漏洞,也不是設計漏洞來利用,而是購買了漏洞。在其他的案例中,我們認為他們只是購買了漏洞或概念驗證。

俄羅斯時區圖,粉色:MSK(UTC+3);橙色:UTC+4

歸屬和贊助國家

歸屬判斷一直是一個很難的問題,但是在理解這類威脅和與之對抗時,這個問題的答案又是很重要的。在文中,我們已經表達了觀點,我們認為Dukes小組是俄羅斯贊助的一個間諜小組。為了得到這一結論,我們首先分析了這個小組的目的和動機。

根據我們目前瞭解到的,在這7年中,Dukes小組是如何選擇目標的,他們的目標中一直都有與外交政策和安全政策相關的實體。這些目標包括一些組織,比如外交部,大使館,參議院,議會,國防部,國防承包商和智囊團。

在其中一個有趣的例子中,Dukes的目標中還出現過涉及非法藥品運輸的實體。但是,即使是這樣的目標也和他們的一貫目標相一致,考慮到毒品也與安全政策有關係。據此,我們對自己的判斷有信心,Dukes小組的主要任務是透過收集情報來支援外交和安全政策的確定。

很自然的,這就牽扯到了國家贊助的問題。根據這個小組的主要任務,我們認為主要的受益者是政府。但是Dukes小組或部門是屬於政府機構的嗎?還是外部承包商?只認錢的犯罪團伙?一群有技術的愛國分子?我們不清楚。

根據Dukes的活動長度,我們推測在這些行動中投入的資源數量和活動數量只會越來越多。我們認為,這個小組掌握有大量,關鍵的,穩定的經濟支撐。Dukes一直在實施大規模的活動,攻擊高價值目標,同時也會參與小規模的目標更廣的活動,很顯然,他們協調的很好,沒有遇到行動衝突。所有,我們認為Dukes是一家獨立的,協調能力強的大型組織,有著明確的責任劃分和目標。

Dukes小組有時候會為了保持隱蔽性而重新安排行動的繼續情況。他們的2015年CozyDuke和CloudDuke活動將這特點發揮到了極致。最極端的例子就是CloudDuke活動,當時的多家安全廠商都認為Dukes都曝光了CloudDuke活動後,他們又在2015年7月繼續進行了活動。所以,我們認為Dukes的主要任務很有價值,其贊助者認為行動繼續比一切都重要。

就我們看來,Dukes小組對公眾關注的無所謂,是因為其贊助者具有權勢,並且一直緊密聯絡著Dukes,所以Dukes才能肆無忌憚的進行行動。我們認為唯一有權力提供這樣全面的保護的就只能是國家政府。所以我們認為Dukes或者在政府內工作或直接就是效力於政府,絕不可能是犯罪團伙或其他第三方。

最後一個問題:哪個國家?我們無法負責人的證明是哪個具體的國家在支援Dukes。但是,在我們看來,所有的證據都指向了俄羅斯。而且,目前我們也沒有發現能有證據來駁斥這一理論。

卡巴斯基實驗室先前已經注意到,在一些Dukes木馬樣本中出現了俄語。我們也在很多PinchDuke樣本中發現了俄語的錯誤資訊:“Ошибка названия модуля! Название секции данных должно быть 4 байта!”,大體意思是 “模組名稱有錯誤,資料節名稱必須是4位元組!”

另外,卡巴斯基還指出,根據編譯時間戳,Duke木馬的作者主要是在週一至週五工作,從早上6點到下午4點, UTC+0時間。對應著UTC+3時區,也就是莫斯科時間的早9點和下午7點,基本涵蓋了大部分俄羅斯西部,包括莫斯科和聖彼得堡。

卡巴斯基實驗室對Duke木馬作者的工作時間分析也印證了我們自己的分析,以及FireEye的分析。很多GeminiDuke樣本中的時間戳也支援這種根據時區的推斷,這種相似性表明這個小組的工作地點位於莫斯科標誌時區,詳情請參考GeminiDuke技術分析部分。

最後,Dukes小組的目標有-西歐國家的外交部,西方智囊團和政府組織,甚至是俄羅斯毒梟-都與俄羅斯外交和安全政策相關。雖然,Dukes的目標看起來是全球的政府,但是我們並沒有發現他們針對俄羅斯政府。但是證據不足不代表就是沒有證據,這是很有趣的一點。

根據列出的證據和分析,我們認為,Duke工具集是一個獨立的,掌握有大量資源的大型組織開發的(我們稱之為Dukes小組),旨在為俄羅斯政府提供與外交和安全政策相關的情報,用於交換支援和保護。 歸屬判斷一直是一個很難的問題,但是在理解這類威脅和與之對抗時,這個問題的答案又是很重要的。在文中,我們已經表達了觀點,我們認為Dukes小組是俄羅斯贊助的一個間諜小組。為了得到這一結論,我們首先分析了這個小組的目的和動機。

根據我們目前瞭解到的,在這7年中,Dukes小組是如何選擇目標的,他們的目標中一直都有與外交政策和安全政策相關的實體。這些目標包括一些組織,比如外交部,大使館,參議院,議會,國防部,國防承包商和智囊團。

在其中一個有趣的例子中,Dukes的目標中還出現過涉及非法藥品運輸的實體。但是,即使是這樣的目標也和他們的一貫目標相一致,考慮到毒品也與安全政策有關係。據此,我們對自己的判斷有信心,Dukes小組的主要任務是透過收集情報來支援外交和安全政策的確定。

很自然的,這就牽扯到了國家贊助的問題。根據這個小組的主要任務,我們認為主要的受益者是政府。但是Dukes小組或部門是屬於政府機構的嗎?還是外部承包商?只認錢的犯罪團伙?一群有技術的愛國分子?我們不清楚。

根據Dukes的活動長度,我們推測在這些行動中投入的資源數量和活動數量只會越來越多。我們認為,這個小組掌握有大量,關鍵的,穩定的經濟支撐。Dukes一直在實施大規模的活動,攻擊高價值目標,同時也會參與小規模的目標更廣的活動,很顯然,他們協調的很好,沒有遇到行動衝突。所有,我們認為Dukes是一家獨立的,協調能力強的大型組織,有著明確的責任劃分和目標。

Dukes小組有時候會為了保持隱蔽性而重新安排行動的繼續情況。他們的2015年CozyDuke和CloudDuke活動將這特點發揮到了極致。最極端的例子就是CloudDuke活動,當時的多家安全廠商都認為Dukes都曝光了CloudDuke活動後,他們又在2015年7月繼續進行了活動。所以,我們認為Dukes的主要任務很有價值,其贊助者認為行動繼續比一切都重要。

就我們看來,Dukes小組對公眾關注的無所謂,是因為其贊助者具有權勢,並且一直緊密聯絡著Dukes,所以Dukes才能肆無忌憚的進行行動。我們認為唯一有權力提供這樣全面的保護的就只能是國家政府。所以我們認為Dukes或者在政府內工作或直接就是效力於政府,絕不可能是犯罪團伙或其他第三方。

最後一個問題:哪個國家?我們無法負責人的證明是哪個具體的國家在支援Dukes。但是,在我們看來,所有的證據都指向了俄羅斯。而且,目前我們也沒有發現能有證據來駁斥這一理論。

卡巴斯基實驗室先前已經注意到,在一些Dukes木馬樣本中出現了俄語。我們也在很多PinchDuke樣本中發現了俄語的錯誤資訊:“Ошибка названия модуля! Название секции данных должно быть 4 байта!”,大體意思是 “模組名稱有錯誤,資料節名稱必須是4位元組!”

另外,卡巴斯基還指出,根據編譯時間戳,Duke木馬的作者主要是在週一至週五工作,從早上6點到下午4點, UTC+0時間。對應著UTC+3時區,也就是莫斯科時間的早9點和下午7點,基本涵蓋了大部分俄羅斯西部,包括莫斯科和聖彼得堡。

卡巴斯基實驗室對Duke木馬作者的工作時間分析也印證了我們自己的分析,以及FireEye的分析。很多GeminiDuke樣本中的時間戳也支援這種根據時區的推斷,這種相似性表明這個小組的工作地點位於莫斯科標誌時區,詳情請參考GeminiDuke技術分析部分。

最後,Dukes小組的目標有-西歐國家的外交部,西方智囊團和政府組織,甚至是俄羅斯毒梟-都與俄羅斯外交和安全政策相關。雖然,Dukes的目標看起來是全球的政府,但是我們並沒有發現他們針對俄羅斯政府。但是證據不足不代表就是沒有證據,這是很有趣的一點。

根據列出的證據和分析,我們認為,Duke工具集是一個獨立的,掌握有大量資源的大型組織開發的(我們稱之為Dukes小組),旨在為俄羅斯政府提供與外交和安全政策相關的情報,用於交換支援和保護。

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章