macOS红队实战利用DarwinOps DMG模板绕过Gatekeeper假设你已经成功配置了Mythic并部署了第一个Apfell植入物也完成了一些基础场景。如果还没有建议先阅读前一篇文章《macOS红队 1: DarwinOps初始访问基础入门》。本文将更专注于DMG以及DMG模板的应用。现在面临的核心问题是如何让目标机器真正执行你的Payload从0.9.4版本开始DarwinOps也能帮助解决Payload投递问题。为了实现初始访问DarwinOps提供了多个易于使用的DMG模板在DarwinOps中称为profiles本文后续将沿用这一叫法。这一功能颇具价值原因如下提供了Gatekeeper绕过技术内置了逼真的现成钓鱼模板能够模拟当前高级APT组织的手法这些配置文件采用未混淆的JSON格式只要遵循既定格式你就能自由编辑。你可以复制内容、插入符号链接包括指向用户文件夹的链接。通过插入操作结合修改窗口大小和位置以及更换背景图的能力可以快速轻松地创建复杂且极具迷惑性的DMG文件。例如仅凭一个JSON文件就能实现将一个包含大量Excel文件和某个恶意的应用程序的ZIP包内容复制到DMG中并让该应用负责打开这些Excel文件。这些配置文件提供了两种类型的Gatekeeper绕过技术“软”方法利用Gatekeeper的逻辑缺陷。通过使用特定的程序或文件类型这些程序或文件会自然触发执行但由于其自身特性或软件处理方式而不会被扫描。“硬”方法依赖存在漏洞的第三方应用或原生应用通过利用这些漏洞来更直接地绕过Gatekeeper。软性Gatekeeper绕过目标分析假设你已探测到目标机器安装了Slack。这个关键信息能让你选择最合适的DMG模板进行投递。在此示例中我们将使用DarwinOps自带的“Slack配置器”配置文件。你可以通过一条简单的命令生成所需的一切这里导入了从Mythic植入物生成的Payload./darwin_ops -iapfell.js -G apfell.plist --container slack-configurator.dmg --dmg-profile ./dmg_profiles/slack_configurator_plist.json该命令会输出一个开箱即用的DMG文件其中已预配置好.plist文件一切就绪DarwinOps会自动构建.plist并处理DMG文件的创建过程。用户只需将其拖放到文件夹中Payload就会就位并在无需任何额外操作的情况下启动。目标用户只要一退出再重新登录我们就成功获得了持久化和自动执行权限。硬性Gatekeeper绕过如果你的目标仅仅是绕过Gatekeeper例如移除MOTW/隔离属性DarwinOps也为此提供了专门的模板。./darwin_ops -G test.app -t CALC --container test.dmg --dmg-profile ./dmg_profiles/bp_gt_adobe_connect.json -y此方案需要用户进行更多点击约2-3次但提供了更大的灵活性通过图标伪装格式。首先Payload始终以.zipx文件形式投递。DMG必须设置为只读因为即使应用程序本身没有隔离标签但如果它位于一个被隔离的DMG内Gatekeeper仍然会执行检查。当目标用户双击时会弹出一个Gatekeeper弹窗这是伪造的——即便对于经过公证的应用程序这也是正常现象。真正的绕过并不发生在这里。根据前一篇文章这里有几种提示类型。现在我们看到的是最友好的一种——由Apple签名和公证的应用程序。随后他们会看到一个弹窗提示将内容解压到桌面。一旦.app被解压出来它就不再具有隔离属性意味着Gatekeeper不会被触发。结论这两种方法并非互斥而是相辅相成的。以下是一些选择建议如果你在冒充受害者的IT部门.plist软方法是个不错的选择因为.plist文件很常见。如果受害者技术知识有限拖放操作可能比几次点击更容易上手。如果受害者使用类似Munki的工具你可以利用拖放方法通过将文件放到正确的位置来实现提权执行./darwinops --listdmgprofile→ 查看container-drag-and-drop配置文件。但如果你假扮同事发送软件例如Adobe Connect或某个通讯工具的修改版硬绕过方法则更为合适。如果你想发送一个恶意文件——比如一个需要“签名”的PDF你应该使用此方法来嵌入伪造的PDF应用./darwinops --listdmgprofile→ 查看docusign配置文件。如果你接触的是经常处理文件或归档文件的部门这种方法可能会有效得多。尽管这只是一个简单示例但它展示了DarwinOps (v0.9.4) 现在如何通过针对性模板和内置自动化简化了Payload的打包与投递流程。这开启了众多创造性选项——只要了解目标的使用习惯就能定制相应的投递机制。在接下来的《macOS红队 3》教程中我们将探讨如何利用存在漏洞的内部应用程序创建特定的.dmg文件来提升权限并仅通过简单的拖放操作实现持久化。FINISHEDCSD0tFqvECLokhw9aBeRqiAtBdroPKrTJORmTzK0GBgyQjrra1XVpoNHztIO0CRA4/4LJpPMA/rRdlN6WaJVaS14dUaeTthNT7OF8k8zEE2A2xmpsmIjbe0HhTOmOtFc4hSRHHyUSUd67FstnTQ更多精彩内容 请关注我的个人公众号 公众号办公AI智能小助手对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享