“破界”(WIRELURKER)综合分析报告

当“心脏出血”和“破壳(Shellshock)”把我们的目光刚刚锁定在类UNIX系统和开源领域时,沙虫(SandWorm)漏洞又让我们重回Windows战场。而北京时间11月6日起,引发业内关注的一个被称为“WireLurker”新样本通过Windows和Mac OS X系统实现对iOS系统的侵害。

4.3 Mac OSX平台的“破界”样本分析

1. 样本概述

本 次分析以“三国杀 2.2.7.dmg”为例,该dmg文件并非MAC上的应用程序,而是直接调用代码连接iOS设备向其安装app。其文件中包含的app 为:third.ipa。同时,注意到该包中包含一个名为infoplistab的文件,该文件为另外一个app(与“中国银行手机银行 2.6.3.exe”中的Apps.ipa为同一文件,MD5一致)。dmg文件内部结构如下:

“破界”(WIRELURKER)综合分析报告

2. 向iOS设备安装分析

a) 测试设备为非越狱设备时:

· 当运行“三国杀 2.2.7.dmg”时,出现绿色安装器的一个对话框,选择链接iOS设备进行app的安装。此安装器的制作方为“麦芽地”。

“破界”(WIRELURKER)综合分析报告

“破界”(WIRELURKER)综合分析报告

· 点击安装,则向iOS设备安装其资源文件中的third.ipa文件。

“破界”(WIRELURKER)综合分析报告

· 在非越狱版本中仍然可以安装成功,并且能够正常运行。

“破界”(WIRELURKER)综合分析报告

测试设备:MAC + 未越狱iPhone4(with iOS 7.1.2)

b) 当设备为已越狱iOS设备时:

· 连接设备,MAC无任何用户操作,界面显示仍需要点击安装。

“破界”(WIRELURKER)综合分析报告

· 已越狱的iPhone4设备上已被安装名为“应用大全”的应用。

“破界”(WIRELURKER)综合分析报告

测试设备:MAC + 已越狱iPhone4(with iOS 7.0.6)

3. 释放文件分析

释放的文件中third.ipa为正常应用程序。 而infoplistab为恶意iOS应用(“破界”恶意代码)。其文件结构如下,包含恶意执行代码sfbase.dylib。

“破界”(WIRELURKER)综合分析报告

4. 关键APP文件的代码分析:

“三国杀 2.2.7.dmg”安装程序会收集设备信息,(判断是否iOS设备已经越狱,若设备已越狱则)将恶意文件infoplistab释放出来,向iOS设备中安装。

“破界”(WIRELURKER)综合分析报告

4.4 “破界”运行于iOS平台核心文件分析

1. start文件分析

start 和stty5.11.pl为PC在检测到iOS设备已越狱的情况下,释放到“/usr/local/machook/start”或“/usr/bin /stty5.11.pl” 的文件,属于不同版本的同一样本,内容大部分相同,主要用于上传应用和设备sn信息,加载恶意样本apps。start文件运行时即通过 SpringBoard重载可执行文件,对应Info.plist文件中的CFBundleExecutable,名为apps,而这个apps所代表的 应用程序中包含恶意链接库sfbase.dylib(后续会对其分析);之后,获取并上传应用和设备sn信息。

 “破界”(WIRELURKER)综合分析报告

2. sfbase.dylib文件分析

· start启动apps应用程序后,该应用程序会将其文件中的sfbase.dylib以Cydia插件的形式运行。

 “破界”(WIRELURKER)综合分析报告

· 窃取隐私:sfbase.dylib通过MSHookMessageEx来hook sendEvent函数,用于获取UIWindow相关的数据,电话、短信、浏览器、移动储存挂载、搜索、系统偏好等:

“破界”(WIRELURKER)综合分析报告 

· 通过getPhoneUser将通信录数据库拷贝到tmp临时空间,再通过查询语句获取内容:

 “破界”(WIRELURKER)综合分析报告

· 通过getSMSUser将短信数据库拷贝到tmp临时空间,再通过查询语句获取内容,其中包括了iMessage信息。

 “破界”(WIRELURKER)综合分析报告

· 最后使用getLoaclInfo将获取到的本地信息调用uploadFromFile函数通过POST上传信息,地址为:www.comeinbaby.com/app/saveinfo.php

 “破界”(WIRELURKER)综合分析报告

· 检查更新:sfbase.dylib通过CheckUpdate调用CheckUpdate2检查是否有新版本,下载到临时空间并释放 CheckUpdate2函数会检测样本是否有版本更新,地址为:http://www.comeinbaby.com/app /getversion.php?v=%@&adid=%@,其中参数v值为getCurrentVersion数据,即版本号;参数adid值 为sharedManager+advertisingIdentifier+UUIDString数据;目前该域名已经不可访问。

“破界”(WIRELURKER)综合分析报告

来源:ZDNet安全频道

0赞

好文章,需要你的鼓励

2014

11/10

11:42

分享

点赞

邮件订阅
白皮书
数字化转型方略