進擊的短信木馬
木馬利用短信感覺受害者通信錄中好友.利用"看你做的好事","看你做的齷齪事"等語句誘導用戶安裝.
開始分析木馬,首先查看其Manifest文件.從其申請短信/聯(lián)系/聯(lián)網的權限來看已經可以基本確認這是一款短信攔截馬,貌似沒啥新意不過可以從中發(fā)現(xiàn)一些以前沒有的細節(jié).感覺這個木馬還是挺用心的。
首先是installLocation屬性的設置.
android:installLocation="internalOnly"
設置這個屬性的目的是不讓木馬 app 被安裝到 sdcard 中.因為如果 app 被安裝 sdcard 中而非手機內置存儲的話會失去以下特性導致木馬的功能不健全
- 系統(tǒng)會在加載外部存儲介質之前發(fā)送ACTION_BOOT_COMPLETED廣播,所以程序將不能接受開機廣播 (無法開機啟動)
- DeviceAdminReceiver失效 (無法激活設備管理器防止卸載)
- Service無法正常工作,會被 kill 且無法 restart (無法在后臺持續(xù)運行)
- Alarm Service 鬧鐘服務將被取消 (減少一個入口點)
第二個有意思的點 excludeFromRecents 是在 activity 標簽中設置的.
android:excludeFromRecents="false"
這樣設置的目的是不讓木馬 app 現(xiàn)在在最近程序列表中減少被普通用戶發(fā)現(xiàn)的概率.類似處理還有將此 Activity 在代碼中 disable
第三個特點是隨機字符串包名
package="tjkxyfmjhvdg.oprbrvvgeevv.uxqjjuqxympd"
要抓取幾個樣本后發(fā)現(xiàn),包名是隨機的字符串,但是代碼特助以及簽名都是一樣的.應該是通過程序自動生成的,猜測目的是躲避一些殺軟.
繼續(xù)觀察程序入口點: 1.主Activity,用戶點一次后將會被禁用
? ?<activity android:excludeFromRecents="false" android:label="@string/app_name" android:name="com.phone.stop.activity.MainActivity">
? ? ? ?<intent-filter>
? ? ? ? ? ?<action android:name="android.intent.action.MAIN" />
? ? ? ? ? ?<category android:name="android.intent.category.LAUNCHER" />
? ? ? ?</intent-filter>
? ?</activity>
功能老幾樣:
- 禁用Main Activity組件隱藏圖標
- 激活設備管理器,防止卸載
- 短信通信木馬使用者肉雞已經上線.
- 異步郵件發(fā)送受害者通信錄以及短信記錄
- 啟動后臺服務實時監(jiān)控短信
sevice 的主要功能是
- 動態(tài)注冊短信廣播接收器和觀察這
- 被destory后自動啟動
- 判斷木馬是否過期.(這點顯然可以看出,使用木馬的人是從它處購買的木馬,還有有效期的)
其他入口點: 2.開機廣播 3.網絡切換廣播 4.短信相關廣播 ,總計4處可以觸發(fā)攔截馬行為.
? ?<receiver android:name="com.phone.stop.receiver.BootReceiver">
? ? ? ?<intent-filter android:priority="2147483647">
? ? ? ? ? ?<action android:name="android.intent.action.BOOT_COMPLETED" />
? ? ? ? ? ?<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
? ? ? ? ? ?<action android:name="android.provider.Telephony.SMS_RECEIVED" />
? ? ? ? ? ?<action android:name="android.provider.Telephony.GSM_SMS_RECEIVED" />
? ? ? ? ? ?<action android:name="android.provider.Telephony.SMS_RECEIVED_2" />
? ? ? ? ? ?<action android:name="android.provider.Telephony.SMS_DELIVER" />
? ? ? ?</intent-filter>
? ?</receiver>
短信廣播接收器和觀察者的代碼就不貼了,發(fā)出的郵件是這樣的:
那么這個木馬是腫么存儲郵箱帳號木馬的了,發(fā)現(xiàn)這些個短信馬都喜歡用163.
這款木馬選擇對郵箱帳號密碼使用 des 加密.破解這個也很簡單現(xiàn)在有三個途徑:
- 根據密鑰使用 DES腳本解密
- hook API 方法 javax.mail.Service#connect(java.lang.String host, int port, java.lang.String user, java.lang.String password)
- 查看程序私有目錄下配置文件
大概兩天不到的時間已經有上千受害者中招,部分數(shù)據如下:
??
通信錄
短信記錄
總結木馬功能:
- 短信指令控制
- 通過 SMTP 協(xié)議郵件發(fā)送受害者通信錄以及短信記錄
- 通過"短信廣播接收器"和"觀察者"實時監(jiān)控短信
在這些用 SMTP 上傳受害者信息的短信木馬中,有些木馬作者比較 low 就直接硬編碼在 java 代碼中,有些會選擇像上述的加密,也有往底層遷移
木馬傳播途徑:
1.偽基站\釣魚\定向群發(fā)
2.受害者感染通信錄好友
木馬使用者手機號碼:
15168430384
13894651855
13660414800
13430222795
已驗證為黑卡,未實名認證.
傳播站點:
118.193.170.149:2100
118.193.157.132:1123
http://www.shunlilao.com/hyl/xiangni.apk
http://wusha66.net/erw2fs.apk
主要來自香港的 VPS.