Android.KungFu手机病毒清理方法

2023-11-01 12:30

本文主要是介绍Android.KungFu手机病毒清理方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Android.KungFu最早在6月份被安全厂商截获,随后又出现了至少3种不同的变种,截止到发文为止,这款病毒仍然在不断演化。KungFu系列病毒的特征非常典型,感染此病毒的手机会自动在后台静默下载并安装某些软件,当手机感染此病毒后使用常规安全软件无法彻底清除,甚至将手机恢复至出厂设置也无法解决问题,这款病毒通常会捆绑在某些合法软件内,在第三方Android应用市场和论坛中传播,常见的宿主包括一键XXX(免费)、音乐随身听等,截止到发文为止,LBE团队已经通知各大第三方Android应用市场和论坛关注该类型的应用。

步骤/方法

  1.   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权限,多数手机依然会受这个病毒威胁。

    Android.KungFu手机病毒清理方法
  2. 然后,随后,Loader会进行以下操作(不同的变种具体细节可能不同):

  3. 将系统分区设置为可写

      获取设备信息,包括系统版本,手机品牌,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软件包

      设置浏览器首页(未使用)

      至此,病毒就会源源不断的向受感染的手机中自动下载并安装软件,从中获取高额利益了。

      

  4. 清除方法

      使用专杀工具

      由于Android.KungFu的特殊性,常规安全软件无法完全清除此病毒,因此LBE小组提供了针对Android.KungFu的专杀工具,彻底清理Android.KungFu在系统内的残留,您可以从http://www.lbesec.com/下载到此工具。需要注意的是,使用此工具之前,您必须使用安全软件全盘扫描,确保所有感染病毒的APK文件已被清理,否则有可能清除不彻底导致重新感染。

      

  5. 手工清理

      我们推荐用户使用专杀工具,方便快捷,但如果您希望能自己动手的话,也可以手工清除Android.KungFu残留。同样在手工清除前,请使用安全软件全盘扫描,确保所有感染病毒的APK文件已被清理,否则有可能清除不彻底导致重新感染。

      如果您的手机未安装过Busybox,请首先安装Busybox https://market.android.com/details?id=stericson.busybox

      使用超级终端软件,或者在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 /system/bin/dhcpcdd /system/bin/dhcpcd

      如果/system/bin/bootanimationd文件存在的话,执行以下操作

      busybox mv /system/bin/bootanimation

      busybox mv /system/bin/bootanimiationd /system/bin/bootanimation

      最后,重启手机,完成清理

      reboot

      

  6. 对以上操作的一些说明:

      chattr命令是用来去除文件的EXT2_IMMUTABLE_FL标志位。如果系统分区使用ext文件系统的话,病毒会给所有受感染的文件设置此标志 位,此标志位可以防止文件被删除(这也是有些用户尝试用RE管理器删除失败的原因)。如果您在执行chattr命令的时候出现错误,也不要惊慌,这说明您 的系统分区不是ext文件系统,只要随后的rm命令能够成功执行,就表示清理操作已成功。

      

  7. 结语和分析

      以破坏系统、炫耀技术为目标的恶意软件早已淡出视线,如今的恶意软件都以明确的利益为导向,Android.KungFu也不例外。根据用户报告,该病毒 会自动向用户手机中安装并激活下列软件:大众点评、游戏快递、有你短信、京东商城、当当网、银联、盛大切客、云中书城等。很明显,这是一款通过自动推送并 静默安装软件,以获取推广费用为目的的恶意软件。根据当前市场上一个有效激活大约2元人民币的价格,我们不难算出病毒作者以损害用户经济利益为代价,轻易 攫取了高额的回报。

      目前多数安全软件(包括我们LBE小组的软件在内)仅仅会扫描APK文件,而以Android.KungFu为代表的恶意软件,则已经具备初步的感染ELF文件的能力。安全厂商应尽快跟进,加强ELF文件扫描的能力。

      由于Android平台的漏洞的频频出现,而厂商在ROM更新方面相对滞后,导致相当一部分Android设备暴漏在提权漏洞的威胁中。作为Android用户,您切不可认为不ROOT就等于安全(更何况,还有相当多的恶意软件无需ROOT也可以运行)。我们建议您:只通过安全的途径下载使用软件,不安装来历不明的软件(谨慎安装各种汉化版、破解版软件),使用一款安全软件,通过以上途径来保护您手机的安全。

    http://jingyan.baidu.com/article/363872ec8ad56b6e4ba16fb1.html

这篇关于Android.KungFu手机病毒清理方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/322979

相关文章

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法