《Android惡名昭彰惡意app》Joker的新花樣,自動幫受害者訂閱加值服務

趨勢科技發現了好幾個會在用戶不知情下,訂閱加值服務的Joker相關新應用程式。該惡意軟體已經從 Google Play商店移除1,700多個有問題的應用程式

Joker拿出了更多把戲:就跟過去的攻擊一樣,新的Android惡意應用程式會在未經使用者同意就訂閱加值服務。
Joker(又被稱為Bread)是長期針對Android裝置的惡意軟體。該惡意軟體從2017年開始出現,到2020年初Google已經從Play商店移除1,700多個有問題的應用程式。但隨後惡意軟體製造者又上傳了更多樣本,如Zscaler所發現的那些。
趨勢科技之前的研究發現其會利用GitHub來隱藏惡意檔案的變種,藉此躲避偵測,讓新變種潛入Google Play。
因為它們與早期樣本的相似,我們懷疑這些應用程式並非是個別的單一攻擊,而是整體威脅活動的一部分。

圖1. 與Joker相關的新應用程式

Joker新應用程式:鍵盤桌布、手電筒、圖片編輯器….


以下是與Joker有關的新應用程式ID。我們已經通知Google,目前這些應用程式也已下架:

  • com.daynight.keyboard.wallpaper (鍵盤桌布)
  • com.pip.editor.camera2021 (PIP Photo Maker 2021)
  • com.light.super.flashlight (手電筒)
  • com.super.color.hairdryer (Sound Prank Hair Clipper, Fart, Crack Screen Prank)
  • com.super.star.ringtones (Pop Ringtones)
  • org.my.favorites.up.keypaper
  • com.hit.camera.pip
  • com.ce1ab3.app.photo.editor
  • cool.girly.wallpaper (SubscribeSDK;在VirusTotal發現)

在隨後的調查中,我們發現更多相關的惡意應用:

  • com.photo.modify.editor (圖片編輯器)
  • com.better.camera.pip (PIP camera – Photo Editor)
  • com.face.editor.photo (照片編輯器)
  • com.background.wallpaper.keyboard (鍵盤桌布)

我們遇到一個符合Joker偵測規則卻似乎帶有不同有效負載(payload)的樣本時,便開始進行調查。

其中一個應用程式(org.my.favorites.up.keypaper)的早期版本是非惡意的。但隨著版本更新,開發者逐漸加入了惡意程式碼。

新加入的程式碼被用於Dropper(用於安裝其他惡意軟體)。程式碼的組件(包括子套件名稱、Class名稱、Method名稱和垃圾程式碼)都經過嚴重混淆化。每個字串都用AES + Base64加密過。

圖2. Joker新加入的程式碼只顯示Dropper

在沙箱檢查應用程式是否正在運行後,該應用程式從APK內的asset/settings.bin解密初始有效負載。這個有效負載只是收集後設資料(metadata)並從C&C伺服器取得密鑰來從asset/cache.bin解密第二個有效負載。後設資料包含了Install Referrer資訊。因此我們懷疑Google Play並非是唯一的感染途徑。

雖然無法從C&C伺服器取得密鑰,但我們透過程式碼相似度發現類似的應用程式。透過比較,我們發現其有效負載Dropper行為並非獨一無二;在受感染Google Play商店應用程式裡,我們看到有些應用程式只使用一個階段(而非兩個階段)下載來取得最終有效負載。

樣本如何運作

主要有效負載使用com.unite.loader.LoaderExternalClass作為進入點。Method顯示如下:

圖3. 實際有效負載的Method

底下該Method的主要功能:

Method名稱功能
Init進行初始工作(收集後設資料,從C&C伺服器取得設定檔,根據條件觸發惡意行為)並解密最終有效負載
loadUrl透過客製化WebView載入網址
doOffer建立WebView,載入網址並執行從C&C來的JavaScript
onNotificationPosted接收簡訊時,從中讀取OTP代碼
onMessageReceived收到Firebase訊息時觸發doOffer method
onActivityCreated/ onActivityResumed/ onActivityDestroyed取得WebView活動的生命週期。

Joker首先會收集裝置資訊和電話號碼。接著從C&C取得網址和JavaScript,並在Activity建立WebView。然後在WebView載入訂閱網頁的網址,之後執行JavaScript。

該JavaScript程式碼用來自動地訂閱加值服務。

除此之外,Joker還會試著載入本地端檔案autopilot.js來進行除錯。

圖4. Joker載入本地端檔案autopilot.js來進行除錯

有意思的是,我們在VirusTotal找到名為SubscribeSDK(cool.girly.wallpaper)的應用程式。它包含了autopilot.js檔案,並且與前述應用程式高度相似。從功能面來看,這似乎是用於除錯的測試版本。

autopilot.js內包含數百個用於加值服務的目標網址。根據裡面出現過的語言(如英文、德文、葡萄牙文、西班牙文、阿拉伯文、泰文等),可以判斷這些網站來自不同區域。

此JavaScript在解析網頁和搜索特定元素方面下了很多功夫,好做到內容填充和自動點擊。

圖5. Joker解析並搜尋HTML內的各種元素

在某些情況下需要通過CAPTCHA步驟才能完成訂閱。Joker仍然可以繞過。

圖6. Joker繞過Google CAPTCHA

Joker接著會繼續訂閱流程,通常如下:

  1. 選擇手機電信業者
  2. 輸入MSISDN(行動用戶國際識別碼)
  3. 點擊OTP(一次性密碼)按鈕
  4. 輸入OTP代碼
  5. 點擊訂閱按鈕

首先,Joker選擇一個手機電信業者。然後根據電話號碼輸入MSISDN,並透過點擊OTP按鈕來取得OTP代碼。OTP代碼通常透過SMS接收。Joker利用NotificationListenerService組件監控簡訊內容來讀取代碼。接著惡意軟體將代碼輸入頁面上的輸入框。最後,它會點擊訂閱按鈕來啟用訂閱。

此新樣本內的惡意程式碼不斷演變而成為了SDK。它還不斷加入躲避技術來防止被偵測。最早的相關樣本出現於去年三月。

我們在autopilot.js裡看到一些中文的程式碼註釋。中文還出現在C&C主控介面及2019年所發現樣本內殭屍網路程式碼的註釋。這帶來了背後運營者的線索。

結論


我們可以從這些新樣本和其他早期樣本的相似性看出這些Joker應用程式並非個別的單一攻擊,而是整體威脅活動的一部分。話雖如此,所有的新樣本也可能並非來自同一個開發者,因為他們通常沒必要在這麼短的時間內重新建構程式碼。

Joker攻擊活動的持續進行讓我們不得不思考運營者的出發點。為什麼這些駭客要幫助這些加值服務公司?訂閱網站並沒有推出推薦方案,因此運營者似乎無法從中受益。有些運營者會在Google偵測到他們的應用程式時就停止。從Joker運營者即便被多次捉到也要努力確保惡意軟體持續在Google Play來看,很可能有能夠從中獲利的方法。

這些惡意應用也引發對服務商網站安全性的擔憂。有些使用者抱怨涉及的服務商也有過失,因為他們沒有與使用者確認訂閱。儘管這些網站具備驗證措施,但太過簡單而可以被破解。

Joker運營者的招數似乎層出不窮,因此安全研究人員、企業和使用者都應保持警惕,偵測並阻止惡意軟體。

建議


當安全研究人員揭露了數百個Joker應用程式時,該惡意軟體迅速以新面貌出現。因此:

建議使用者避免下載不必要的應用程式。此外也建議定期檢查未使用的應用程式並加以移除。另一個好的安全習慣是經常修補和更新裝置。此外,隨時注意行動安全的最新研究也有所幫助。

議用下列趨勢科技解決方案來保護行動裝置:

入侵指標

App ID下載數(應用程式下架前)SHA256趨勢科技偵測名稱
com.daynight.keyboard.wallpaper100,000+0e2accfa47b782b062cc324704c1f999796f5045d9753423cf7238fe4cabbfa8AndroidOS_JokerA.A
com.pip.editor.camera202110,000+22ef4b0deefc5ccad73f838ec6cc4f99b412e43439435cb9cdbb760bc5e5dcddAndroidOS_JokerA.A
com.light.super.flashlight10+f5224a4e7333713528aa99ddc1a15855061c268c73611f533bb2d2b61664ba7aAndroidOS_JokerA.A
com.super.color.hairdryer10,000+d1c8dc86601d6d36674b906c6179ef6983975bec5f731ff236e9720903c10ccaAndroidOS_JokerA.A
com.super.star.ringtones5,000+847f124576b9ef0b20c8135b85be31f084d117910b6ee84bedd4bd8cf1130586AndroidOS_JokerA.A
org.my.favorites.up.keypaperN/A459f6836cdfefdb2e1d32f3a2d739c27048797000b269d47ca9a6d9de2f664f2AndroidOS_JokerA.A
com.hit.camera.pipN/A018b705e8577f065ac6f0ede5a8a1622820b6aeac77d0284852ceaecf8d8460cAndroidOS_JokerA.A
com.ce1ab3.app.photo.editorN/A061bb1811f87f99eb480a34d074833e3d4564017304c12e60b20a4c5eb32d354AndroidOS_JokerA.A
cool.girly.wallpaperN/A; VirusTotal發現的測試應用程式3c560b87d30a5e57457d3838e759a8ed019a829f29843d9cc21a5e4ab356c9a0AndroidOS_JokerA.A
com.photo.modify.editor圖片編輯器75b31d048b4939f66b20324a5c3527cdaa90d647cda460b7a6030c6fed903ccfAndroidOS_JokerA.A
com.better.camera.pipPIP Camera – Photo Editor1466011aebaa4cfdc9ca7db311cecb693e8122602a34d16cc1c2bc7ac21c7e68AndroidOS_JokerA.A
com.face.editor.photo照片編輯器07052c30ec1f2c91ea969beada78c4c871eb5f9b77f767892c72683a48afd567AndroidOS_JokerA.A
com.background.wallpaper.keyboard鍵盤桌布8bd8885e5b71e5c442afbf3fd5598f39b2ff274812896487417ee3eabc15bd90AndroidOS_JokerA.A

@原文出處:No Laughing Matter: Joker’s Latest Ploy 作者:Echo Duan, Zhengyu Dong, Jesse Chang, Neo Ma

PC-cillin不只防毒也防詐騙 ✓手機✓電腦✓平板,跨平台防護3到位➔ 》即刻免費下載試用 ,
FBIGYoutubeLINE官網