一、綜述
5月12日,全球爆發(fā)的勒索病毒W(wǎng)annaCry借助高危漏洞“永恒之藍”(EternalBlue)在世界范圍內(nèi)爆發(fā),據(jù)報道包括美國、英國、中國、俄羅斯、西班牙、意大利、越南等百余個國家均遭受大規(guī)模攻擊。我國的許多行業(yè)機構(gòu)和大型企業(yè)也被攻擊,有的單位甚至“全軍覆沒”,損失之嚴重為近年來所罕見。
本報告將從傳播途徑、危害方式和結(jié)果、受威脅用戶群等角度,逐一厘清這個惡性病毒方方面面的真相,用以幫助大家認識、解決該病毒,防范未來可能出現(xiàn)的變種病毒,同時澄清一些謠傳和謊言。
1.1病毒攻擊行為和結(jié)果
遭受WannaCry病毒侵害的電腦,其文件將被加密鎖死,慣常來說,受害用戶支付贖金后可以獲得解密密鑰,恢復(fù)這些文件。但是根據(jù)火絨工程師的分析,遭受WannaCry攻擊的用戶可能會永遠失去這些文件。
WannaCry病毒存在一個致命缺陷,即病毒作者無法明確認定哪些受害者支付了贖金,因此很難給相應(yīng)的解密密鑰,所以用戶即使支付了贖金,也未必能順利獲得密鑰該電腦系統(tǒng)及文件依舊無法得到恢復(fù)。
至于網(wǎng)上流傳的各種“解密方法”,基本上是沒用的,請大家切勿聽信謊言,以防遭受更多財產(chǎn)損失。一些安全廠商提供的“解密工具”,其實只是“文件恢復(fù)工具”,可以恢復(fù)一些被刪除的文件,但是作用有限。
因為病毒是生成加密過的用戶文件后再刪除原始文件,所以存在通過文件恢復(fù)類工具恢復(fù)原始未加密文件的可能。但是因為病毒對文件系統(tǒng)的修改操作過于頻繁,導(dǎo)致被刪除的原始文件數(shù)據(jù)塊被覆蓋,致使實際恢復(fù)效果有限。且隨著系統(tǒng)持續(xù)運行,恢復(fù)類工具恢復(fù)數(shù)據(jù)的可能性會顯著降低。
1.2傳播途徑和攻擊方式
據(jù)火絨實驗室技術(shù)分析追溯發(fā)現(xiàn),該病毒分蠕蟲部分及勒索病毒部分,前者用于傳播和釋放病毒,后者攻擊用戶加密文件。
其實,蠕蟲病毒是一種常見的計算機病毒。通過網(wǎng)絡(luò)和電子郵件進行傳播,具有自我復(fù)制和傳播迅速等特點。此次病毒制造者正是利用了前段時間美國國家安全局(NSA) 泄漏的Windows SMB遠程漏洞利用工具“永恒之藍”來進行傳播的。
據(jù)悉,蠕蟲代碼運行后先會連接域名:http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
如果該域名可以成功連接,則直接停止。而如果上述域名無法訪問,則會安裝病毒服務(wù),在局域網(wǎng)與外網(wǎng)進行傳播。
但是無論這個“神奇開關(guān)”是否開啟,該病毒都會攻擊用戶,鎖死文件。另外,這個開關(guān)程序很容易被病毒制造者去除,因此未來可能出現(xiàn)沒有開關(guān)的變種病毒。
1.3易受攻擊用戶群
目前看來,該病毒的受害者大都是行業(yè)機構(gòu)和大型企業(yè),互聯(lián)網(wǎng)個人用戶受感染報告很少。下面我們從操作系統(tǒng)和網(wǎng)絡(luò)結(jié)構(gòu)兩個角度,來說明容易受到攻擊的用戶群。
首先,該病毒只攻擊Windows系統(tǒng)的電腦,幾乎所有的Windows系統(tǒng)如果沒有打補丁,都會被攻擊。而Windows Vista、Windows Server 2008、Windows 7、Windows Server 2008 R2、Windows 8.1、Windows Server 2012、Windows Server 2012 R2、Windows Server 2016 版本,用戶如果開啟了自動更新或安裝了對應(yīng)的更新補丁,可以抵御該病毒。
Windows10是最安全的,由于其系統(tǒng)是默認開啟自動更新的,所以不會受該病毒影響。同時,Unix、Linux、Android等操作系統(tǒng),也不會受到攻擊。
同時,目前這個病毒通過共享端口傳播同時在公網(wǎng)及內(nèi)網(wǎng)進行傳播,直接暴露在公網(wǎng)上且沒有安裝相應(yīng)操作系統(tǒng)補丁的計算機有極大風(fēng)險會被感染,而通過路由撥號的個人和企業(yè)用戶,則不會受到來自公網(wǎng)的直接攻擊。
1.4火絨將持續(xù)追殺WannaCry
目前,對抗“蠕蟲”勒索軟件攻擊的行動仍未結(jié)束,在此,火絨安全專家提醒廣大用戶無需過度擔(dān)心,“火絨安全軟件”已迅速采取措施,完成緊急升級,通過火絨官網(wǎng)下載軟件,升級到最新版本即可防御、查殺該病毒。
自5月12日,WannaCry病毒一出,各機構(gòu)和用戶人心惶惶,草木皆兵,日前更是出現(xiàn)了2.0新變種等聳人聽聞的言論。截止到今日,火絨已經(jīng)收集到的所謂的“WannaCry”最新版本的“變種”,但通過對比分析發(fā)現(xiàn),該“變種“有明顯的人為修改痕跡,是好事者在造謠蹭熱度。火絨實驗室可以負責(zé)任地告訴大家,目前還沒有出現(xiàn)新版本變種。
而日后病毒是否會變異出現(xiàn)新“變種”?火絨實驗室將持續(xù)跟蹤新的病毒變種,一旦遇到新變種會隨時升級產(chǎn)品?;鸾q產(chǎn)品默認自動升級,請廣大用戶放心使用,無需做任何設(shè)置。內(nèi)網(wǎng)用戶通過外網(wǎng)下載火絨產(chǎn)品升級到最新版本,然后覆蓋安裝內(nèi)網(wǎng)電腦即可。
此次勒索病毒W(wǎng)annaCry傳播速度快,影響范圍廣,是互聯(lián)網(wǎng)歷史上所罕見的一次“網(wǎng)絡(luò)安全事故”。對安全廠商而言,是一次極大的考驗,“安全”重回主流勢在必行,同時也促進了全社會對網(wǎng)絡(luò)安全意識的提升。
二、樣本分析
該病毒分為兩個部分:
1. 蠕蟲部分,用于病毒傳播,并釋放出勒索病毒。
2. 勒索病毒部分,加密用戶文件索要贖金。
2.1 蠕蟲部分詳細分析:
2.1.1. 蠕蟲代碼運行后先會連接域名:http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
如果該域名可以成功連接,則直接退出。
關(guān)于這個“Kill Switch”的存在網(wǎng)絡(luò)上眾說紛紜,我們認為相對可靠的解釋是:開關(guān)的存在是為了檢測安全軟件沙箱。這種手法多見于惡意代碼混淆器,但是除了看到幾個人為修改“Kill Switch”的樣本外,該病毒并沒有批量生成、混淆的跡象。另外,如果真是為了對抗安全軟件沙箱,和以往對抗沙箱的樣本比起來,這段代碼過于簡單,而且出現(xiàn)的位置也過于明顯。所以,放置這樣一個“低級”的“Kill Switch”具體出于何種原因,恐怕只有惡意代碼作者能夠解釋了。
2.1.2. 如果上述域名無法訪問,則會安裝病毒服務(wù),服務(wù)的二進制文件路徑為當(dāng)前進程文件路徑,參數(shù)為:-m security,并啟動服務(wù)。
2.1.3. 釋放資源到C:\WINDOWS目錄下的tasksche.exe(該程序是勒索病毒),并將其啟動。
2.1.4. 蠕蟲病毒服務(wù)啟動后,會利用MS17-010漏洞傳播。傳播分為兩種渠道,一種是局域網(wǎng)傳播,另一種是公網(wǎng)傳播。如下圖所示:
局域網(wǎng)傳播主要代碼如下圖:
病毒會根據(jù)用戶計算機內(nèi)網(wǎng)IP,生成覆蓋整個局域網(wǎng)網(wǎng)段表,然后循環(huán)依次嘗試攻擊。相關(guān)代碼如下:
公網(wǎng)傳播主要代碼如下圖,病毒會隨機生成IP地址,嘗試發(fā)送攻擊代碼。
SMB漏洞攻擊數(shù)據(jù)包數(shù)據(jù),如下圖所示:
Worm病毒的PE文件中包含有兩個動態(tài)庫文件,是攻擊模塊的Payload,分別是:x86版本的payload,大小0x4060和x64版本的payload,大小0xc8a4。
兩個Payload都是只有資源目錄結(jié)構(gòu)沒有具體資源的無效PE動態(tài)庫文件。病毒在攻擊前,會構(gòu)造兩塊內(nèi)存,在內(nèi)存中分別組合Payload和打開Worm病毒自身,湊成有效攻擊Payload,代碼如下圖所示:
有效攻擊Payload模型如下:
完整的攻擊Payload的資源如下圖,資源中的第一個DWORD是病毒大小,之后就是病毒本身。
然后使用MS17-010漏洞,通過APC方式注入動態(tài)庫到被攻擊計算機的Lsass.exe,并執(zhí)行Payload動態(tài)庫的導(dǎo)出函數(shù)PlayGame,該函數(shù)非常簡單,功能就是釋放資源“W”到被攻擊計算機“C:Windows\mssecsvc.exe”,并執(zhí)行,如下圖所示:
火絨劍監(jiān)控被攻擊計算機的如下:
被攻擊的計算機包含病毒的完整功能,除了會被勒索,還會繼續(xù)使用MS17-010漏洞進行傳播,這種傳播呈幾何級向外擴張,這也是該病毒短時間內(nèi)大規(guī)模爆發(fā)的主要原因。如下圖:
目前,攻擊內(nèi)網(wǎng)IP需要用戶計算機直接暴露在公網(wǎng)且沒有安裝相應(yīng)操作系統(tǒng)補丁的計算機才會受到影響,因此那些通過路由撥號的個人用戶,并不會直接通過公網(wǎng)被攻擊。如果企業(yè)網(wǎng)絡(luò)也是通過總路由出口訪問公網(wǎng)的,那么企業(yè)網(wǎng)絡(luò)中的電腦也不會受到來自公網(wǎng)的直接攻擊。但是,現(xiàn)實中一些機構(gòu)的網(wǎng)絡(luò)存在直接連接公網(wǎng)的電腦,且內(nèi)部網(wǎng)絡(luò)又類似一個大局域網(wǎng),因此一旦暴露在公網(wǎng)上的電腦被攻破,就會導(dǎo)致整個局域網(wǎng)存在被感染的風(fēng)險。
2.2 勒索病毒部分詳細分析:
2.2.1 該程序資源中包含帶有密碼的壓縮文件,使用密碼“WNcry@2ol7”解壓之后釋放出一組文件:
1) taskdl.exe,刪除臨時目錄下的所有“*.WNCRYT”擴展名的臨時文件。
2)taskse.exe,以任意session運行指定程序。
3) u.wnry,解密程序,釋放后名為@WanaDecryptor@.exe。
4) b.wnry勒索圖片資源。
5)s.wnry,包含洋蔥路由器組件的壓縮包。病毒作者將勒索服務(wù)器搭建在”暗網(wǎng)”,需要通過tor.exe和服務(wù)器進行通信。
6)c.wnry,洋蔥路由器地址信息。
7)t.wnry,解密后得到加密文件主要邏輯代碼。
8)r.wnry,勒索Q&A。
2.2.2 通過命令行修改所有文件的權(quán)限為完全訪問權(quán)限。命令行如下:
icacls . /grant Everyone:F /T /C /Q
2.2.3 解密t.wnry文件數(shù)據(jù)得到含有主要加密邏輯代碼的動態(tài)庫,通過其模擬的LoadLibrary和GetProcAddress函數(shù)調(diào)用該動態(tài)庫中的導(dǎo)出函數(shù)執(zhí)行其加密邏輯。
調(diào)用勒索動態(tài)庫代碼,如下圖所示:
勒索主邏輯執(zhí)行,先會導(dǎo)入一個存放在鏡像中的RSA公鑰,之后調(diào)用CryptGenKey生成一組RSA算法的Session key。之后將這組Key的公鑰通過CryptExportKey導(dǎo)出,再寫入到00000000.pky文件中。將Session key中的私鑰用剛導(dǎo)入RSA公鑰進行加密,存放在00000000.eky如下圖所示:
如果遍歷到的文件擴展名在欲加密的文件擴展名列表中,如下圖所示:
則會將當(dāng)前文件路徑加入到文件操作列表中,在遍歷文件結(jié)束后一并進行文件操作。代碼如下圖:
對于每個需要加密的文件,都會調(diào)用CryptGenRadom隨機生成AES密鑰,之后使用Session Key中的RSA公鑰對AES密鑰進行加密,存放在加密后的數(shù)據(jù)文件頭中,之后將原始文件數(shù)據(jù)用該AES密鑰進行加密。如下圖所示:
整體加密流程,如下圖所示:
因為病毒是生成加密過的用戶文件后再刪除原始文件,所以存在通過文件恢復(fù)類工具恢復(fù)原始未加密文件的可能。但是因為病毒對文件系統(tǒng)的修改操作過于頻繁,導(dǎo)致被刪除的原始文件數(shù)據(jù)塊被覆蓋,致使實際恢復(fù)效果有限。且隨著系統(tǒng)持續(xù)運行,恢復(fù)類工具恢復(fù)數(shù)據(jù)的可能性會顯著降低。
三、關(guān)于“WannaCry”新變種的說明
早期版本的“WannaCry”病毒存在“Kill Switch”開關(guān),也就是病毒中檢測:“http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com”
這個網(wǎng)址是否可以訪問的代碼片段,如果可以訪問則不會利用“永恒之藍”漏洞繼續(xù)傳播。
現(xiàn)在這個域名已經(jīng)被注冊,這個版本“WannaCry”傳播功能等于已經(jīng)關(guān)閉,因為這段代碼本身沒有加密,所以很可能會被得到改病毒樣本的“駭客”修改,放開開關(guān),使病毒繼續(xù)傳播。
截止到今日,火絨已經(jīng)收集到的所謂“WannaCry”最新版本的“變種”,正如我們推測的一樣,網(wǎng)上兩個“熱炒"變種, SHA256分別為:
32f24601153be0885f11d62e0a8a2f0280a2034fc981d8184180c5d3b1b9e8cf
c8d816410ebfb134ee14d287a34cea9d34d627a2c5e16234ab726cf9fde47ec6
和早期的“WannaCry”相比
SHA256:
24d004a104d4d54034dbcffc2a4b19a11f39008a575aa614ea04703480b1022c
有明顯人為修改痕跡,如下圖所示:
這個樣本僅僅是16進制修改了兩個字節(jié),讓"Kill Switch"失效,這個修改不會影響火絨的檢測。
另外一個樣本除了修改了"Kill Switch"域名,還修改了病毒攜帶勒索模塊。經(jīng)過測試勒索代碼已經(jīng)被修改壞了,無法運行。如下圖:
除了以上兩個樣本,火絨還截獲另一個人為修改的” WannaCry “樣本,同樣被修改的不能運行,火絨依然可以檢測。SHA256如下:
99c0d50b088df94cb0b150a203de6433cb97d4f8fd3b106ce442757c5faa35c4
截止到本篇分析完成火絨還沒截獲所謂關(guān)閉“Kill Switch”開關(guān)的病毒樣本。
(審核編輯: 林靜)
分享