作者:ADLab
接啟明星辰ADLab勒索軟件專題報告(上篇),啟明星辰ADLab勒索軟件專題報告(下篇)將進一步對典型勒索軟件家族的發展史和勒索軟件的攻擊防御展開解析。更多資訊和分析文章請關注ADLab官方網站(adlab.venustech.com.cn)。
3勒索軟件的發展歷史
3.4?典型的勒索軟件家族
3.4.1 CryptoLocker
圖10 ?CryptoLocker感染分布圖
2013年9月是勒索軟件歷史的關鍵時期,因為CryptoLocker誕生了。CryptoLocker是第一款通過受感染網站下載或者發送給商務人士的電子郵件附件形式感染用戶的勒索軟件。CryptoLocker感染快速蔓延,因為威脅利用了現有的GameOver Zeus僵尸網絡基礎設施。在2014年的Operation Tovar終止了GameOver Zeus Trojan和CryptoLocker活動。
CryptoLocker利用AES-256來加密特定擴展名的文件,然后使用C&C服務器生成的2048位RSA秘鑰來加密AES-256位密鑰。攻擊者威脅稱如果在三天內沒有收到錢他們將刪除私鑰。
CryptoLocker感染在2013年10月達到峰值,當時它月感染大約15萬臺計算機。
當用戶感染CryptoLocker時,CryptoLocker首先會將自身以隨機名稱保存到%AppData%或%LocalAppData%路徑,然后創建以下注冊表鍵實現自啟動:
KEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run “CryptoLocker”
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce “*CryptoLocker”
KEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run “CryptoLocker_<version_number>”
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce”*CryptoLocker_<version_number”,
根據Microsoft的文檔描述,在默認情況下當計算機以安全模式啟動時會忽略Run項,在RunOnce項下,如果在值名稱前加入*會使程序即使在安全模式下也運行,CryptoLocker正是利用了這一點使自身在安全模式下也能隨系統啟動運行。
CryptoLocker通過劫持擴展名exe的執行程序來使用戶運行可執行程序時先執行”C:\Windows\SYsWOW64\cmd.exe” /C “C:\Windows\Sysnative\vssadmin.exe” Delete Shadows /All /Quiet來刪除卷副本。
CryptoLocker在加密用戶文件前首先會構造請求連接遠程服務器,其中請求格式為version=&id=&name=&group=&lid=,該請求中包括了CryptoLocker的版本、ID、用戶名及系統語言。
CryptoLocker的C&C采用了硬編碼的IP地址及DGA算法生成的域名,首先CryptoLocker會嘗試用硬編碼的IP地址進行連接,如果連接不成功,則使用DGA算法生成的域名進行連接。
當CryptoLocker成功連接到C&C后,會從C&C接收RSA公鑰,并將該公鑰保存在注冊表HKEY_CURRENT_USER\Software\CryptoLocker下,該注冊表鍵還會保存CryptoLocker的版本及提示信息。然后CryptoLocker生成一個AES密鑰用來加密硬盤中以*.odt, *.ods, *.odp, *.odm, *.odc, *.odb, *.doc, *.docx, *.docm, *.wps, *.xls, *.xlsx, *.xlsm, *.xlsb, *.xlk, *.ppt, *.pptx, *.pptm, *.mdb, *.accdb, *.pst, *.dwg, *.dxf, *.dxg, *.wpd, *.rtf, *.wb2, *.mdf, *.dbf, *.psd, *.pdd, *.pdf, *.eps, *.ai, *.indd, *.cdr, *.jpg, *.jpe, *.jpg, *.dng, *.3fr, *.arw, *.srf, *.sr2, *.bay, *.crw, *.cr2, *.dcr, *.kdc, *.erf, *.mef, *.mrw, *.nef, *.nrw, *.orf, *.raf, *.raw, *.rwl, *.rw2, *.r3d, *.ptx, *.pef, *.srw, *.x3f, *.der, *.cer, *.crt, *.pem, *.pfx, *.p12, *.p7b, *.p7c.為擴展名的文件,加密完成后CryptoLocker會利用從服務器獲取到的RSA公鑰加密AES密鑰,并把加密結果保存到被加密文件的頭部。
CryptoLocker會將加密的文件路徑及名稱存儲在注冊表鍵HKEY_CURRENT_USER\Software\CryptoLocker\Files下。
圖11 ?CryptoLocker月感染量
3.4.2??CTB-Locker
與過去其他變體不同,CTB-Locker直接與Tor中C2服務器通信,而不是具有多層基礎設施。CTB-Locker在運行時會一直保持靜默狀態,直到用戶的所有文件被加密,并通過Tor將密鑰相關數據上傳到遠程服務器后,才會向用戶顯示警告,用戶必須支付比特幣才能獲得解密密鑰。
從采用的技術上來說,CTB-Locker會通過創建計劃任務,來實現自啟動,而且該勒索軟件在運行過程中會判斷vboxtray.exe、vboxservice.exe、vmtoolsd.exe等虛擬機進程是否存在,來阻礙分析。CTB-Locker的加密目標包括上百種文件,其中有:pwm,kwm,txt,cer,crt,der,pem,doc,cpp,c,php,js,cs,pas,bas,pl,py,docx,rtf,docm,xls,xlsx,safe,groups,xlk,xlsb,xlsm,mdb,mdf,dbf,sql,md,dd,dds,jpe,jpg,jpeg,cr2,raw,rw2,rwl,dwg,dxf,dxg,psd,3fr,accdb,ai,arw,bay,blend,cdr,crw,dcr,dng,eps,erf,indd,kdc,mef,mrw,nef,nrw,odb,odm,odp,ods,odt,orf,p12,p7b,p7c,pdd,pdf,pef,pfx,ppt,pptm,pptx,pst,ptx,r3d,raf,srf,srw,wb2,vsd,wpd,wps,7z,zip,rar,dbx,gdb,bsdr,bsdu,bdcr,bdcu,bpdr,bpdu,ims,bds,bdd,bdp,gsf,gsd,iss,arp,rik,gdb,fdb,abu,config,rgx。
CTB-Locker會將待加密的文件以后綴名.tmp移動到臨時目錄下面,然后根據文件的時間和系統時間等,構造緩沖區,并計算該緩沖區的SHA256值,以該值作為會話私鑰,使用ECDH算法產生一個會話公鑰,再與配置文件中的主公鑰使用ECDH算法生成會話共享密鑰,對會話共享密鑰計算SHA256并將這個值作為AES加密的key,對文件進行加密。
圖12 ?CTB-Locker勒索軟件
3.4.3??TeslaCrypt
TeslaCrypt也出現在2015年,這可能是持續威脅,因為開發人員制作出了四個版本。它首先通過Angler漏洞利用工具包來分發,之后再通過其他方式來分發。TeslaCrypt利用AES-256來加密文件,使用RSA-4096來加密AES私鑰。Tor內的C2域被用于支付和分發。在其基礎設施內包含多層,包括代理服務器。TeslaCrypt本身非常先進,其包含的功能可允許在受害者機器保持靈活性和持久性。
TeslaCrypt 在原有勒索軟件技術上加入了反調試、反沙箱技術以及防篡改保護。
TeslaCrypt通過檢測URLReader2接口來檢測當前是否運行在沙箱中,如果被檢測到在沙箱環境中運行,則退出進程。
圖13 ?檢測代碼
每200毫秒,TeslaCrypt會枚舉所有正在運行的進程,查找當前系統中是否存在taskmgr、procexp、regedit、msconfig、cmd進程,如果發現以上進程,則使用TerminateProcess函數終止。
TeslaCrypt加密的文件格式如下:
圖14 ?TeslaCrypt加密的文件格式列表
TeslaCrypt在運行過程中會將C&C解密,構造連接字符串,嘗試連接,其中連接字符串為Sub=(命令)&dh=(master_key_pub)&addr=%s&size=(未知)&version=(病毒版本信息)&OS=(操作系統信息)&ID=(硬編碼,未知)&inst_id=(隨機值system.bin 文件中的前8字節)。
圖15 ?C&C列表
3.4.4??Locky
Locky是迄今為止最流行且最大膽的勒索軟件家族之一,該勒索軟件于2016年2月被發現,Locky通過網絡釣魚活動及利用Dridex基礎設施快速傳播。Locky也因為感染美國多個地區的醫院而登上新聞頭條。攻擊者發現受感染醫療機構很快就支付贖金,這一發現導致包含勒索軟件下載的網絡釣魚電子郵件在醫療行業廣泛傳播。截止2016年4月,Locky的感染活動已經席卷全球,2016年4月Locky的地理位置分布情況如下所示:
圖16 ?2016年4月Locky感染分布圖【圖片來源:securelist】
Locky通過使用RSA-2048和AES-128算法對100多種文件類型進行加密,并且在每個存在加密文件的目錄下釋放一個名為_Locky_recover_instructions.txt的勒索提示文件。為了防止受害系統通過卷影副本進行系統還原,Locky同CTB-Locker一樣,會調用vssadmin.exe刪除全盤所有卷影副本,值得一提的是Locky同時也是第一款添加了中文提示的比特幣勒索軟件。
當Locky感染主機后,會向C&C服務器發送被感染機器的主機信息,并從C&C服務器下載RSA公鑰,為文件加密做準備。Locky使用卷信息的GUID的md5值作為感染主機標識,構造連接字符串并將連接字符串加密,向C&C請求加密密鑰,連接字符串為“id=感染標識&act=命令&affid=未知&lang=語言版本&corp=未知&serv=未知&os=操作系統&sp=補丁包&x64=是否為64位。”
圖17 ?加密前的連接信息
圖18 ?加密后的連接信息
?
圖19 ?采用的加密算法
Locky在連接C&C時還采用了域名生成算法,當該勒索軟件與C&C進行通信時,會使用rdtsc函數獲取當前處理器時間,并與勒索軟件內部某變量進行求余,通過該值來決定是直接訪問樣本中的硬編碼IP地址,還是使用算法生成的域名,通過加入域名生成算法,Locky的C&C將更不容易識別。
圖20 ?IP和域名生成邏輯
域名生成算法(DGA)指的是編譯到惡意軟件可執行文件中,根據用戶輸入的值計算域名的算法。可以將輸入的值看作加密密鑰或者算法的種子,如果不知道種子和算法,就無法預測出惡意軟件將會聯系到哪個域名,該樣本使用的種子為被感染機器的年月日以及硬編碼值。
圖21 ?DGA域名生成算法
Locky的控制命令如下:
3.4.5??Cerber
Cerber因為其獨特的贖金索要通知方式而著稱。多數勒索軟件通過文字訊息索要贖金,而Cerber卻獨樹一幟,通過語音通知受害人。但犯罪手法依然不變:支付贖金,然后恢復文件。
對比其他勒索軟件,Cerber勒索軟件增加了新的功能。首先,Cerber通過電子郵件附件的形式進入受害者計算機。一旦被打開,就像其他勒索軟件一樣加密文件并向受害者索要贖金。同時,它會進一步確認計算機聯網狀態,并將受感染的計算機用于其他目的。例如,實施分布式拒絕服務攻擊或作為垃圾郵件程序使用。
Cerber因為其獨特的贖金索要通知方式而著稱。多數勒索軟件通過文字訊息索要贖金,而Cerber卻獨樹一幟,通過語音通知受害人。但犯罪手法依然不變:支付贖金,然后恢復文件。
對比其他勒索軟件,Cerber勒索軟件增加了新的功能。首先,Cerber通過電子郵件附件的形式進入受害者計算機。一旦被打開,就像其他勒索軟件一樣加密文件并向受害者索要贖金。同時,它會進一步確認計算機聯網狀態,并將受感染的計算機用于其他目的。例如,實施分布式拒絕服務攻擊或作為垃圾郵件程序使用。
4 抵御勒索軟件攻擊
到目前為止,仍然沒有全面解決勒索軟件威脅的解決方案。然而十年來,勒索軟件已經演變成繁榮的犯罪業務。勒索軟件既瞄準家庭用戶,也針對企業和組織。以下是有效引導企業和組織針對勒索軟件進行防御的關鍵步驟。
4.1?構建防御:防止勒索軟件進入系統
與任何形式的在線網絡攻擊一樣,保護入口是關鍵。以下是防止勒索軟件感染企業網絡的安全措施列表。
(1)定期備份數據
備份重要文件可將潛在損害降至最低,良好的備份策略可確保所有關鍵數據保存在安全的位置,以便組織能夠在數據丟失的情況下輕松恢復。
(2)部署和實施白名單式的終端防護措施,加強應用程序控制
應用程序控制僅允許在系統上運行非惡意程序。該項措施需要IT管理員確定允許哪些應用程序在組織的網絡中運行和操作。
(3)正確的實施網絡分段和網絡安全域的劃分
通過策略性地針對資產和資源進行分組,劃分安全域。正確的網絡分段可以防止攻擊時整個網絡陷入癱瘓。對于用戶的權限設置要遵循最小權限原則,使得犯罪分子更難獲得管理權限。
(4)教育用戶識別有關社會工程學攻擊的危險和標志
為用戶提供良好的電子郵件和互聯網安全實踐培訓,例如下載附件、點擊網址或僅從受信任的來源執行程序。
(5)及時應用操作系統和第三方供應商提供的軟件補丁
未經修補的應用程序和服務器常會被用作將惡意軟件(如勒索軟件)推入系統的入口。為了解決這個問題,應定期修補和更新軟件,仔細檢查修補過程,以確定隱患得以消除。
(6)確保安全軟件定期更新并執行定期掃描
無論組織為保護網絡而構建的防御有多強,網絡罪犯只要找到一個破綻即可進入,所以確保所有安全防護產品及時更新并執行定期掃描也同樣重要。
4.2?中斷損傷:檢測和阻止破壞產生
從意外點擊惡意鏈接或將受感染文件下載到本地計算機,到顯示贖金提示這整個過程可能會在幾分鐘之內完成。這段時間至關重要,如果在這期間能夠及時檢測和阻斷勒索軟件,就可以將其造成的損害降至最低。以下是一些需要注意的事項。
(1)從網絡中識別并隔離受感染的主機
雖然勒索軟件行為因為變種和家族不同而不盡相同,但它們都要完成如:建立與C&C服務器通信的重要過程,應盡早識別這一行為并將該行為阻斷。
當出現異常行為的警報時,IT管理員應盡快采取行動,盡可能隔離受感染的主機。一旦識別出失陷主機,應立即斷開該主機的網絡連接,以防止感染到其他主機。
(2)建立實時事件響應小組
實時事件響應小組將監視組織中系統的活動,并接收網絡中用戶報告的異常通知。雖然用戶警報可能意味著加密過程已經開始,但響應小組可以對事件進行控制并防止感染擴散。
(3)鼓勵用戶向IT安全團隊報告任何異常的系統行為
IT管理員應主動教育企業和組織中的網絡用戶,對所有可能感染的跡象保持警惕。在勒索軟件感染過程中,有一些隱藏的物理跡象可以在其完全執行之前顯現出來,比如系統運行速度明顯減慢說明后臺發生了額外的進程,意識到這些跡象可以使IT響應團隊有足夠的時間控制情況。
4.3?災難恢復:從感染中恢復
以下是感染后可參考的處理措施:
(1)查找可用的解密工具
雖然并不是所有的勒索軟件加密之后都能夠進行解密,比如像Locky家族。但還是有很多類型的勒索軟件由于在設計和編碼過程中出現的缺陷導致其很容易被破解。
為了幫助大家找到一個恢復數據的解決方案,而不需要向勒索軟件的創建者支付贖金,我們收集并整理了大量的勒索軟件解密工具下載列表,列表我們會在后面提供。
在使用這些工具之前,建議先了解這些工具的工作原理,以確保找到最適合您的解決方案。另外,請注意,解密器可能會因為勒索軟件的更新而過時,強烈建議大家除了做好必要的防御措施外,還需要加強對重要數據進行備份。
感染勒索軟件后,贖金窗口一般會說明文件被哪種類型的勒索軟件加密了,但有時候也可能沒有這方面的提示信息,如果需要確定加密軟件類型可以借助以下兩個站點:Crypto Sheriff from No More Ransom、ID Ransomware from MalwareHunter Team。
解密工具列表如下,在使用這些工具之前,請閱讀這些工具的特定條款和條件。
(聲明:本列表僅為我們收集整理的解密工具列表,不包含全部解密工具,歡迎大家對本工具列表進行補充和完善。)
Ransomware解密工具列表:
.777 ransomware decrypting tool
7even-HONE$T decrypting tool
.8lock8 ransomware decrypting tool?+?explanations
7ev3n decrypting tool
Agent.iih?decrypting tool (decrypted by theRakhni Decryptor)
?Alma decrypting tool
Al-Namrood decrypting tool?
Alpha decrypting tool
AlphaLocker decrypting tool
Apocalypse decrypting tool
ApocalypseVM decrypting tool?+?alternative
Aura decrypting tool?(decrypted by theRakhni Decryptor)
AutoIt decrypting tool?(decrypted by theRannoh Decryptor)
Autolocky decrypting tool
Badblock decrypting tool?+?alternative 1
Bart decrypting tool
BitCryptor decrypting tool
BitStak decrypting tool
Chimera decrypting tool?+?alternative 1?+?alternative 2
CoinVault decrypting tool
Cryaki decrypting tool?(decrypted by the Rannoh Decryptor)
Crybola decrypting tool?(decrypted by the Rannoh Decryptor)
CrypBoss decrypting tool
Crypren decrypting tool
Crypt38 decrypting tool
Crypt888 (see also Mircop) decrypting tool
CryptInfinite decrypting tool
CryptoDefense decrypting tool
CryptoHost (a.k.a. Manamecrypt) decryptingtool
Cryptokluchen decrypting tool?(decrypted by the Rakhni Decryptor)
CryptoTorLocker decrypting tool
CryptXXX decrypting tool
CrySIS decrypting tool?(decrypted by the Rakhni Decryptor–?additional details)
CTB-Locker Web decrypting tool
CuteRansomware decrypting tool
DeCrypt Protect decrypting tool
Democry decrypting tool?(decrypted by theRakhni Decryptor)
DMA Locker decrypting tool?+?DMA2 Locker decoding tool
Fabiansomware decrypting tool
FenixLocker – decrypting tool
Fury decrypting tool?(decrypted by the Rannoh Decryptor)
GhostCrypt decrypting tool
Globe / Purge decrypting tool?+?alternative
Gomasom decrypting tool
Harasom decrypting tool
HydraCrypt decrypting tool
Jigsaw/CryptoHit decrypting tool?+?alternative
KeRanger decrypting tool
KeyBTC decrypting tool
KimcilWare decrypting tool
Lamer decrypting tool?(decrypted by theRakhni Decryptor)
LeChiffre decrypting tool?+?alternative
Legion decrypting tool
Linux.Encoder decrypting tool
Lock Screen ransomware decrypting tool
Locker decrypting tool
Lortok decrypting tool?(decrypted by theRakhni Decryptor)
MarsJoke decryption tool
Manamecrypt decrypting tool (a.k.a.CryptoHost)
Mircop decrypting tool?+?alternative
Merry Christmas / MRCR decryptor
Nanolocker decrypting tool
Nemucod decrypting tool?+?alternative
NMoreira ransomware decryption tool
ODCODC decrypting tool
Operation Global III Ransomware decryptingtool
Ozozalocker ranomware decryptor
PClock decrypting tool
Petya decrypting tool
Philadelphia decrypting tool
PizzaCrypts decrypting tool
Pletor decrypting tool?(decrypted by theRakhni Decryptor)
Pompous decrypting tool
PowerWare / PoshCoder decrypting tool
Radamant decrypting tool
Rakhni decrypting tool
Rannoh decrypting tool
Rector decrypting tool
Rotor decrypting tool?(decrypted by theRakhni Decryptor)
Scraper decrypting tool
Shade / Troldesh decrypting tool +?alternative
SNSLocker decrypting tool
Stampado decrypting tool?+?alternative
SZFlocker decrypting tool
TeleCrypt decrypting tool?(additional details)
TeslaCrypt decrypting tool?+?alternative 1?+?alternative 2
TorrentLocker decrypting tool
Umbrecrypt decrypting tool
Wildfire decrypting tool +?alternative
XORBAT decrypting tool
XORIST decrypting tool?+?alternative
(2)實施全面的數據備份和恢復計劃
開發全面的備份和恢復計劃,可確保組織的重要數據即使在數據丟失時也是完整的(不限于勒索軟件感染),通過實施計劃組織將能夠輕松地恢復正常運作并恢復運營。
(3)進行事件后的感染分析
勒索攻擊事件發生之后,我們需要針對事件進行詳細的分析,比如對感染的深度和廣度進行調查。更重要的是要分析受感染用戶是通過什么方式感染的,以確定應該從哪些方面入手對問題進行解決,防止類似的事件再次發生。另外也要對勒索軟件行為進行分析,確定勒索軟件攻擊的指示器,并將這些分析結果用于改進檢測防范和防御方法,提升整體安全防護能力。
5 參考文獻
(1)天際友盟威脅情報平臺:https://redqueen.sec-un.com/
(2)《Ransomware-Wikipedia》:https://en.wikipedia.org/wiki/Ransomware
(3)《Ransomware-Definiti》:https://www.trendmicro.com/vinfo/us/security/definition/ransomware
(4)《What is Ransomware and 15 Easy Steps To Keep Your System Protected》:https://heimdalsecurity.com/blog/what-is-ransomware-protection/
(5)《20種勒索軟件,你了解多少?》:http://www.duorenwei.com/news/2711.html
(6)《家庭用戶常見威脅及防御》