2011年是Android設備爆發的一年,越來越多的朋友都享受到了智能機給生活帶來的便利,但與此同時,越來越多的惡意軟體也盯上了這個系統,連新年也不讓人安生。下面就為大家分析一款近日流行的惡意軟體——Android.KungFu系列變種,並且介紹針對這一病毒的解決方案。
病毒介紹
Android.KungFu最早在6月份被安全廠商截獲,隨後又出現了至少3種不同的變種,截止到發文為止,這款病毒仍然在不斷演化。KungFu系列病毒的特徵非常典型,感染此病毒的手機會自動在後臺靜默下載並安裝某些軟體,造成用戶流量話費損失以及系統全自動安裝廣告軟體。當手機感染此病毒後使用常規安全軟體無法徹底清除,甚至將手機恢復至出廠設置也無法解決問題。
這款病毒通常會捆綁在某些合法軟體內,在第三方Android應用市場和論壇中傳播,常見的宿主包括一鍵VPN(免費)、音樂隨身聽等,截止到發文,LBE團隊已經通知各大第三方Android應用市場和論壇關注該類型的應用。
病毒分析
Android.KungFu整體架構由兩個模塊構成,第一個模塊(Loader)會在宿主運行到特定場景時激活,隨後執行提權操作,並加載第二個模塊(Payload),Payload模塊則常駐內存,執行各種威脅手機安全的操作。Android.KungFu不同的變種之間,區別主要在於不同的Loader,Payload模塊則基本相同。
當Loader模塊被激活後,首先會試圖獲得ROOT權限。根據宿主軟體的不同,Loader會採用不同的策略,如果Loader宿主本身需要ROOT權限, Loader就會附著在宿主需要以ROOT權限執行的代碼之後運行(例如一鍵VPN免費版,其中捆綁的Android.KungFu會嵌入在安裝VPN的代碼中)。如果宿主本身不需要ROOT權限,Loader會利用公開的漏洞(NPROC_RLIMIT)在後臺靜默獲取ROOT權限(例如音樂隨身聽)。由於這個漏洞廣泛的存在於Android2.1和2.2設備上,所以,即使手機沒有ROOT權限,多數手機依然會受這個病毒威脅。
然後,隨後,Loader會進行以下操作(不同的變種具體細節可能不同):
1.將系統分區設置為可寫
2.獲取設備信息,包括系統版本,手機品牌,Device ID,SDK版本等數據,寫入mycfg.ini,並將此ini文件複製到/system/etc下重命名為.rild_cfg
使用AES加密算法解密Payload(Payload通常保存在宿主的assets中,名為Webview.db.init),並將Payload複製以下位置:
/system/etc/.dhcpcd
/system/xbin/ccb
/system/bin/installd(將原始文件備份為/system/bin/installdd)
/system/bin/dhcpcd(將原始文件備份為/system/bin/dhcpcdd)
/system/bin/bootanimation(將原始文件備份為/system/bin/bootanimationd)
3.恢復系統分區為只讀,並執行/system/xbin/ccb
至此,Payload已經完成金蟬脫殼,從宿主APK中成功的被釋放出來了。由於病毒替換的關鍵系統文件(installd, dhcpcd, bootanimation)在開機過程中會自動啟動,因此病毒實際上具備了以ROOT權限開機自動啟動的能力。同時,由於Payload已經脫離APK藏身於系統分區內,即使安全軟體檢測到病毒,也無法進行清理操作。
當Payload隨系統自動啟動之後,會嘗試連接以下地址,獲取攻擊命令:
http://search.gongfu-android.com:8511
http://search.zi18.com:8511
http://search.zs169.com:8511
由於Payload感染了多個系統進程,為避免相互衝突,當任意一個Payload進程連接至控制伺服器後,便創建/system/etc/dhcpcd.lock文件鎖來進行進程同步。
目前Payload已知的功能包括:
1.自動下載APK軟體包至本地
2.靜默安裝APK軟體包
3.啟動指定APK軟體包
4.靜默卸載APK軟體包
5.設置瀏覽器首頁(未使用)
至此,病毒就會源源不斷的向受感染的手機中自動下載並安裝軟體,從中獲取高額利益了。
清除方法
1.使用專殺工具
由於Android.KungFu的特殊性,常規安全軟體無法完全清除此病毒,因此LBE小組提供了專用Android.KungFu專殺工具,徹底清理Android.KungFu在系統內的殘留,您可以從http://www.yingyong.so/app/8/4426.htm下載到此工具。需要注意的是,使用此工具之前,您必須使用安全軟體全盤掃描,確保所有感染病毒的APK文件已被清理,否則有可能清除不徹底導致重新感染。
2.手工清理
我們推薦用戶使用專殺工具,方便快捷,但如果您希望能自己動手的話,也可以手工清除Android.KungFu殘留。同樣在手工清除前,請使用安全軟體全盤掃描,確保所有感染病毒的APK文件已被清理,否則有可能清除不徹底導致重新感染。
如果您的手機未安裝過Busybox,請首先安裝Busybox:http://www.yingyong.so/app/8/4277.htm
使用超級終端軟體,或者在PC上使用adb shell連接至手機,獲取root權限後,執行以下命令:
busybox mount –o remount,rw /system
busybox chattr –i /system/etc/.dhcpcd
busybox rm /system/etc/.dhcpcd
busybox chattr –i /system/etc/dhcpcd.lock
busybox rm /system/etc/dhcpcd.lock
busybox chattr –i /system/etc/.rild_cfg
busybox rm /system/etc/.rild_cfg
busybox chattr –i /system/xbin/ccb
busybox rm /system/xbin/ccb
如果/system/bin/installdd文件存在的話,執行以下操作
busybox rm /system/bin/installd
busybox mv /system/bin/installdd /system/bin/installd
如果/system/bin/dhcpcdd文件存在的話,執行以下操作
busybox rm /system/bin/dhcpcd
busybox rm mv /system/bin/dhcpcdd /system/bin/dhcpcd
如果/system/bin/bootanimationd文件存在的話,執行以下操作
busybox rm /system/bin/bootanimation
busybox rm mv /system/bin/bootanimiationd /system/bin/bootanimation
最後,重啟手機,完成清理
reboot
對以上操作的一些說明:
chattr命令是用來去除文件的EXT2_IMMUTABLE_FL標誌位。如果系統分區使用ext文件系統的話,病毒會給所有受感染的文件設置此標誌位,此標誌位可以防止文件被刪除(這也是有些用戶嘗試用RE管理器刪除失敗的原因)。如果您在執行chattr命令的時候出現錯誤,也不要驚慌,這說明您的系統分區不是ext文件系統,只要隨後的rm命令能夠成功執行,就表示清理操作已成功。
結語和分析
以破壞系統、炫耀技術為目標的惡意軟體早已淡出視線,如今的惡意軟體都以明確的利益為導向, Android.KungFu也不例外。根據用戶報告,該病毒會自動向用戶手機中安裝並激活下列軟體:大眾點評、遊戲快遞、有你簡訊、京東商城、當當網、銀聯、盛大切客、雲中書城等。很明顯,這是一款通過自動推送並靜默安裝軟體,以獲取推廣費用為目的的惡意軟體。根據當前市場上一個有效激活大約2元人民幣的價格,我們不難算出病毒作者以損害用戶經濟利益為代價,輕易攫取了高額的回報。
目前多數安全軟體僅僅會掃描APK文件,而以Android.KungFu為代表的惡意軟體,則已經具備初步的感染ELF文件的能力。安全廠商應儘快跟進,加強ELF文件掃描的能力。
由於Android平臺的漏洞的頻頻出現,而廠商在ROM更新方面相對滯後,導致相當一部分Android設備暴漏在提權漏洞的威脅中。作為Android用戶,您切不可認為不ROOT就等於安全(更何況,還有相當多的惡意軟體無需ROOT也可以運行)。我們建議您:只通過安全的途徑下載使用軟體,不安裝來歷不明的軟體(謹慎安裝各種漢化版、破解版軟體),使用一款安全軟體,通過以上途徑來保護您手機的安全。
感謝LBE小組投遞