如何针对Mac高智商用户进行钓鱼攻击 - 利用pkgbuild工具包制作恶意安装程序

本文详细介绍了针对Mac环境的钓鱼攻击技术,通过pkgbuild工具创建无有效载荷的安装包,利用EmPyre生成bash脚本,结合虚假弹窗欺骗用户获取root权限执行恶意代码。

如何针对高智商用户进行钓鱼攻击

David Fletcher //

最近我们在一次渗透测试项目中,发现目标环境中存在大量Mac设备。作为测试的一部分,我们决定研究向这些设备投递恶意软件的方法。下文概述了我们探索并成功使用的一种技术。

注意:这并非全新技巧,而是对Carlos Perez所描述方法的改进(原方法参见:http://www.darkoperator.com/blog/2009/4/25/evil-packaging-on-osx-with-xcode-and-metasploit.html)。

遗憾的是,Apple在新版XCode中取消了对Package Maker的支持,无法再作为XCode环境的附加组件安装。经过研究,我发现了一篇博客文章,描述如何使用OSX的pkgbuild工具创建无有效载荷的安装包。

使用pkgbuild创建无有效载荷安装包

该技术的核心在于:我们可以创建一个名为postinstall的shell脚本(无需包有效载荷),然后生成一个"pkg"文件,该文件会运行向导式安装程序,并在最后执行我们的脚本。

掌握这一技术后,我们立即意识到EmPyre是生成postinstall脚本内容的完美工具。选择并生成EmPyre的"bash"加载模块会输出一个bash脚本,其中包含base64编码的加载器,该加载器执行后会自我删除,如下图所示。

![EmPyre生成的bash脚本示例]

将EmPyre输出的shell脚本复制到名为postinstall的文件中,并标记为可执行。然后将该文件放置在我们包文件夹(可任意命名)的scripts目录内。下例中,我们创建了名为Malware_Package的文件夹,其中包含scripts目录,该目录内可见我们的postinstall shell脚本。

![包目录结构示例]

此时我们已经可以创建在目标计算机上启动有效载荷的安装包。然而,运行安装程序、完成向导步骤却没有安装预期软件,可能会引起终端用户的怀疑。为了解决这个问题,我们可以修改有效载荷脚本,添加几个有用的弹出消息,以阻止目标用户进一步调查。修改后的shell脚本将输出如下弹出消息。

![弹出消息脚本示例]

通过在shell脚本末尾添加"osascript"调用,弹出消息将在恶意有效载荷执行后出现。

完成这些简单任务后,我们就可以构建最终交付的安装包了。使用pkgbuild工具可以实现这一点,如下所示。命令调用的关键参数是–nopayload和–scripts文件夹。最终产品是"pkg"文件,可交付给目标。

![pkgbuild命令示例]

我们创建的向导安装程序执行过程如下: 启动向导介绍…

选择安装包的位置…

应用程序随后提示安装权限。用户提供root级凭据继续安装过程(并以root权限执行我们的代理)。

我们的弹出消息之一,提示包将与互联网通信(实际上是我们的代理)。

哦,不…出现错误…

啊…安装成功…

回到我们的C2服务器,我们看到以下内容…

![C2服务器连接成功示例]

这只是冰山一角。借助完整的安装程序环境,我们可以制作看起来极其逼真、模仿合法软件行为的安装包。这再次提醒我们:需要培训具有软件安装权限的用户检查签名,并仅从真正合法的来源执行软件。

大多数邮件过滤器和代理都专注于Windows和办公自动化感染载体,那么恶意的"pkg"文件是否会进入您的环境?


准备好深入学习?
通过Antisyphon的实惠课程提升您的技能!
支持随付随训模式
提供实时/虚拟和点播培训


[返回顶部]

Black Hills Information Security, Inc.
890 Lazelle Street, Sturgis, SD 57785-1611 | 701-484-BHIS (2447)
© 2008
关于我们 | BHIS集团公司 | 隐私政策 | 联系我们

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计