OpJerusalem 2019——一場「開年不順」的勒索軟體攻擊行動
最近幾天,一場名為#OpJerusalem的惡意行動正悄然展開,此次行動使用了一種新型的勒索軟體,讓世界各地的部分用戶受到了感染。SI-LAB對該惡意軟體分析後發現,此惡意軟體所使用的技術並不複雜。惡意軟體由Go編寫,用UPX加殼,一個被硬編碼在惡意軟體中的RSA公共證書用以加密受害者的目標文件。每當惡意軟體運行時,都會生成一個新的惟一密鑰。然而,由於加密目標文件的RSA公鑰是靜態的,既然只用了一個簡單的密鑰來加密,那麼也意味著可以使用唯一的RSA私鑰來進行解密。
該惡意軟體被稱為JCry(加密文件後會將文件名改寫為帶有.jcry的拓展名),是OpIsrael 2019計劃的一部分,OpIsrael計劃是某個黑客團體對以色列政府及私人網站每年都展開網路攻擊的攻擊計劃,其目標是對以色列發起網路攻擊以抗議以色列政府在以巴衝突中的舉措。
該黑客團伙過去曾使用過一些較為常見的攻擊手段,比如污損網站或使用分散式拒絕服務攻擊(DDoS)。在2013年4月7日,該團伙利用DoS攻擊和數據泄露對大量以色列網站造成了有史以來最嚴重的破壞。而自那以後,參與者和支持者的數量都在減少。
圖1:#OpIsrael參與者的統計數據。
上周末,數百個以色列熱門網站成為#OpJerusalem行動的新目標。此次攻擊用JCry勒索軟體感染Windows用戶,而用於傳播贖金軟體的感染媒介則是遭到破壞的網站。
為了實施這次攻擊,黑客們修改了來自nagich[.]com的一個流行的網路功能插件的DNS記錄。 當用戶使用該插件訪問網站時,會載入惡意腳本而不是合法插件。
卡巴斯基實驗室首席安全研究員Ido Naor於3月2日星期六在VirusBay分享了這一發現。
然而此次攻擊行動並不成功,研究人員表示:
惡意軟體的傳遞過程
在網站遭到入侵後,會放置一個腳本來執行下列任務:
·如果某個javascript變數與特定的字元串「Windows」相匹配,則會觸發惡意Adobe更新消息以傳遞JCry勒索軟體。
·否則,將顯示污損頁面。
以色列網站nagish [.] co [.] il遭到入侵被留下了以下信息:#OpJerusalem,耶路撒冷是巴勒斯坦的首都。
網頁的源代碼發布在GitHub上,可以很容易地看到一個有趣的錯誤:JCry將永遠不會被下載,因為printed的消息條件錯誤並且始終為真。(代碼見此處)
圖2:此活動中使用的惡意代碼。
為了吸引受害者,下面的圖片顯示的信息是:「您的Adobe Flash Player版本已經過時,請進行更新」。當用戶選擇更新時,就會下載惡意文件。
圖3:當用戶選擇更新時,會下載惡意文件。
圖4:惡意文件「flashplayer_install.exe "從hxxp://185.163.47.134下載。
如果用於訪問頁面的瀏覽器用戶代理不包含「Windows」,則會顯示毀損消息,且不會發生其他任何事情。
圖5:當瀏覽器的用戶代理不是Windows設備時的顯示頁面。
技術分析
SI-LAB通過對這款新型贖金軟體的分析,了解其犯罪分子使用的行為和技術。
如果用戶下載名為flashplayer_install.exe的exe文件,則會啟動感染過程。如圖所示,惡意軟體圖標與常見的Adobe Flash Player可執行文件相同,是誘騙受害者的一種技巧。
圖6:勒索軟體圖標。
第一個.exe是一個Winrar SFX文件Dropper,其中包含了三個檔案,即:
圖7:dropper。
Enc.exe負責加密用戶設備上的所有目標文件,是勒索軟體的初始階段;Dec.exe負責在贖金支付後解密所有文件的可執行文件;最後一個msg.vbs,有一個簡單的消息編碼。兩個文件(* .exe)都將複製到用戶的Startup文件夾中。
圖8:植入的文件。
如下所示,勒索軟體由UPX加殼,因此很容易就能破解。
圖9:檢測到UPX加殼器。
乍一看,在解壓這兩個文件之後,所有文件都被解壓,我們可以繼續進行惡意軟體分析。
圖10:解壓後的Enc.exe。
深入IDA
如圖所示,我們可以看到此惡意軟體是在Goland上編碼的。
圖11:Goland用於構建勒索軟體。
值得注意的是,Golang(Go)是一種相對較新的編程語言,用其編寫的惡意軟體並不常見。
然而,用Go編寫的新變種正在出現,這給惡意軟體分析師帶來了新的巨大挑戰。用Go編寫的應用程序體積龐大,在調試器下看起來與使用其他語言編譯的應用程序(如C / C )有很大不同。
為了解惡意軟體是否可行,我們重命名一些功能。可以看到聲明的一些加密函數——這是一個重要的指標,我們可以將此威脅歸類為勒索軟體。
圖12:觀察到的加密函數。
勒索軟體每次加密文件時使用的RSA公鑰如下:
圖13:勒索軟體用於加密目標文件的RSA公鑰
由於密鑰是硬編碼的,我們猜測私鑰可能也是惟一的——因為公鑰是不可變的。這樣,通過獲取一個私鑰,就可以恢復每個受感染用戶的所有文件。
具體來說,惡意軟體使用crypto_cipher_NewGCM函數加密目標文件,並用os__ptr_File_Write函數在磁碟(加密的文件)上寫入更改。
圖14:用於加密目標文件的函數。
在Dec.exe文件中使用相同的函數來解密文件。
圖15:用於解密目標文件的函數。
有趣的是,在分析這些文件時,我們能夠確定一些關於這個勒索軟體(sh4dow)的幕後作者的信息。
圖16:關於惡意軟體作者的信息。
執行惡意軟體
在運行時,將創建4個新線程,負責加密受感染用戶設備上的所有文件。
圖17:用於加密所有目標文件和CPU性能的線程。
然後對文件進行加密,並添加一個新的文件擴展名(.jcry)。
圖18:.jcry擴展名被添加到加密文件中。
加密過程完成後,會執行PowerShell,並打開可執行的Dec.exe。
圖19加密過程結束,解密文件(Dec.exe)會被打開。
惡意軟體還將創建一個名為JCRY_Note的贖回通知。其中包含受害者的唯一密鑰、發送500美元贖金的比特幣地址和一個TOR站點(http://kpx5wgcda7ezqjty)。
圖20:贖金票據、比特幣地址、受害者唯一密鑰
如下所示,當通過Powershell進程執行Dec.exe時,ext .exe文件會被刪除,而文件「PersonalKey.txt」被添加,其中包含用於支付贖金的密鑰。
圖21:惡意軟體生成的唯一個人密鑰。
在IDA上也可以觀察到這種活動。
圖22:執行Dec.exe文件時Enc.exe文件會被刪除。
接著重新運行惡意軟體,並驗證是否真的生成了新的唯一的密鑰。我們發現,每次運行時都會生成不同的唯一密鑰(它們實際上是唯一的)。
圖23:重新運行後生成的唯一密鑰。
有趣的是,這次惡意軟體無法消除第一階段(Enc.exe)。此外,如果PersonalKey.txt文件位於同一文件夾中,則勒索軟體無法啟動。我們需要將其刪除後才能重新運行。
圖24:惡意軟體試圖刪除ext .exe文件時拒絕訪問(見左下角)。
通過訪問TOR網站,我們觀察到它包含一個欄位,該欄位接收錢包的地址和生成的唯一密鑰。
圖25:用來收取贖金的TOR網站
由於用於支付的1FKWhzAeNhsZ2JQuWjWsEeryR6TqLkKFUt比特幣地址對於每個受害者都是相同的,所以攻擊者很難知道實際支付的是誰。目前尚不清楚襲擊者在支付贖金後是否會提供密鑰。
此外,我們可能會注意到,該比特幣賬戶目前沒有收到任何付款(2019年3月5日)。
圖26:騙子使用的比特幣錢包
TAG:嘶吼RoarTalk |