1、小序
如果“网络威胁”是一个幽灵的话,那么2014年,这个幽灵就一直在流窜。当“心脏出血(Heartbleed)”和“破壳(Shellshock)”把我们的目光刚刚锁定在类UNIX系统和开源领域时,沙虫(SandWorm)漏洞又让我们重回Windows战场。而北京时间11月6日起,引发业内关注的一个被称为“WireLurker”新样本通过Windows和Mac OS X系统实现对iOS系统的侵害。这个样本的形态和特点,无疑值得关注和深入分析,鉴于此样本影响的平台非常广泛,安天组成了由安天CERT(安天安全研究与应急处理中心)和AVL Team(安天旗下独立移动安全研究团队)的联合分析小组,但在我们同时研究了此次威胁的先发厂商Palo Alto Networks的大报告后,我们发现其已经非常详尽完备。在当年Stuxnet、Flame的分析中,我们意识到与兄弟厂商之间进行马拉松式的分析竞赛,一方面虽能提升分析深度和粒度,但同时也会造成业内资源的冗余消耗,是一柄双刃剑。因此我们决定减少此次分析兵力投入。以安天CERT和AVL Team的新分析员为主完成此次分析。雏鹰初飞,如有不足之处, 希望得到批评指正。也希望大家通读Palo Alto Networks的报告《WIRELURKER:A New Era in iOS and OS X Malware》和《WireLurker for Windows》,获得更系统全面的信息。
同时令我们非常开心的是,Palo Alto Networks相关报告的主笔亦曾是安天CERT曾经的小伙伴Claud Xiao。尽管远隔重洋,但我们依然面对同样的安全威胁而战斗。
海上出明月,应急响应时。伙伴隔海望,不觉起相思。
2、中文命名与概述
该恶意代码被其发现者Palo Alto Networks命名为“WireLurker”,直译其名为“连线潜伏者”。在我们讨论中文命名时,考虑到WireLurker主要拥有如下传播特点:通过第三方APP市场“麦芽地”(亦发现百度网盘的分享)进行下载传播到iOS系统。同时其亦具有如下功能特点:可在Windows平台运行带有恶意代码的包裹文件并将恶意代码安装到iOS系统、可在Mac OS X平台运行带有恶意代码的包裹文件并将恶意代码安装到iOS系统;最终对iOS系统相关文件进行窃取回传。从相关WireLurker样本所传播的环境涉及到Windows、Mac OS X两个桌面系统,涉及到一家第三方App市场,并最终危害智能终端操作系统iOS的特点来看,其跨越了多个系统平台,利用相关同步接口,突破了各平台间的边界,所以安天经过讨论最终将WireLurker的中文命名定为“破界”。下图是此恶意代码整体传播与执行的示意图,或许能解释我们将其中文名命名为“破界”的初衷。
“破界”恶意代码在用户iOS系统中的主要恶意行为包括:获取电话、短信、浏览器、移动储存挂载、搜索、系统偏好等信息,并通过POST上传到服务器,其中通讯录和短信通过sqlite数据库获取,还会检测更新的恶意代码版本。
因在安天进行分析时,Palo Alto Networks在其美国公司所在地时间11月5日发布针对苹果OS X及iOS系统的恶意代码新家族的分析大报告,并将其命名为“WireLurker”。按恶意代码家族命名中的规律,以最早发现的反病毒厂商命名为准,所以安天将该恶意代码命名为:Trojan/iOS.WireLurker。
为了使“破界”恶意代码疫情迅速得到控制,苹果已经撤销恶意软件的安装证书,使恶意软件无法进行安装操作;且传播源“麦芽地”网站已经于北京时间2014年11月07日17时关闭了苹果App大全的Mac软件分享功能。
3、某传播源文件分析
“麦芽地”传播源虽告一段落,但百度云ekangwen206用户分享的247个文件中全部带有能够感染iOS系统的“破界”恶意代码,所有文件均为苹果手机与平板的安装应用程序,程序类别多样,包括但不限于文字处理软件、即时通讯软件、游戏软件、银行终端软件等。根据百度云盘记录的下载次数,我们将所有应用下载次数进行汇总统计,截止目前共计下载72527次,其中下载RAR包文件70979次,下载DMG包文件1548次。
文件类别 | 统计数量 | 下载次数 | 说明 |
RAR | 180 | 70979 | Windows平台的RAR压缩文件,内部包含恶意安装程序 |
DMG | 67 | 1548 | iOS平台的DMG压缩文件,内部包含恶意安装程序 |
将下载文件解包后,我们对恶意安装包的时间戳进行统计,根据样本的时间戳内容,这些恶意文件应该是使用生成器统一生成,且编译时间在2014/3/13(不排除人为修改可能),那么可推测这些恶意文件可能是在2014年3月就开始传播了。
文件类别 | 时间戳 |
AutoCAD360 2.1 | 2014/3/13 15:56 |
OPlayer 2.0.12 | 2014/3/13 15:56 |
QQ餐厅 2.2 | 2014/3/13 15:56 |
中国银行手机银行 2.6.3 | 2014/3/13 15:56 |
圣经 4.3.3 | 2014/3/13 15:56 |
我查查 5.8.0 | 2014/3/13 15:56 |
水果忍者免费版 1.8.4 | 2014/3/13 15:56 |
波克斗地主 2.21 | 2014/3/13 15:56 |
讯飞语音输入 1.0.1073 | 2014/3/13 15:56 |
…… | |
酷我音乐 3.4.0 | 2014/3/13 15:56 |
铁路12306 1.24 | 2014/3/13 15:56 |
阿里旺旺 1.00.091 | 2014/3/13 15:56 |
音悦台 1.2.5.7 | 2014/3/13 15:56 |
鳄鱼小顽皮爱洗澡 1.13.0 | 2014/3/13 15:56 |
龙珠祖玛 1.9.0 | 2014/3/13 15:56 |
将下载的文件进行分析后发现RAR包样本都有共性行为:解包后包含6个相同的 DLL文件,一个“使用说明.txt”文件,一个与安装包同名但后缀为.exe的文件。后缀为.exe文件均包含“破界”恶意文件,当其运行后将恶意文件释放到TEMP目录命名为“apps.ipa”,随后调用iTunes接口安装至iOS设备。后缀为.exe文件中除恶意代码外还包含正常iOS安装包,当其运行后释放到TEMP目录命名为“third.ipa”,随后安装至iOS设备。
DMG包中也存在“破界”恶意代码,其文件名称更改为“infoplistab”,且其HASH值与“apps.ipa”的HASH值相同。
下面为后缀为.exe文件中嵌入的apps.ipa恶意文件“破界”二进制对比图:
下面为后缀为.exe文件中嵌入的名称为third.ipa的正常文件二进制对比图:
4 、“破界”恶意代码分析
4.1、“破界”恶意代码从PC端安装的执行流程
如果iOS设备已被越狱,则“破界”恶意代码从PC端向iOS端释放并安装恶意应用apps,apps启动后加载其包下的lib文件sfbase.dylib,该文件以Cydia插件形式运行获取root权限,运行后会hook sendEvent函数,获取电话、短信、浏览器、移动储存挂载、搜索、系统偏好等信息通过POST上传到服务器,其中通信录和短信通过sqlite数据库获取,还会检测更新样本版本。下图为“破界”恶意代码执行流程。
4.2、Windows平台的“破界”样本分析
1、解包分析下面以“中国银行手机银行 2.6.3.rar”为例进行分析。解包后有如下8个文件,其中6个DLL与 1个文本文件为正常文件,后缀为.exe文件为恶意文件。
解压后文件 | MD5值 | 说明 |
libiconv-2_.dll | 9C8170DC4A33631881120A467DC3E8F7 | 正常的文件 |
libxml2.dll | C86BEBC3D50D7964378C15B27B1C2CAA | 正常的文件 |
libz_.dll | BD3D1F0A3EFF8C4DD1E993F57185BE75 | 正常的文件 |
mfc100u.dll | F841F32AD816DBF130F10D86FAB99B1A | 正常的文件 |
msvcr100.dll | BF38660A9125935658CFA3E53FDC7D65 | 正常的文件 |
zlib1.dll | C7D4D685A0AF2A09CBC21CB474358595 | 正常的文件 |
使用说明.txt | 34DBC4D5D0A550F8DDC6A8564E7B5B2F | 正常的文件 |
中国银行手机银行 2.6.3.exe | 224A12F1EF2B599881BFBEE2C8BFC084 | 捆绑恶意代码的PE文件 |
l 当系统中未装入iTunes时,双击“中国银行手机银行 2.6.3.exe”时,出现警告提示,当点击“是”,会连接iTunes的官方下载站点:http://www.apple.com/cn/itunes/download/。
安装完成后在测试设备中无新增应用(正常应用及恶意应用均未安装成功),测试中将正常版本及越狱版本均进行了测试,测试设备:IPad MINI2 + iOS 7.0.4。
3、 释放文件分析
会在用户的Temp目录下释放出如下两个文件:
解压后文件 | MD5值 | 说明 |
apps.ipa | 54d27da968c05d463ad3168285ec6097 | “破界”恶意文件 |
third.ipa | 59f6781f26e490a6ef37bf50e2256efa | 正常的文件 |
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文件内部结构如下:
a) 测试设备为非越狱设备时:
l 当运行“三国杀 2.2.7.dmg”时,出现绿色安装器的一个对话框,选择链接iOS设备进行app的安装。此安装器的制作方为“麦芽地”。
b) 当设备为已越狱iOS设备时:
l 连接设备,MAC无任何用户操作,界面显示仍需要点击安装。
3、释放文件分析
释放的文件中third.ipa为正常应用程序。 而infoplistab为恶意iOS应用(“破界”恶意代码)。其文件结构如下,包含恶意执行代码sfbase.dylib。
“三国杀 2.2.7.dmg”安装程序会收集设备信息,判断是否iOS设备已经越狱,若设备已越狱则将恶意文件infoplistab释放出来,向iOS设备中安装。
4.4、“破界”运行于iOS平台核心文件(sfbase.dylib)分析
1、start启动apps应用程序后,该应用程序会将其文件中的sfbase.dylib以Cydia插件的形式运行。(责任编辑:安博涛)