如何针对高智商目标进行钓鱼攻击 - macOS恶意软件包制作详解

本文详细介绍了如何利用OSX的pkgbuild工具创建无载荷安装包,通过修改postinstall脚本嵌入Empyre生成的bash木马,并添加伪装弹窗提示,最终生成可绕过常规检测的恶意pkg文件进行定向攻击。

如何针对高智商目标进行钓鱼攻击

David Fletcher //

近期我们在一次渗透测试项目中,发现目标环境中存在大量Mac设备。作为测试环节的一部分,我们决定研究向这些设备投放恶意软件的方法。下文将详细介绍我们探索并实际使用的一种技术方案。

使用pkgbuild创建无载荷安装包

关键技术在于:我们可以创建一个名为postinstall的shell脚本(无需安装包载荷),生成会在安装向导结束时执行该脚本的"pkg"文件。

我们立即意识到EmPyre是生成postinstall脚本内容的理想工具。选择并生成EmPyre的"bash"木马模块后,会输出包含base64编码木马的bash脚本,该脚本执行后会自删除,如下图所示:

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

增强伪装性

虽然此时已可创建能在目标计算机上触发载荷的安装包,但运行安装向导后未安装预期软件可能引起用户怀疑。为此我们修改载荷脚本,添加了几个具有迷惑性的弹窗提示。修改后的shell脚本如下:

1
2
3
# 恶意载荷执行代码
osascript -e 'display dialog "该软件需要联网验证许可证" buttons {"OK"} default button 1'
osascript -e 'display dialog "安装过程中出现意外错误" buttons {"OK"} default button 1'

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

构建最终安装包

完成上述步骤后,使用pkgbuild工具构建最终交付包(命令如下)。关键参数是–nopayload(无载荷)和–scripts(脚本目录),最终生成可投放给目标的"pkg"文件。

1
pkgbuild --nopayload --scripts ./Malware_Package/scripts Malware_Package.pkg

安装执行流程

生成的安装向导执行过程如下:

  1. 启动安装向导介绍界面
  2. 选择安装位置
  3. 提示需要权限安装(用户需提供root权限凭证)
  4. 显示"软件需要联网验证"的弹窗(实际为木马连接C2)
  5. 显示"安装过程中出现意外错误"的假错误提示
  6. 最终显示"安装成功"的确认信息

在C2服务器端,我们可以看到如下连接记录:

安全启示

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

当大多数邮件过滤器和代理专注于Windows和办公自动化感染向量时,恶意的"pkg"文件是否会潜入您的环境?

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