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