minernote/macos-suspicious-app-forensics

GitHub: minernote/macos-suspicious-app-forensics

针对可疑 macOS 样本的静态分流工作流,通过只读挂载和深度特征分析区分篡改与后门,辅助安全评估。

Stars: 0 | Forks: 0

# macOS 可疑应用取证 针对可疑 macOS `.dmg`、`.app` 和 `.pkg` 样本的静态分流工作流。 本仓库帮助安全工程师、研究人员和 AI 代理安全地回答一个实际问题: “这个 macOS 安装器或应用仅仅是被破解/篡改过,还是显示出后门、持久化、凭证访问或主机风险迹象?” 该工作流程首先设计为只读静态分析。它避免在主机上执行样本,并区分: - 已证实的内容 - 可疑的内容 - 未证实的内容 - 需要在隔离虚拟机中进行更深层次动态分析的内容 ## 本仓库解决的问题 当人们检查可疑的 macOS 软件,尤其是破解应用或共享的 DMG 时,通常会犯以下两种错误之一: 1. 因为杀毒软件未检测到任何内容而信任该样本。 2. 基于通用字符串(如 `private key`、`upload`、`POST`、`Phantom` 或 `Backpack`)过度声称存在恶意软件或钱包盗窃。 本仓库为您提供结构化的工作流,以避免这两种错误。 它帮助您确定样本是否显示以下证据: - 非官方签名或重新打包 - 注入的 dylib 或补丁加载器 - 官方构建中不存在的额外文件 - 可疑的网络、凭证或持久化能力 - 先前执行后的主机残留痕迹 它还教您如何避免误报。 ## 适用对象 - 对 macOS 样本进行分流的安全研究人员 - 检查下载的应用是否仅仅是破解版本或更具危险性的事件响应人员 - 希望在安装第三方工具之前获得可重复安全工作流的 AI 代理构建者 - 收到可疑 DMG 并希望获得基于证据的答案的高级用户 ## 包含内容 - `SKILL.md` — 完整的 Hermes skill / 工作流 - `references/false-positives.md` — 常见的误导性字符串及其解读方法 - `references/publish-checklist.md` — 发布该 skill 或公开改编它的检查清单 - `references/qiuchenly-inject.yar` — 针对已观察到的补丁/注入家族的聚焦启发式 YARA 起始规则 - `templates/report-sample.md` — 用于最终结论的报告模板 ## 本工作流的作用 该工作流针对静态分流和主机端安全进行了优化。 核心步骤: 1. 计算样本哈希并记录元数据 2. 以只读方式挂载 DMG 3. 验证 codesign、TeamIdentifier 和 Gatekeeper 上下文 4. 在可用时,将样本包与官方安装的构建版本进行比较 5. 使用 `otool -L` 检查注入的 dylib 和动态链接关系 6. 使用 ClamAV 和聚焦的 YARA 规则进行扫描 7. 仔细提取字符串,并将真实指标与噪声区分开来 8. 搜索持久化和主机残留痕迹 9. 生成明确区分证据与不确定性的结论 ## 本工作流不做的事情 本仓库不承诺完美的恶意软件检测。 它不会: - 仅仅因为 AV 清洁就证明样本是安全的 - 仅凭通用的 API 字符串就证明盗窃或外泄 - 取代沙箱化的动态分析 - 取代内存取证或网络遥测 - 在样本受到高度针对性攻击时取代逆向工程 将其作为一种纪律严明的首过分流框架使用。 ## 典型用例 ### 1. 破解的商业应用 您下载了一个“预激活”的 macOS 应用,并想知道: - 它是否仅仅是许可证绕过/补丁注入? - 它是否替换了主要的二进制文件? - 它是否添加了额外的加载器或辅助工具? - 是否有明显的持久化或凭证针对性迹象? ### 2. 来自 Telegram / Discord / 论坛的共享 DMG 有人发送了一个 DMG 并声称它是安全的。您希望在考虑安装之前获得一份经过记录的审查。 ### 3. AI 代理包审查 您希望代理或助手以可重现的方式检查外部 macOS 制品,而不是做出模糊的声明。 ### 4. 主机污染检查 您已经挂载或部分运行了样本,并希望扫描明显的启动项、辅助工具和残留文件。 ## 快速开始 ### 选项 A:作为 Hermes skill 使用 如果您正在使用 Hermes Agent,放置或加载此 skill 并对样本路径运行它。 输入: - 样本路径 - 用于比较的可选官方应用路径 预期输出: - 风险等级 - 已证实的篡改信号 - 在此过程中未发现盗窃/持久化的证据 - 未知项和限制 - 建议的下一步操作 ### 选项 B:作为独立检查清单手动使用 示例骨架: ``` # Hash 样本 shasum -a 256 suspicious.dmg # 以只读方式挂载 hdiutil attach -readonly -nobrowse -noverify -mountpoint /tmp/sample-mount suspicious.dmg # 检查签名 codesign -dv --verbose=4 "/tmp/sample-mount/Suspicious App.app" 2>&1 spctl -a -vv --type exec "/tmp/sample-mount/Suspicious App.app" 2>&1 # 如果存在,与官方 build 进行比较 otool -L "/tmp/sample-mount/Suspicious App.app/Contents/MacOS/AppBinary" # 使用 ClamAV / YARA 扫描 clamscan --infected --recursive suspicious.dmg clamscan --infected --recursive /tmp/sample-mount yara -r references/qiuchenly-inject.yar /tmp/sample-mount # 分离 hdiutil detach /tmp/sample-mount ``` 有关完整的工作流和解读模型,请参阅 `SKILL.md`。 ## 如何正确解读结果 ### 有力证据 高信噪比的指标包括: - 非官方签名机构 - 缺失或意外的 TeamIdentifier - 主可执行文件显式链接到可疑的 dylib - 官方构建中不存在的可疑独占文件 - 补丁或注入函数名称 - 意外的辅助工具、启动守护进程或持久化文件 ### 弱证据 不应单独使用弱信号来声称已被攻陷: - 来自加密库的通用 `private key` 字符串 - 通用的 `upload`、`POST`、`zip`、`tar` 字符串 - 通用的浏览器/应用名称,如 `Arc`、`Phantom`、`Backpack` - 合法应用使用的正常 Keychain 或剪贴板 API 这种区别很重要。一份纪律严明的报告应该说: - “我证实了补丁注入” - 除非存在确切的针对性证据,否则不说“我证实了钱包盗窃” ## 输出模型 一份好的最终报告应包含: - 样本路径和 SHA256 - 比较目标 - 已证实的篡改证据 - 可疑但未证实的指标 - 在此过程中未发现证据的发现 - 局限性 - 安装建议 - 下一步最安全的操作 使用 `templates/report-sample.md` 作为起点。 ## 建议的结论分类 持续使用这四个分类: - 已证实的良性行为 - 已证实的篡改/注入 - 在此过程中未发现盗窃/持久化的证据 - 未知/无法在不进行动态分析的情况下证明 这使报告保持有用和诚实。 ## 本仓库帮助回答的示例问题 与其模糊地问: - “这个破解的应用有病毒吗?” 您可以更精确地回答: - 它是由官方供应商签名的吗? - 它是否添加了非官方的 dylib? - 主二进制文件是否被修改以加载注入的代码? - 我们是否发现了确切的持久化迹象? - 我们是否发现了确切的钱包/浏览器针对性逻辑? - 我们是否发现了明显的主机残留痕迹? - 在没有沙箱执行的情况下,哪些仍未被证实? ## 安全提示 - 如果可以避免,切勿在日常工作机上执行可疑样本。 - 对于更深层次的动态分析,最好使用一次性虚拟机。 - 在虚拟机中分析高风险样本时,禁用共享文件夹、剪贴板同步和拖放功能。 - 将“未命中 AV”视为一个数据点,而不是结论。 ## 局限性 本仓库有意优先考虑静态分析。 这意味着它可能会遗漏: - 隐藏在运行时解密背后的逻辑 - 仅在启动后获取的分阶段 payload - 环境感知行为 - 不留下明显字符串的针对性凭证盗窃 如果样本风险较高,正确的下一步是隔离的动态分析,而不是过度自信。 ## 本仓库存在的原因 创建本仓库是在一个真实世界的分流案例之后,该案例中一个 macOS 破解应用清楚地显示了第三方注入和篡改,但更困难的问题更加微妙: “我们实际上证实了资产盗窃,还是仅仅证实了补丁注入?” 这种区别正是该工作流程旨在保留的内容。 ## 贡献 欢迎贡献以下内容: - 更好的 YARA 起始规则 - 更多的误报示例 - 特定于 macOS 的持久化检查 - 改进的报告模板 - 安全的、基于证据的语言改进 请保持核心理念不变: - 不要过度声称 - 将证据与嫌疑区分开 - 主机安全第一 ## 许可证 MIT
标签:APP, ClamAV, Cutter, DMG, dylib注入, PKG, Web 安全测试, YARA, 主机残留, 云安全监控, 云资产可视化, 凭证访问, 取证, 只读挂载, 后门检测, 安全工程, 工作流, 库, 应急响应, 样本研判, 破解软件, 签名验证, 网络信息收集, 误报规避, 静态分析