[mobilesafe] 15_ROOT后的安全隐患案例三_Kungfu病毒

Android 4.0

Kungfu病毒

Kungfu介绍:
Android.KungFu整体架构由两个模块构成,第一个模块(Loader)会在宿主运行到特定场景时激活,随后执行提权操作,并加载第二个模块(Payload)Payload模块则常驻内存,执行各种威胁手机安全的操作。Android.KungFu不同的变种之间,区别主要在于不同的LoaderPayload模块则基本相同。
 Loader模块被激活后,首先会试图获得ROOT权限。根据宿主软件的不同,Loader会采用不同的策略,如果Loader宿主本身需要ROOT 权限,Loader就会附着在宿主需要以ROOT权限执行的代码之后运行(例如一键XXX免费版,其中捆绑的Android.KungFu会嵌入在安装 XXX的代码中)。如果宿主本身不需要ROOT权限,Loader会利用公开的漏洞(NPROC_RLIMIT)在后台静默获取ROOT权限(例如音乐随 身听)。由于这个漏洞广泛的存在于Android2.12.2设备上,所以,即使手机没有ROOT权限,多数手机依然会受这个病毒威胁。
然后,随后,Loader会进行以下操作(不同的变种具体细节可能不同):

将系统分区设置为可写

获取设备信息,包括系统版本,手机品牌,Device IDSDK版本等数据,写mycfg.ini,并将此ini文件复制到/system/etc下重命名为.rild_cfg

使用AES加密算法解密PayloadPayload通常保存在宿主的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

恢复系统分区为只读,并执行/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已知的功能包括:
自动下载APK软件包至本地
静默安装APK软件包
启动指定APK软件包
静默卸载APK软件包
设置浏览器首页(未使用)
至此,病毒就会源源不断的向受感染的手机中自动下载并安装软件,从中获取高额利益了。
l
Kungfu病毒特点:
在病毒的assets目录有四张"图片":
1、gbfm.png是一个linux下二进制文件,它的作用是无数次的装载、卸载sdcard,然后临时获取root权限


ROOT 的提权原理
superoneclick
zergrush 原理
(特定的手机,特定的版本上可以获取root)
2、install.png是linux下的脚本,作用是将病毒的文件安装到系统目录,然后又设置为read-only

chown:更改文件所有者
# mount -o remount system /system 重新挂载文件系统
系统应用在/system/app目录下,只要将这里面的系统apk给移除,那么这个系统应用就被移除了
可以利用这个命令来移除系统应用:
a、为执行该命令时,挂载文件系统
rm - r Music.apk

b、执行后
# mount -o remount system /system 重新挂载文件系统 ,就可以卸载系统应用了
# rm -r Music.apk

c、取消系统文件系统的挂载
# mount -o remount,ro system /system  取消挂载文件系统,此时在移除系统应用会报错
# rm -r Superuser.apk
3、installsoft.png是linux下的脚本,静默的安装

静默安装程序:/system/bin/pm install -r *.apk  (-r表示覆盖安装)
打开一个Activity:/system/bin/am start -n cn.zengfansheng.mobilesafe/cn.zengfansheng.mobilesafe.HomeActivity
4、runme.png是一个linux下二进制文件