一. 恶意行为
1.病毒启动后申请root权限,hook系统服务进程,影响用户设备正常关机;
2.接收广播,私自进行拍照并上传至服务器等行为;
3.窃取用户短信,联系人,地理等信息并上传;
4.拦截短信并上传至服务器。
二. 流程图
三. 详细分析
1.软件自身dex分析
软件运行后启动服务com.phone.CService,调用hide()方法隐藏图标,
申请root权限
注册大量广播接收器:
PictureAgainReceiver用于接收广播picture.again调用SelfCamera2类的TakePicture()方法进行拍照:
MySurfaceView类用于预览照片,完成时图片存放于以下路径:
初始化生成及加载文件
文件注入完成后开始hook系统服务
设置将要hook的进程及方法名等信息传入hook()方法
被hook的系统进程及注入文件
根据传送来的参数hook
startCheck判断各个文件是否注入并调用成功
各个子包行为
子包\res\raw\libhookjava5.so加载子包\res\raw\ksremote.jar
子包\res\raw\ksremote.jar
注册广播接收器bindSdBroadReceiver
创建广播接收器SmsReceiver_old;
拦截短信
Tmp方法通过广播将数据发送
软件自身dex通过广播接收器接收并上传至指定服务器
通过文件ip_config读取服务器地址
获取用户通话记录
获取联系人信息
获取手机网络浏览历史
RSDServerImpl_old类
通过此广播接收器接收对应广播进行关机,重启,获取短信,获取通讯录等操作:
调用com.sd.hk.impl.RSDServerImpl类的hkShutdownMethod
com.sd.hk.impl.RSDServerImpl的初始化
Init方法通过调用子包\res\raw\libMUMtdown.so中的is方法,判断进程是否系统进程,进而访问不同的端口,从网络端获取数据
调用Jnicommon类
子包\res\raw\libH1Ck.so hook了系统的reboot方法,从而控制设备正常关机
子包\res\raw\libMUMtdown.so中的对应方法
通过修改Android属性进行拦截修改其关机或重启操作
四. 溯源信息
根据其上传信息的服务器ip,我们对其进行定位,发现其地理位置位于成都市:
五. 清除方案
system/lib/libyyzutils5.so
system/lib/lib8S5ec.so
system/lib/lib9WJutils.so
system/lib/libH1Ck.so
system/lib/libIZTkpackage.so
system/lib/libMUMtdown.so
system/lib/libOYBkprovider.so
system/lib/lib3HKkradio.so
system/lib/lib6HZkjava.so