# UnityGhost的检测和回溯

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2015-09-23T07:45:00Z
Canonical: https://wepostx.com/topics/1066

> 乌云历史资料归档
>
> **原始作者：** 百度安全攻防实验室
> **原始编号：** superkieran-wooyundrops:788
> **原始发布时间：** 2015-09-23 15:45
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

# 0x01 问题描述和速查方法

此次XcodeGhost病毒并不仅仅只篡改Xcode的dmg安装文件，百度安全实验室发现Unity3D也同样被插入了恶意代码。Unity是由Unity Technologies开发的用于创建诸如三维视频游戏、实时三维动画等类型互动内容的多平台的综合型游戏开发工具，Unity可发布游戏至Windows、OS X、Wii、iPhone、Windows phone 8和Android平台。但目前安全实验室搜集到的样本只有感染iOS app，还未发现感染安卓或是Windows平台代码
目前我们观察到Unity OS X平台和Windows平台的安装包版本4.x至5.1.x（范围可能更大）, 64/32位版本均有被修改的现象，被修改后文件均没有数字签名，在文件安装前可以很容易的区分开，对于OS X下dmg文件中包含的pkg文件，可以使用 pkgutil –check-signature Unity.pkg来进行检查。这里附上Windows和OS X下正确版本数字签名校验的截图：

![原文图片](/media/2016/06/536d31eec07110eb72f6a39f846e0739)

![原文图片](/media/2016/06/7a9fa9b924768c06e67a024e97ff2ac3)

病毒作者修改了libiPhone-lib-il2cpp.a文件, 在其中增加了libiPhone-lib-il2cpp.a-arch-masterx.x.o，其中arch为具体的架构名，并修改了project.pbxproj的配置信息。libiPhone-lib-il2cpp.a在 mac平台下位于./Unity/Unity.app/Contents/PlaybackEngines/iossupport/Trampoline/Libraries/ libiPhone-lib-il2cpp.a，windows平台上的路径为：Unity/Editor/Data/PlaybackEngines/iossupport/Trampoline/Libraries/libiPhone-lib-il2cpp.a。
快速自查方法：由于.a是复合的archive文件，解压比较麻烦，可以直接检查./iossupport/Trampoline/Unity-iPhone.xcodeproj/project.pbxproj中，是否含有”-ObjC”字符串，如果有则属于被感染版本。下图左侧为受感染文件，右侧为正常文件。

![原文图片](/media/2016/06/64fd144c52a5b69c86ca5a1b78076974)

# 0x02 代码逻辑

整体来说，Unity上受感染的恶意代码行为和XcodeGhost行为基本一致，更详细的信息可参看之前[关于XcodeGhost分析](http://drops.wooyun.org/papers/9024)。通过这些分析，可以见到，恶意代码作者有着很强的躲避检测的动机。下图是OS X平台上的一个受感染文件libiPhone-lib-il2cpp.a-armv7-master.o。

![原文图片](/media/2016/06/ed8a45bab2648db45d75e39298a9bc91)

# 0x03制作时间

通过对于恶意DMG和官方DMG中的文件信息，我们能够非常清楚的看到恶意代码作者进行打包修改文件的时间，以unity-4.6.6.dmg为例：

![原文图片](/media/2016/06/542c484e345965e96eb82f932370a746)

可以看出，UnityGhost作者在今年6月29日下午进行的修改操作。
下面是我们搜集到的官方发布版本和样本篡改时间的时间轴：

![原文图片](/media/2016/06/10645f89bb9db9d2efa961338b35be3c)

## Replies
