设备:迈乐M9
OS:Android 4.2.2
固件版本:V3.4.5
20161103更新:
盒子今天又中毒了,症状和之前的一样,应该是上次没清理干净。
杀毒工具在/system/bin/下扫描出了病毒,名字是.install-recovery-no.sh和.install-recovery.sh-nu.bak的病毒文件,采用adb shell 下rm的方式,提示rm failed ,Operation not permitted,经过查找资料,应该是病毒通过chattr给病毒加了禁止删除的权限(即使是root用户)。网上有推荐装busybox后用chattr命令来改权限的方式。
在找busybox时,忽然想到了另外一种方式。既然机器已经root了,那我可以给这些杀毒工具root权限,让杀毒工具来做删除操作,这样不就更容易操作了。
分析当前的环境,从adb shell进入,默认就是root用户,但是系统安装的应用却提示没有root。在android终端应用里,尝试通过su命令切换到root用户,提示su不存在。
从网上下载了一个su可执行文件,将文件push到/system/xbin/目录下,执行
chown root:root /system/xbin/su;
chmod 6755 /system/xbin/su
此时在终端应用里通过su切换到root用户。而且杀毒工具运行时也能弹出申请root权限的弹框,看样子应用是根据是否有su文件来判断设备是否root。
给杀毒工具root权限后,剩下的就可以交给工具了。
----------------------我是分界线---------------------------------------------------------------------------------------------------
原始文章:
android设备中了病毒,每隔几分钟自动弹色情广告,或者是自动下载安装应用。从应用管理看到奇怪的进程。
前期尝试:
使用查杀工具-顽固木马专杀(英文名应该是Stubborn Trojan Killer),可以看到中了幽灵推病毒,还有另外几个病毒,但是这个工具在未获取到root权限的情况下,并不能够清除病毒。推测病毒之间存在进程守护,在某个病毒被杀死后,可以被其他病毒唤醒。
尝试在设备上安装虚拟终端,进入/system/app/路径下,可以看到跟病毒进程同名的apk文件,apk的用户和用户组都是root,但是设备却无法用root用户进行操作,没有权限删除病毒apk。尝试多种root工具也无法root。
尝试通过adb操作设备,由于设备是android盒子,也无法用USB连接。
解决问题的转折点:
在终端执行setprop service.adb.tcp.port 5555命令
通过adb连接android设备有两种方式:
1、未root设备,通过USB线连接,或者是在执行adb tcpip 5555,切换到网络模式后,在同一局域网,通过adb connect 方式连接。
2、已root设备,执行setprop service.adb.tcp.port 5555命令后,在同一局域网内通过adb connect 连接
因此在执行完以上操作后(可能还需要重启一下设备),通过adb就能以root用户操作了。
病毒的包名起的很有迷惑性,apk名也经常和包名不一致。(有的病毒包名非常有迷惑性,比如com.android.system.uiset,很像系统原生应用,怎么判断是否为原生,下文有提及)
查杀病毒apk的过程:
1.找包名
(1)根据应用管理中,奇怪的进程的包名
(2)有的病毒扫描程序能显示出病毒的包名
根据命令
pm list packages | grep {病毒包名中单个词}
来找到完整的包名
2.找存放的路径并删除
使用命令
dumpsys package {病毒包名}
命令返回里的codePath就是对应apk的路径,另外返回里的firstInstall时间,也能再次验证是否为病毒,
因为系统的原生应用,在出厂的时候就已经装好了,如果时间是比较新的应用,就肯定不是系统应用,可以判定为病毒。
删除方法:
/system/app/路径下的,把apk删掉就可以了。如果是/data/data/路径下的文件,可以使用pm uninstall
3.清理残留
之后使用360之类的工具,做一个全盘的扫描,可以清理掉一些存储在sdcard里的病毒apk文件。
该病毒应该是利用了系统漏洞,对系统进行了root,之后把自身提权,不能让用户轻易删除,同时有进程守护,避免进程被用户杀死。最终想要解决问题,目前来看只能是对系统进行root。
参考:
Get Infected with Ghost Push? Don’t worry, here’s the fix!
adb命令查看apk信息, adb启动你的apk
https://play.google.com/store/apps/details?id=com.cleanmaster.security.stubborntrjkiller&hl=en
su下载地址
为什么andriod 4.2.2中root权限删除system/bin目录中文件失败?
How does su work on android?
想了解chattr的可以看这个:
说说chattr / lsattr
另附一篇Ghost Push 的分析,今天发现的病毒文件基本上符合文章所述:
席卷全球的幽灵推(Ghost Push)病毒分析报告