iOS 27.0 的 AirTraffic 沙盒逃离平台。

这是一个为开发者和安全研究者提供的简单概念验证。

如果你担心🔥🪲4⃣☁️(为了声望而烧虫子)——虫子总会有更多

巨魔脸

AirTraffic 将媒体(包括图书)从Mac同步到iOS。Airlift 利用该路径,读取和写入 AirTraffic 预期目录范围之外的文件。它通过配对的 Mac 通过 Wi-Fi 或 USB 运行,无需 iOS 应用。在iOS 27.0 RC(24A435)上测试;它也应该能在 iOS 27.0 最终版(24A437)上运行。其他 iPhone 版本则允许并附带警告。

验证范围

以下目录确认了新文件写入:

/var/mobile
/var/mobile/Documents
/var/mobile/Library
/var/mobile/Library/Preferences
/var/mobile/Library/Caches
/var/mobile/Library/SpringBoard
/var/mobile/Library/SMS
/var/mobile/Library/Safari
/var/mobile/Containers
/var/mobile/Containers/Data/Application
/var/mobile/Containers/Shared/AppGroup
/var/tmp

读取是间接的:将已知文件移入介质文件,通过AFC读取,以及 搬回来了。

目前,这在MobileGestalt列表上不起作用。

组成部分

──────────────── macOS ────────────────
MobileDevice.framework
↓
AirTrafficHost.framework

───────────────── iOS ─────────────────
com.apple.streaming_zip_conduit
↓
com.apple.afc
↓
com.apple.atc / AirTrafficDevice
↓
Books sync client
↓
ATLegacyAssetLink
↓
ATAirlock
↓
NSFileManager

ATAirlock 路径验证

这些书籍资源的有效逻辑:-[ATAirlock processCompletedAsset:]

// Books "Persistent ID" reaches asset.identifier without path validation.
NSString *source =
    [@"/var/mobile/Media/Airlock/Book"
        stringByAppendingPathComponent:asset.identifier];

// FileComplete.AssetPath controls asset.path.
NSString *destination =
    [[@"/var/mobile/Media/"
        stringByAppendingPathComponent:asset.path]
        stringByStandardizingPath];

// This checks the path string, not where a symlink resolves.
if (![destination hasPrefix:@"/var/mobile/Media/"])
    return;

// The source is unchecked and the destination follows ancestor symlinks.
[fileManager moveItemAtPath:source
                     toPath:destination
                      error:&error];

未检查的源接受来自图书资产标识符的组件。 StreamingZip 在相对符号链接仍包含于 提取目录。第一次搬迁将其移至米底地带;第二种用途 它作为目的地的一部分,并将有效载荷写入介质外部。..

内置的PoC会写入一个随机的金丝雀,验证后删除它。现存 书籍同步文件会在运行后被保存并恢复。

建造与运行

Airlift会列出兼容的配对iPhone,并询问使用哪一部。传递a UDID 跳过提示。失败的运行包括辅助诊断; 成功时也要放弃,把他们也包括进去。--device--verbose

make
./airlift.py

# Choose another destination.
./airlift.py --target /var/mobile/Library/Safari

默认目标是 。/var/mobile/Library/SpringBoard

参考 0xjohnnydev/airlift: AirLift — 配对Mac AirTraffic/ATAirlock沙盒逃离,适用于iOS 27.0