rickmark/mojo_thor
GitHub: rickmark/mojo_thor
该项目是对感染 Apple MacBook SMC、EFI 和 macOS 的 Loki/Thor/Mojo 固件层恶意软件的深度安全研究,包含样本、分析笔记和配套检测工具。
Stars: 66 | Forks: 11
# 关于
Loki / Thor / Mojo 是一组苹果内部工具和恶意软件三件套,会感染 Apple MacBook 的 SMC、EFI 和 macOS。
据推测,攻击者是通过重新刷写 Thunderbolt 控制器(通过 ThorUtil)来获得硬件的直接访问权限的。
## 目录
* [T2/T2.md](https://github.com/rickmark/mojo_thor/blob/master/T2/T2.md)
* [Firmware/INFO.md](https://github.com/rickmark/mojo_thor/blob/master/Firmware/INFO.md) - 关于 Thor 固件的信息,以及与"已知正常固件"的对比。四个 SMC 加密载荷有所不同:`5CE0F1`、`5CECE9`、`5CFAB5`、`5D1751` 以及一些子模块。
* [Firmware/INDEX.md](https://github.com/rickmark/mojo_thor/blob/master/Firmware/INFO.md) - EFI 卷中模块和描述的索引。
* [Firmware/bad.fd](https://github.com/rickmark/mojo_thor/blob/master/Firmware/bad.fd) - 来自一台已知存在问题的笔记本电脑的"Thor / Loki"固件
* [notes.md](https://github.com/rickmark/mojo_thor/blob/master/notes.md) - 关于各个组件的笔记和吐槽,尚未完全定稿或得到证实。
* [MojoKDP/mojo.kext](https://github.com/rickmark/mojo_thor/blob/master/MojoKDP/mojo.kext) - 从虚拟机内核内存中提取的 MojoKDP 内核模块。通过 DMA / uDMA 注入
* [MojoKDP/mojo.kext.S](https://github.com/rickmark/mojo_thor/blob/master/MojoKDP/mojo.kext.S) - 带注释的反汇编代码
* ESP/APPLE - 机器 EFI 分区的内容。其中最值得注意的是 `UPDATERS\\TBTH\\ThorUtil`
* logs - 来自感染 Thor 的系统的异常安装和系统日志,我对此的大部分解读都在 [notes.md](https://github.com/rickmark/mojo_thor/blob/master/notes.md)
* SMC - Apple \*.smc 格式的示例。另请参见 [smcutil](https://github.com/rickmark/smcutil)
## 另请参阅
* 进行中:
* EALF(EFI 反 loki 文件?)工具:[`efivalidate`](https://github.com/rickmark/efivalidate) `eficheck` 的开源版本
* PEI/TE/VZ 转 PE 工具:[`peiutil`](https://github.com/rickmark/peiutil) 将其转换成 Hopper 能理解的内容的工具:http://wiki.phoenix.com/wiki/index.php/Terse_Executable_Format
* SMC 工具:[`smcutil`](https://github.com/rickmark/smcutil) 用于提取和检查 Apple SMC 镜像的工具。
* 初期:HuffDiff(Intel ME 差异工具):[`huffdiff`](https://github.com/rickmark/huffdiff)
* 初期:Loki 移除工具:[`lokiremove`](https://github.com/rickmark/loki_remove)
* MacBook 现在会强制执行 Internet 恢复到 High Sierra。这是一项修补旧版 EFI 并实施 `eficheck` 的努力
* Duo Labs 可以用 [EFIgy](https://github.com/duo-labs/EFIgy) 检查你 10.13 之前的 EFI
* `/usr/libexec/firmwarecheckers/eficheck/eficheck` - High Sierra 用于提取和脱敏固件镜像的工具。
* macOS 默认使用最新的固件和补丁,因此包含了 `eficheck` [重新安装 macOS 在 10.12.4 时发生了变化](https://eclecticlight.co/2017/05/16/reinstalling-macos-changed-with-10-12-4/)
* [CoreBoot](https://www.coreboot.org) 用于 `ifdtool` 工具[代码和工具](https://www.coreboot.org/developers.html)
* `unhuffme` 工具,用于解码闪存中 Intel ME 区域的内容。[unhuffme](https://io.netgarage.org/me/)
## 检测(直接)
* macOS 10.12 及更早版本:启动进入恢复模式,查看 `ioreg | grep MojoKDP` 是否有任何输出
* macOS 10.13 及更高版本(从外部 / AirGap 执行):`sudo /usr/libexec/firmwarecheckers/eficheck/eficheck --integrity-check`
* 备用方法,使用 reFINd 和 BootRomFlash 提取固件,然后在另一台机器上用 `eficheck` 或 `efivalidate` 进行检查
* 可疑迹象:存在 `/dev/tty.MALS` 和 `/dev/tty.SOC` 作为与 MojoKDP 的串行连接(早期版本的 macOS 将其显示为两个 LPSS 串行适配器连接)。SOC 很可能是与 SMC 的连接。
## 媒体报道
* [REcon 2014:Apple SMC,植入物的好去处](https://www.youtube.com/watch?v=nSqpinjjgmg)
* Duo 安全最近发表了一篇关于 MacBook 上猖獗的 EFI 未更新问题的报告。我相信这些机器很可能带有这种恶意软件或其近似变体,并且只是观察到了这种持久化机制在起作用。[你的 EFI 中的苹果](https://duo.com/blog/the-apple-of-your-efi-mac-firmware-security-research)
* Apple 在 High Sierra 最终构建版本中加入了 EFI 验证(eficheck)[macOS High Sierra 每周 EFI 安全检查] (https://www.macrumors.com/2017/09/25/macos-high-sierra-weekly-efi-security-check/)
## 我合作过的人
* 我将恶意软件样本带到了联合广场(Union Square)的 Apple 直营店,但他们以客户数据为由拒绝提供协助。
* 我无法联系到 Apple 的产品安全部门(可能是由于该恶意软件),但我确实直接将电脑带到了他们的园区。`eficheck` 现在主动提出允许你提交样本,这让我感到颇具讽刺意味。(最初的提交编号是 671195078)
* 修订:在发布此代码库后,我已收到确认,表示该问题正在调查中
← 翻译完成 →
标签:EFI/UEFI, IoC/样本分析, pdftotext, 云资产清单, 固件安全, 安全报告生成, 恶意软件研究, 逆向工程