第0038期•2016.09.20 發行
ISSN 2077-8813

首頁 > 技術論壇

勒索軟體案例解析(二:TorrentLocker & CTB-Locker分析)

作者:曾煒傑 / 臺灣大學計算機及資訊網路中心網路組實習助理

有關勒索軟體相關的詳細內容介紹請見上一篇的「勒索軟體介紹與防範(一:CryptXXX & Locky分析)」,這篇是針對TorrentLocker 與 CTB-Locker做比較詳細的說明與分析,包括snort rules之撰寫,與cuckoo sandbox的沙箱分析。

一、TorrentLocker分析
1. 分析樣本:md5: 15853dc6adc57ff73da904cf63de2907
2. 感染途徑
從已知的案例分析,Torrentlocker感染途徑大多是來自惡意的電子郵件,下載的形式包含MS文件以VBA macro的型態下載下來並執行,或者是下載壓縮的資料夾,而惡意的執行檔就在解壓縮的同時執行了。也有的是直接使受害者點惡意連結來下載壓縮資料夾,而此惡意連結是來自CAPTCHA-enabled的下載頁面。
3. 加密過程
Torrentlocker在加密的過程中,會出現兩次如下的截圖,另外一張是要開啟如outlook的郵件程式,因為Torrentlocker除了會將受害者的檔案加密,還會盜取受害者的郵件憑證資訊,以拿到更多的email清單,或是可以直接利用受害者繼續傳送郵件來傳播Torrentlocker。


圖一 Torrentlocker執行畫面


圖二 Torrentlocker執行畫面Torrentlocker運作模式

4. Torrentlocker運作模式
以步驟來演示Torrenlocker感染途徑
(1) 當受害者感染了Torrentlocker,程式會先通報他的C&C server
(2) C&C server會先將勒索頁面寄給受害者
(3) Torrentlocker自己產生一個 random的AES 256-bit的key來加密檔案
(4) Torrentlocker將加密的key傳回C&C server並存在C&C server
(5) Torrentlocker開始加密檔案並將受害者的郵件資訊傳回C&C
(6) Torrentlocker會將加密的key在本機端刪除
(7) 當以上動作完成之後,torrent將會秀出勒索頁面,告知受害者相關資訊
(8) 最後Torrentlocker會將被加密檔案的總數傳回C&C server

5. 勒索頁面
Torrentlocker執行後會出現以下的網頁,以提供受害者進一步的指示以取回他的資料,雖然付款頁面是寫Crypt0Locker,但其實他只是想要誤導受害者中的不是Torrentlocker。(或是撰寫這隻程式的人懶得為自己的程式取名稱)


圖三 Torrentlocker勒索畫面


圖四 Torrentlocker 執行畫面

6. Dropped files
此隻惡意程式樣本,並還不是Torrentlocker的本體,當執行完此AFP_case_77108.js這個JS檔之後,程式會跟C&C get兩個檔案,一個是0100000,一個就是Torrentlocker的本身→1.exe,執行1.exe之後才會開始真正的加密。


圖五 Drop file示意圖

7. 網路行為分析
(1) Tor 分析
Torrentlocker 顧名思義,就是會使用tor network匿名式的網路,而在此次封包中也有抓到三個疑似C&C 的 reverse proxy。


圖六 Tor network詳細內容

其中一個實際連上後也可以明確看到209.249.157.69是這個tor network的exit node。


圖七 209.249.157.69的網頁

但也因為是tor network 所以封包內容也都全被加密,封包內容完全看不到。


圖八 與Tor C&C連線的封包內容

(2) C&C分析


圖九 C&C封包內容

利用網路工具分析Torrentlocker的封包其實是比較困難的,因為勒索軟體整體的網路行為幾乎都是加密的,而這張圖就是整體封包唯一比較明顯可以分析的feature,就是他會從linguistlounge.org這個domain GET一個1.exe 的HTTP封包。另外一個疑似C&C server的連線是ipecho.net這個domain。


圖十 C&C封包內容

(3) 惡意連線IP分析

DOMAIN

IP

linguistlounge.org

89.145.89.1

vlylafyso.blasters.biz

52.4.237.48

aia.startssl.com

184.25.56.67

www.download.windowsupdate.com

13.107.4.50

ipecho.net

146.255.36.1

oqysa.blasters.biz

52.4.237.48

ohavaceg.blasters.biz

52.4.237.48

表一 Torrentlocker連線的惡意IP與domain

表一說明了:檢測出這支Torrentlocker連線的惡意IP與domain。如果在不同時間或系統執行Torrentlocker,所query的domain都會稍有不同,因為在原碼分析中得知,Torrenlockert也使用了一種 Domain generation Algorithm(DGA)的演算法,Torrentlocker會根據受害者的hard-code seeeds還有當時系統的時間來產出特定的domain,而這個演算法也會每兩天產出六個新的domain來使用。
藉由以上分析可以得出一個小結論,Torrent與C&C溝通的feature:
HTTP/1.1 GET http://{hardcoded_IP_or_DGA}/1.exe?{parameters}

8. Snort Rules


圖十一 C&C封包content

(1) 利用前面分析所提到會get 1.php這個feature來撰寫,並利用byte_test來減少false-positive的情況,再利用封包看的到的content-length,connection與cache-control一併來分析。
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"MALWARE-CNC Win.Trojan.Torrentlocker variant outbound connection"; flow:to_server,established; content:"POST"; http_method; content:"/1.exe"; fast_pattern:only; http_uri; content:"Accept: */*|0D 0A|Host: "; http_header; content:"Connection: Keep-Alive|0D 0A|Cache-Control: no-cache|0D 0A 0D 0A|"; distance:0; http_header; content:!"User-Agent: "; metadata:impact_flag red, policy balanced-ips drop, policy security-ips drop, service http; classtype:trojan-activity; sid:1000002; rev:1; )
(2) 利用linquistlounge.org這個已認定的惡意網域,只要有DNS query的話就會產生警告。
alert udp $HOME_NET any -> any 53 (msg:"BLACKLIST DNS request for known malware domain linquistlounge.org - Win.Trojan.Torrentlocker"; flow:to_server; byte_test:1,!&,0xF8,2; content:"|0B|linquistlounge.org|02|org|00|"; fast_pattern:only; metadata:impact_flag red, policy balanced-ips drop, policy security-ips drop, service dns; classtype:trojan-activity; sid:100003; rev:2; )

9 Cuckoo analysis
將Torrentlocker放入Cuckoo Sandbox媕Y整理出下列的Signatures:
(1) File has been identified by at least one AntiVirus on VirusTotal as malicious
(2) Performs some HTTP requests
(3) A process attempted to delay the analysis task by a long amount of time.
(4) Tries to unhook Windows functions monitored by Cuckoo
(5) Steals private information from local Internet browsers
(6) Executed a process and injected code into it, probably while unpacking
(7) Collects information to fingerprint the system (MachineGuid, DigitalProductId, SystemBiosDate)
(8) nstalls itself for autorun at Windows startup

二、 CTB-Locker分析
1. 分析樣本
Md5:f87208a911d9d1a3793914a649dac97e
2. 感染途徑說明如下:


圖十二

3. 加密過程
利用pdf附檔名以及adobe的檔案圖示騙取使用者點選並執行。


圖十三 system exploer畫面

利用system explorer也可以明顯看出,除了原本的主程式在執行,底下還有兩個merge-0.exe副程式在執行。


圖十四 CTB-Locker勒索畫面

所有的加密檔案的名稱都會被重新命名,名稱的開頭是原本的檔名,而附檔名都會變成ywiizme,不過在我的沙箱環境中,發現文字檔與圖片檔會被加密,而音樂檔與影片檔不是這隻勒索的對象。


圖十五 信箱內容被加密


圖十六 網頁cookies被加密

4. 勒索畫面


圖十七 CTB-Locker 勒索畫面


圖十八 CTB-Locker 勒索畫面


圖十九 CTB-Locker 勒索畫面

5. 付款頁面與分析
依照他的指示去下載Tor Browser,再付款前,他也會先讓你選擇要解密三項檔案作保證,這也表示C&C握有所有加密的檔案的數量以及路徑。


圖二十 連上Tor network的頁面


圖二十一 檔案路徑畫面

由這張表可以明顯知道,C&C server握有所有加密的檔案以及路徑。


圖二十二 付款頁面讓受害者拿到一個private key


圖二十三 付款頁面

過程中,要我們在Tor Browser輸入受害者獨有的key。


圖二十四 圖二十三 付款頁面讓受害者可以測試解密的檔案

6. 網路行為分析
(1) C&C分析


圖二十五 C&C連線


圖二十六 C&C封包content

由網路封包分析,從六萬多筆封包資料當中,只有這筆是明碼且可以詳細看出網路行為的封包。但在分析過程當中,在這筆封包出現之前,加密行為就已經開始了,所以雖然82.94.251.220經分析判定是C&C server,但實際進行加密的執行程式並不是由此下載,所以這個C&C get的檔案,只能當作是一個pattern。

另外從六萬多筆封包當中,整理出所有可能的C&C連線。

IP

PORT

Location

91.121.84.137

4051

France

86.59.21.38

443

Australia

89.16.176.158

9001

United Kingdom

188.138.17.37

9001

Germany

62.210.92.11

9101

France

95.211.216.9

9001

Netherlands

195.154.171.24

9001

France

而這些與C&C連線的封包內容,在看ASCII沒有什麼特徵可以當作pattern,不像上面有明顯GET的http traffic,但如果仔細用十六位元模式看的話,這幾個C&C連線封包都有些共同的特徵,就是我在封包內容都有發現一樣的字串內容,就是下圖我用藍色圈起的部分。


圖二十七 C&C 封包內容相同部分對照圖


圖二十八 C&C封包特徵

7. Snort rules
利用前面分析所提到與C&C server連線十六位元字串的共同特徵來判定。
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"MALWARE-OTHER Win.Ransomware.CTB-Locker download attempt"; flow:established,to_client; file_data; content:"|C0 2F C0 0A C0 09 C0 13 C0 14 C0 12 C0 07 C0 11 00 33 00 32 00 45 00 39 00 38 00 88 00 16 00 2f 00 41 00 35 00 84 00 0A 00 05 00 4 00 FF 01 00|"; fast_pattern:only; metadata:impact_flag red, policy balanced-ips drop, policy security-ips drop, service ftp-data, service http, service imap, service pop3; classtype:trojan-activity; sid:1000006; rev:1;)

8. Cuckoo Sandbox Analysis
使用Cuckoo分析,並未偵測的任何的C&C連線,因為CTB-Locker有Anti-virtual environment的特性,所以如果使用Cuckoo的沙箱環境,CTB-Locker是不會有任何的C&C連線與加密行為。


圖二十九 cuckoo sandbox畫面

總結
綜合以上分析以及上一篇「勒索軟體介紹與防範(一:CryptXXX & Locky 分析)」的分析過程,可以發現除了在閘道上使用IPS的技術(撰寫snort rules)來防範或是企業使用一些雲端防護的產品,如果端點沒有及時的防毒軟體或做及時的更新,勒索病毒還是可以很容易的感染電腦。況且Snort Rules的產出也不是非常及時,可能等確定可以work的rule並放上IPS時,已經離sample出現10天以後了。
因為現在的勒索軟體,很多都是針對作業系統或是應用程式漏洞來攻擊(如惡意廣告、網頁掛馬),一個zero-day漏洞被駭客發現,平均四天就可以被駭客拿來利用做成勒索軟體的感染工具(Exploit Kit),所以一定要持續的更新作業系統以及應用程式,有在維護公司或學校設備的IT人員,建議可以定期看Hitcon組織所維護的zero-day漏洞通報平台,網址連結:https://zeroday.hitcon.org/
在這平台可以通報漏洞,或是可以知道有哪些學校企業有漏洞存在,大家一起維護台灣的資安環境。
另外,因為網路釣魚郵件的案件還是層出不窮,如果公司學校的企業的郵件閘道沒有阻擋到惡意程式的功能,個人端點也沒有如防毒軟體的程式做端點防護的話,如果真的誤點了惡意郵件,就真的會遭到感染,所以如果可以,還是非常建議在虛擬環境中開啟郵件,上一篇介紹當中有提到一個”sandboxie”的軟體,就是一個非常方便使用的的虛擬環境。
我這篇分析當中有提到非常多的C&C,所以如果有在管公司學校防火牆的IT工程師,可以參考以下網站,上面有整理很多已知的勒索軟體的C&C、distributing site、payment site,可以將上面所提供的IP與Domain搭配port直接加入到防火牆的黑名單,就可以大降低公司學校感染的風險。
1. Ransomware Tracker https://ransomwaretracker.abuse.ch/tracker/
2. h3x.eu http://track.h3x.eu/about/400


圖三十 Ransomware Tracker畫面Ransomware Tracker

參考資料
[1] 趨勢科技勒索軟體白皮書
http://www.createheart.com.tw/file/pdf/2016-Ransomware-WP_0608.pdf
[2] 勒索病毒喚醒危機感 企業重新正視端點安全
http://www.netadmin.com.tw/article_content.aspx?sn=1607010018&ns=1607040002
[3] 資安周報第29期:勒索軟體橫行之怪現象,連金融業也淪陷
http://www.ithome.com.tw/news/106755
[4] 思科:勒索軟體轉向攻擊大型企業用戶
http://www.ithome.com.tw/news/107448
[5] 2015年的漏洞攻擊包(Exploit Kit):充斥著Flash漏洞、淪陷網站和惡意廣告
http://blog.trendmicro.com.tw/?p=17109
[6] The Anti-Ransomware Protection Plan You Need to Follow Today
https://heimdalsecurity.com/blog/anti-ransomware-protection-plan/
[7] Ransomware Tracker
https://ransomwaretracker.abuse.ch/tracker/
[8] h3x.eu
http://track.h3x.eu/about/400