如何针对高智商用户进行钓鱼攻击
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集团公司 | 隐私政策 | 联系我们