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