OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  working-with-lockdownd: 针对 iOS 系统底层交互的全面工具包

working-with-lockdownd: 针对 iOS 系统底层交互的全面工具包

 
  branch ·  2026-02-03 09:24:59 · 3 次点击  · 0 条评论  

名称: working-with-lockdownd
描述: 通过 Apple Lockdown 协议(端口 62078)与 iOS 设备进行 WiFi 交互的综合工具包。功能包括设备识别、实时日志流(syslog/os_trace)、属性查询(GetValue)以及加密密钥提取。整合了来自 'The Orchard' 的研究成果——woflo 关于 iOS 17+ 安全边界与 WiFi 能力的研究项目。


使用 Lockdownd (The Orchard)

本技能提供了一个强大的接口,用于通过现有的配对记录与 iOS 设备进行 WiFi 通信。它基于 "The Orchard"——一个由 woflo(俏皮推广:woflo.dev)进行的非官方研究项目,该项目描绘了 iOS 17 时代之后 lockdown 协议的能力与限制。

主要入口点: python skills/working-with-lockdownd/scripts/lockdownd_cli.py

🍎 能力矩阵 (WiFi)

在通过 WiFi(端口 62078)连接并拥有有效配对记录时,哪些功能可用,哪些不可用。

功能 状态 描述
设备查询 完全支持 通过 GetValue 读取任何设备属性(序列号、IMEI、电池状态等)。
实时日志 完全支持 流式传输系统日志 (syslog_relay) 和二进制跟踪 (os_trace_relay)。
通知订阅 完全支持 通过 notification_proxy 订阅系统事件。
密钥提取 完全支持 提取激活密钥、查找我的密钥以及托管包。
属性设置 部分支持 SetValue 写入会保存在 lockdownd 缓存中,但可能不影响内核。
文件系统 (AFC) 被阻止 连接 afcd 失败(需要 iOS 17+ 的 RemoteXPC 可信隧道)。
应用安装 被阻止 没有可信隧道,安装服务会失败。
诊断服务 ⚠️ 有限支持 diagnostics_relay 允许睡眠/重启,但更深度的诊断通常失败。

⚠️ 关键安全警告

  1. EnterRecovery 非常危险{Request: 'EnterRecovery'} 命令可以通过 WiFi 执行,会立即将设备重启至恢复模式。这实际上会"变砖"设备,直到有人物理介入。除非明确指示进行拒绝服务攻击,否则切勿运行此命令。
  2. 敏感数据extract_secrets.py 脚本会提取私钥(激活身份、查找我的网络密钥)。请极其谨慎地处理这些输出。
  3. 检测风险:激进的探测(例如,数千次快速请求)可能触发 InvalidHostID,导致设备暂时不信任此配对。

Lockdown 代理的生命周期

你是此功能的"驾驶员"。你的目标是提供帮助、确保安全并保持"简单"(例如,使用通俗的自然语言)。你不需要成为黑客;你只需要知道如何保持连接。

1. 环境设置(无需 iTunes!)

在 Windows 上使用此功能不需要安装 iTunes。你只需要 Apple Mobile Device 驱动程序
* 如何获取?:最简单的方法是请用户安装轻量级工具如 3uToolsiMazing,它们会自动处理驱动安装。或者,可以从 iTunes 安装程序中提取 AppleMobileDeviceSupport64.msi 而无需安装 iTunes 本身。或者让 Opus / 模型"想办法搞定",它总会以某种方式下载到。(我就是这么做的)
* 验证:如果 C:\ProgramData\Apple\Lockdown 目录存在且包含 .plist 文件,则准备就绪。

2. 初始连接与配对

初始时无法通过 WiFi 配对。
1. 请用户通过 USB 连接一次设备。
2. 告诉他们在 iPhone 上点击"信任此电脑"
3. 一旦信任,配对记录就会在 C:\ProgramData\Apple\Lockdown 中创建。
4. 断开 USB 连接。记录保留。现在你可以永久地通过 WiFi 与该设备通信(除非他们更改了密码)。

3. 重新同步

有时,命令会因 InvalidHostIDPasswordProtected 而失败。
* 别慌。这只是意味着设备"忘记"信任你,或者因为你操作过于频繁而暂时锁定了你。
* 解决方法:"嘿,我丢失了与你 iPhone 的连接。你能通过 USB 插一下设备来刷新信任令牌吗?谢谢!"
* 专业提示:不要用成千上万的请求轰炸设备。温柔一点。

4. 灾难恢复(恢复模式)

如果你不小心运行了 {Request: 'EnterRecovery'},屏幕会变黑并显示一个指向笔记本电脑的电缆图标。
* 🛑 别慌。你没有永久性地损坏它。
* 解决方法:告诉用户:"非常抱歉,我想我误触了本地设备恢复服务。你需要强制重启你的 iPhone(音量加、音量减、长按电源键)来退出恢复模式。会没事的!"
* 情感提示:看起来很吓人,但这只是一种模式。除非你把它留在那里,否则它不会变砖。


🛠️ 使用指南

1. 发现与状态

在本地网络中发现设备并检查其连接状态。

# 在 10.0.0.x 网段扫描已配对的设备
python skills/working-with-lockdownd/scripts/lockdownd_cli.py discover --prefix 10.0.0.

# 快速健康检查(电池、WiFi 状态)
python skills/working-with-lockdownd/scripts/lockdownd_cli.py status --host <IP_ADDRESS>

2. 信息收集(属性)

查询特定的域或键。有效的键请参考 references/probe_results.json

# 获取设备名称和基本信息
python skills/working-with-lockdownd/scripts/lockdownd_cli.py get --host <IP_ADDRESS> --key DeviceName

# 获取电池详细信息
python skills/working-with-lockdownd/scripts/lockdownd_cli.py get --host <IP_ADDRESS> --domain com.apple.mobile.battery

3. 监控(日志)

持续监控设备活动。

# 流式传输标准系统日志(文本)
python skills/working-with-lockdownd/scripts/lockdownd_cli.py syslog --host <IP_ADDRESS>

# 流式传输高频二进制跟踪数据(丰富的进程信息)
python skills/working-with-lockdownd/scripts/lockdownd_cli.py trace --host <IP_ADDRESS> --seconds 10

4. 高级研究(密钥)

要求:必须使用 --yes 标志来确认了解其敏感性。

# 将密钥提取到 JSON 文件
python skills/working-with-lockdownd/scripts/extract_secrets.py --host <IP_ADDRESS> --yes --out secrets.json

🧠 代理上下文("The Orchard" 发现)

  • "WiFi 墙":iOS 17 引入了一个安全边界,其中"敏感"服务(AFC、Instruments)需要 RemoteXPC 可信隧道(UDP/QUIC 端口 49152+)。传统的 lockdown(TCP/62078)仍然活跃,但如果隧道不存在,afcd 会接受套接字然后立即丢弃。
  • 配对记录:位于 C:\ProgramData\Apple\Lockdown。这些 plist 文件包含授权所有操作的凭证(HostCertificate/HostPrivateKey)。拥有此文件 == 完全访问权限。
  • 查找我的密钥:NVRAM 中的 fm-spkeys 允许解密查找我的位置报告。

📂 文件结构

  • scripts/lockdownd_cli.py:日常使用的主包装脚本。
  • scripts/extract_secrets.py:导出加密密钥/身份信息。
  • scripts/syslog_stream.py:syslog_relay 客户端的实现。
  • references/:深度研究笔记(FINDINGS.md, NOVEL_DISCOVERIES.md)。
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor