公众服务首页
司法行政人员首页
欢迎您访问司法行政(法律服务)案例库
首页 > 盘石软件(上海)有限公司计算机司法鉴定所 对“风语者”的功能性鉴定

盘石软件(上海)有限公司计算机司法鉴定所 对“风语者”的功能性鉴定

分享
案例内容
【案情简介】

对“风语者”安卓手机监听软件进行功能性鉴定。

【鉴定过程】

解压委托方提供的压缩文件,成功提取到数个apk文件。使用“Android逆向助手”对所有的apk文件逐一进行反编译。在生成的文件夹中,文件夹“smali”中包含程序的核心代码,xml文件“AndroidManifest.xml”为程序的配置文件。

使用BeyondCompare对所有反编译后生成的文件“AndroidManifest.xml”进行比对,发现所有的apk程序可以分为“*有界面版本.apk”和“*无界面版本.apk”两大类。使用BeyondCompare对所有反编译后的程序核心代码进行比对,发现存在的差异项对程序的功能没有影响。故现只对解压后的同一文件夹下的“*有界面版本.apk”和“*无界面版本.apk”进行功能分析。此处以文件夹“2500”内的两个apk文件“ListenerPro_xiaoshuai无界面版本.apk”和“ListenerPro_xiaoshuai有界面版本.apk”作为样本。

将“ListenerPro_xiaoshuai无界面版本.apk”文件的后缀名改成“.zip”并进行解压并保存。解压后得到的文件中存在xml文件“AndroidManifest.xml”,即程序的配置文件。查看上述xml文件“AndroidManifest.xml”,发现功能为申请敏感权限(包括创建、读取短信和彩信,拨打电话,编辑、读取联系人,创建、读取通话记录,百度地图定位,录音,开启移动网络或WIFI等)的代码,如下图所示:

后台监控开机自启,滑动解锁,联网状态等系统频发广播,以便样本触发,达到后台开机自启的目的。

将“ListenerPro_xiaoshuai有界面版本.apk”文件的后缀名改成“.zip”并进行解压,解压后得到的文件中存在xml文件“AndroidManifest.xml”,即程序的配置文件。查看上述xml文件“AndroidManifest.xml”,发现申请敏感权限,包括创建、读取短信和彩信,拨打电话,编辑、读取联系人,创建、读取通话记录,百度地图定位,录音,开启移动网络或WIFI等的代码内容。部分代码内容如下图所示:

后台监控开机自启,滑动解锁,联网状态等系统频发广播,以便样本触发,达到后台开机自启的目的。

样本安装后有图标,通过入口Activity“com.zqelec.listener.MainActivity”启动主程序。

 

 

解压后得到的文件中存在“classes.dex”文件,该文件是java文件经过编译并使用dex工具打包生成的。将“classes.dex”复制到“dex2jar.bat”所在目录下,在命令行下定位到“dex2jar.bat”所在目录,运行命令“dex2jar.bat classes.dex”。

运行完成后生成jar文件“classes_dex2jar.jar”。对上述“ListenerPro_xiaoshuai无界面版本.apk”和“ListenerPro_xiaoshuai有界面版本.apk”分别进行上述操作。使用BeyondCompare比较上述两个apk文件反编译后产生的“classes_dex2jar.jar”文件,经比较发现两个“classes_dex2jar.jar”文件内容完全一致。

上述结果表明,“ListenerPro_xiaoshuai无界面版本.apk”和“ListenerPro_xiaoshuai有界面版本.apk”的程序功能完全一致。现以文件“ListenerPro_xiaoshuai有界面版本.apk”反编译后产生的jar文件“classes_dex2jar.jar”为样本进行分析。

使用java反编译工具“jd-gui.exe”打开上述jar文件“classes_dex2jar.jar”,包结构如下图所示:

 

其中,“com.zqelec.listener”为恶意包,结构如下图所示:

 

由于代码经过混淆,故只对恶意行为进行说明。

样本安装后通过AndroidManifest入口Activity:“com.zqelec.listener.MainActivity”启动主程序。MainActivity的主要功能是注册或登录软件,若注册的号码是“13728641278”或“18967897800”,则显示“已注册”并登录。

 

登录成功后的主页面“main.xml”代码截图如下:

此时作为控制端,则需在主页面设置要控制的手机号码、本机号码、邮箱等数据,此数据会通过“com.zeqelec.b”保存在本地数据库中。

 

设置邮箱页面“email.xml”代码截图如下:

 

该页面下需填入接收邮箱、发送邮箱、发送邮箱的密码等数据,此数据会通过“com.zeqelec.b”保存在本地数据库中。

 

若邮箱设置成功,则所设置的“接收邮箱”会收到一封来自所设置的“发送邮箱”的内容为“如果您接受到此邮件,则说明接受邮箱设置成功。 如果您的发送邮箱为默认邮箱,请尽快修改,以便正常使用。”的邮件。

 

“使用说明”页面“strings.xml”代码截图如下:

 

广播接收器“BroadcastReceiverMgr”,动态注册短信广播和监控短信数据库变化,同时启动服务“ListenerService”。

 

解析短信内容和发送方的号码,读取短信的时间,存入本地数据库中。

根据发送方的号码判断是否是远控端发来的指令类短信,若不是,则保存在本地。如果是来自远控端的指令短信,则根据不同的指令做相应的处理。

短信指令格式“电话号码+更改”用于更改远控端的本机电话号码,若更改成功则向远控端号码发送内容为“监听者设置成功”的短信,将新的受控方号码存储在本地,并启动服务“ListenerService”。

 

短信指令格式“新的邮箱@地址”用于更改邮箱地址,若更改成功则向远控端号码发送内容为“邮箱更改成功”的信息,并将新的接收邮箱地址保存在本地。

 

指令“start”用于开启监听功能,并向远控端号码发送内容为“监听开启”的短信,同时启动服务“ListenerService”。

 

指令“stop”用于关闭监听功能,并向远控端号码发送内容为“监听关闭”的短信,同时关闭服务“ListenerService”。

 

服务“ListenerService”启动后,会获取被控方的当前地理位置信息并保存在本地,并向指定的接收邮箱发送当前地理位置。

获得管理权限,从而对受控方手机进行通话监听、短信监控等行为。

 

注册sms数据改变监听器,使用ContentObserver监听数据库的变化,解析短信内容。

 

样本同时对通话状态进行监控。当受控方通话时,样本会根据指令开启或关闭监听用户手机通话功能。若监听功能开启,则以“.3gp”的格式将通话录音保存至本地。

 

样本会判断受控方是否联网。若在联网状态下,则会通过填写好的“发送邮箱”向“接收邮箱”发送已经打包好的保存在本地的数据,包括获取到的当前地理位置、本机号码、通话记录、监听到的短信内容、监听录音等。

 

【分析说明】

通过对上述的行为分析可以看出,送检的程序样本为窃取隐私类恶意软件,分为有界面版本和无界面版本两个类型。查看反编译后生成的程序配置文件“AndroidManifest.xml”后发现,有界面版本安装后在桌面生成图标并开机自启,无界面版本安装后在桌面无图标生成并开机自启。比较有界面版本和无界面版本反编译后取得的“classes_dex2jar.jar”文件,发现两个“classes_dex2jar.jar”文件内容完全一致,说明上述两个版本的功能一致。样本运行后会接收指短信指令控制向外发送指定短信,同时将受控方的地理位置、通话记录、短信息内容、通话录音等进行数据打包并在联网的状态下发送至指定邮箱,造成用户隐私信息泄露。该样本存在破计算机系统安全保护措施,获取未授权数据、信息的行为。

【鉴定意见】

综上所示,“风语者”系列apk文件分为有界面版本和无界面两个类型。有界面版本安装后在桌面生成图标并开机自启,无界面版本安装后在桌面无图标生成并开机自启,除此以外上述两个版本的功能一致,均为窃取隐私类恶意软件。以“ListenerPro_xiaoshuai有界面版本.apk”为样本的“风语者”系列apk文件存在突破计算机系统安全保护措施,获取未授权数据、信息的行为。

您的满意度:
满意
基本满意
不满意
您的满意度: