“聊天剽竊手”--ptrace程序注入型病毒
近日,百度安全實驗室發現了一款“聊天剽竊手”病毒,該病毒能夠通過ptrace方式注入惡意程式碼至QQ、微信程式程序,惡意程式碼能夠實時監控手機QQ、微信的聊天內容及聯絡人資訊。該病毒是目前發現的首款通過ptrace程序注入方式進行惡意竊取私密資料的病毒。
簡介
該病毒主要是通過ptrace注入QQ和微信程序進行資訊竊取的,主程式呼叫assets中的inject_appso,libcall.so以及conn.jar聯合進行“作案”,在conn.jar中獲取聊天資訊/最近聯絡人等,併發送廣播啟動主程式廣播接收器,將隱私資訊傳送至遠端地址。該病毒行為圖如下:
程式碼分析:
主惡意程式程式碼結構圖如下:
1、入口啟動
主惡意程式啟動後立刻嘗試獲取ROOT許可權,並將assets下的幾個將要執行的檔案拷貝至系統不同目錄下:
inject_appso –> /system/bin/
libcall.so –> /system/lib/
conn.jar –> /data/data/qy/
複製完檔案後,以管理員許可權執行inject_appso程式進行程式注入:
執行inject_appso
2、注入惡意程式碼至QQ/微信程序:
inject_appso可執行檔案以Root使用者執行後,通過呼叫ptrace函式獲取QQ、微信程序的控制權。獲取控制權後,在目標程序載入並執行附帶的惡意程式碼libcall.so:
ibcall.so程式碼執行後,首先獲取
3、惡意程式碼HookQQ、微信關鍵資料獲取使用者隱私
conn.jar程式碼結構圖如下:
conn.jar通過javahook方式監控QQ或微信聊天介面。
QQ聊天介面:com.tencent.mobileqq.activity.ChatActivity
微信聊天介面:com.tencent.mm.ui.chatting.ChattingUI
當聊天內容發生變動時,惡意程式碼便會獲得通知並獲取聊天內容:
HOOK微信聊天介面
監控聊天介面變化
獲取聊天內容
不僅能夠監控頁面內容,而且能夠通過獲取/data/data/com.tencent.mobileqq/目錄或者
獲取最近聯絡人資訊
4、將聊天資訊上傳至伺服器:
conn.jar獲取到聊天訊息後,便將這些資訊通過廣播“learn.yincc.CHAT_UPDATE”傳送出去。該廣播由主惡意程式接收,主惡意程式解析廣播內容後,將聊天內容傳送至遠端伺服器:
conn.jar傳送廣播
主惡意程式接收廣播
主惡意程式將聊天內容傳送至遠端伺服器