編者按:此前我們曾經就Android Cerberus惡意木馬翻譯整理了一些相關技術資料,與此同時,北京鏈安的安全技術人員對該木馬的樣本進行了專業和細緻的分析,完成了一篇詳盡的技術文章,非常適合安卓客戶端開發者、安全技術人員閱讀了解。
本文首發於FreeBuf,FreeBuf是國內領先的網際網路安全新媒體,同時也是愛好者們交流與分享安全技術的社區,其投稿類文章均需要經過對應領域專家的審稿認可後方可通過。本文在FreeBuf投稿後,經過了其指定專業人員的審稿,最終得以發布也體現了本文的技術含量和價值,希望對業內人士有所幫助。
本文在FreeBuf的連結請點擊「閱讀原文」
Android Cerberus 惡意樣本分析 惡意樣本特徵 流程概覽 內存解密新 dex 地區白名單 隱藏圖標 定時觸發保活廣播 計步機制觸發與 C2 伺服器通信 更新攻擊命令 忽略電池優化 竊聽簡訊消息 激活設備管理員 啟動後台服務 誘導啟用無障礙服務 請求竊聽簡訊所需的權限 啟動設備鎖 更新輔助服務狀態到 payload 無障礙服務 木馬傳播機制 總結 參考文章
Android Cerberus 惡意樣本分析
前段時間網上流傳 Android 平台 Cerberus 木馬家族出現了新的變種,在網上找了一番沒有找到新變種的木馬樣本反而找到了 2019 年 6 月披露的一批樣本,這裡挑選了其中一個樣本深入的分析下看看 Cerberus 木馬的工作機制。
Cerberus 木馬的詳細介紹可以閱讀之前發的文章:https://mp.weixin.qq.com/s/UewBO4RgTlh9vBKzqYXEcQ
應用包名:com.uxlgtsvfdc.zipvwntdy
SHA-256:728a6ea44aab94a2d0ebbccbf0c1b4a93fbd9efa8813c19a88d368d6a46b4f4f
通過在內存搜索匹配 dex 文件特徵並轉儲內存中解密後的 dex 獲取木馬的核心代碼。
白名單國家名單有:烏克蘭、俄羅斯、白俄羅斯、塔吉克、烏茲別克、土庫曼、亞塞拜然、亞美尼亞、哈薩克、吉爾吉斯、摩爾多瓦等。
客戶端與 C2 伺服器交互流程如下:
1.首先拉取 C2 伺服器下發的攻擊命令。
2.如果響應命令為 ||no|| 則註冊到 C2 伺服器成為肉雞設備
3.如果命令包含 ||youNeedMoreResources|| 則下載 payload 並保存到 data/data/包名/apk/system.apk 文件中。
4.更新攻擊命令到 payload 等待完成攻擊。
在無障礙服務中模擬點擊激活按鈕,完成激活設備管理員防止被用戶卸載,也為後續鎖定設備提供權限支撐。
監控介面是否在 Google Play 保護機制掃描介面,如果是則發送回退事件防止被查殺。
監控當前前台活動發送到 payload 執行相關攻擊操作。
對於本次分析遺憾的是由於 C2 伺服器的關閉導致無法獲取到核心的 payload 代碼和相關惡意指令,從而無法進行更加全面的分析木馬的攻擊機制。但 payload 想要完成攻擊終究還是依賴於無障礙服務的啟用,我相信 Cerberus 木馬家族的新變種也會依賴於該功能,所以建議在日常使用 Android 設備時應謹慎啟用設置中的無障礙服務開關。
Cerberus 仍是目前較為活躍的 Android 平台新型木馬,其作者通過租賃的方式進行盈利,同時在黑市和 Twitter 上宣傳木馬內容從而吸引惡意活動參與者購買此木馬。
此類木馬危害極大,普通用戶在下載相關軟體時請首先確認網站的真實性,確保軟體來源的可靠性防止被釣魚攻擊下載到此類惡意軟體。