Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
iCloudKitExtractor — 面向 iCloud 认证、CloudKit/MMCS 备份下载以及 Octagon/PCS 恢复(ADP、恢复密钥、锁定模式)的实验性 .NET/WPF 取证工具包。由 Forensis-Lab 开发的研究软件——高度实验性;Apple 私有 API 可能一夜之间发生变化。 | Kitploit
工具/GitHubGitHub/giordanosconti/icloudkitextractor
加密/解密工具iOS安全取证分析信息收集移动取证数据恢复数字取证云安全身份验证

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubgiordanosconti/icloudkitextractor

iCloudKitExtractor

面向 iCloud 认证、CloudKit/MMCS 备份下载以及 Octagon/PCS 恢复(ADP、恢复密钥、锁定模式)的实验性 .NET/WPF 取证工具包。由 Forensis-Lab 开发的研究软件——高度实验性;Apple 私有 API 可能一夜之间发生变化。

查看仓库
2662天前尚未审核

iCloudKit Extractor

公开实验阶段 — 一个 WPF(.NET 10)应用,用于 iCloud 登录、设备备份列表以及通过 CloudKit/MMCS 下载。

iCloudKit Extractor 应用程序

研究/实验室软件。并非成品:使用未记录的 Apple API,存在账号封禁风险,不提供任何担保。请仅使用您自己的 Apple ID,并自行承担风险。

关于我

我叫 Giordano Sconti。我与取证实验室 Forensis-Lab 合作,同时担任软件研究员和技术顾问(Consulente Tecnico)。

本软件以 MIT 许可证发布,但它归属于 Forensis-Lab 取证实验室。

本项目应被视为高度实验性的,因为 Apple 的内部 API 可能一夜之间发生变化。

我之所以公开这个项目,是因为它在取证工作中很有价值——在极端情况下,我们必须恢复那些除了通过设备本身之外无法访问的备份和 CloudKit 数据。

与我使用过的商业工具不同,我实现了对自己个人备份的稳定且完整的下载,无论 ADP 启用还是禁用(当然,在启用时需要知道设备的 Octagon PIN 或恢复密钥)。

当锁定模式等保护措施启用且 iCloud.com 关闭时,它同样可以工作。

这个项目大约花费了七个月的研究。如果没有 Cursor 编码代理模型,耗时会更长:我只有在可能的工作时间或深夜才有时间。我尽量保持模块化的代码组织——希望我做到了。

如果您想请我喝杯咖啡,我更希望您感谢 Forensis-Lab,或者以其他形式表达认可。

贡献与联系

任何想要尝试该软件、提出改进建议或帮助完成剩余功能的人都是受欢迎的。

您可以使用付费的编码代理模型(请避免使用免费的——它们在代码正确性方面往往不可靠)。重要的是您始终审查生成的代码,并且未经同意不得擅自挪用第三方代码。拉取请求将被非常仔细地审查。

联系方式:[email protected]

本项目中的每一行代码都归属于 Forensis-Lab,由我直接授权。任何使用或修改都必须保持归属于 Forensis-Lab。

Anisette Server 预览访问

如果您想在运行自己的 anisette 栈之前试用该软件,请私下联系我,申请访问我的 Anisette Server。

Github 页面

https://giordanosconti.github.io/iCloudKitExtractor/

iCloudKit Extractor GitHub Pages

重要说明:恢复密钥与 Octagon

恢复密钥解锁使用一个 Octagon 端点,该端点可以导出完整的加密 TLKShares 集合。从这些共享中,还可以恢复与恢复密钥对等方相关联的那些(签署恢复密钥的公钥的 SHA-384)。这样可以验证给定的恢复密钥是否存在于其中,如果存在,则恢复 CloudKit 区域的 Manatee/PCS KeySet——包括 ADP 保护的备份和钥匙串。

包含内容

  • 主应用:src/iCloudKitExtractor
  • 照片库查看器:src/PhotosViewer(IKE 构建时复制到 viewer-payload)
  • AnisetteServer(+ 可选桥接项目)用于 OTP / ADI
  • 用于模拟 akd / 桥接的设置脚本
  • 文档位于 docs/ 下

有意排除的内容

  • 实验室构建产物、探测工具和捕获语料库

要求

  • Windows + .NET 10 SDK
  • 一个物理 Anisette 服务器(模拟的已不再可用)
  • 一个您控制的测试 Apple ID

构建

dotnet build src/iCloudKitExtractor/iCloudKitExtractor.csproj -c Release
dotnet run --project src/iCloudKitExtractor/iCloudKitExtractor.csproj -c Release

GitHub Pages

项目站点位于 docs/ 目录下(index.html + site.css)。

  1. 将 main 推送到 GitHub。
  2. 仓库 Settings → Pages。
  3. Source:Deploy from a branch。
  4. Branch:main / folder:/docs。
  5. 保存——站点 URL 将类似于 https://giordanosconti.github.io/iCloudKitExtractor/。

使用 Frida 的 Anisette(越狱 iPhone)

获取一致的 iPhone/akd 身份的首选路径:OTP 通过 Frida 在设备上生成 → AuthKit/akd,然后由 AnisetteServer 提供。

1. 前提条件(设备 + PC)

  • 已越狱的 iPhone,且 frida-server 正在运行(USB 或 Wi‑Fi)
  • PC 上安装匹配版本的 frida-tools(pip install frida-tools)
  • Python 3 可通过 python 调用(或设置 FRIDA_ANISETTE_PYTHON)
  • fetch_anisette.py(Frida 附加脚本)。通过 FRIDA_ANISETTE_FETCH_PY 设置其路径

越狱安装步骤:请参阅下方的 准备越狱 iPhone(详情待补充)。

2. 环境变量

变量必需默认值含义
ANISETTE_SERVER_BACKEND是coreadi必须为 frida(别名:iphone-frida、jb-frida)
ANISETTE_SERVER_URL / ANISETTE_SERVER_URLS否http://127.0.0.1:6969AnisetteServer 监听的 URL
ANISETTE_SERVER_PORT否6969未设置 URL 时使用的端口
ICLOUD_AUTH_MODE推荐iphone(通过配置)使用 iphone 以启用完整的 AuthKit iPhone SRP
FRIDA_ANISETTE_HOST否127.0.0.1:27042frida-server 主机:端口(USB 通常通过 iproxy 27042 27042)
FRIDA_ANISETTE_PROCESS否akd要附加的进程
FRIDA_ANISETTE_FETCH_PY是*启发式路径fetch_anisette.py 的绝对路径
FRIDA_ANISETTE_PYTHON否pythonPython 可执行文件
FRIDA_ANISETTE_LITE否1 / true轻量附加模式
FRIDA_ANISETTE_TIMEOUT否60中止生成前的秒数

*若未设置 FRIDA_ANISETTE_FETCH_PY,应用仅会搜索少数几个旧版同级路径;请显式设置该环境变量。

可选的应用配置文件:%AppData%\iCloudKitExtractor\anisette.json(authMode、serverUrl)。环境变量会覆盖该文件。

3. 启动 AnisetteServer(Frida 后端)

$env:ANISETTE_SERVER_BACKEND = "frida"
$env:ANISETTE_SERVER_PORT = "6971"
$env:FRIDA_ANISETTE_HOST = "127.0.0.1:27042"
$env:FRIDA_ANISETTE_PROCESS = "akd"
$env:FRIDA_ANISETTE_FETCH_PY = "C:\path\to\fetch_anisette.py"
$env:FRIDA_ANISETTE_PYTHON = "python"
$env:FRIDA_ANISETTE_LITE = "1"
$env:FRIDA_ANISETTE_TIMEOUT = "60"

dotnet run --project src/AnisetteServer/AnisetteServer.csproj -c Release -- --backend frida --port 6971

CLI 的 --backend / --port 会覆盖环境变量。

冒烟测试:

curl http://127.0.0.1:6971/health
curl http://127.0.0.1:6971/

期望收到包含机器数据的 JSON(X-Apple-I-MD-M、包含 com.apple.akd 的 X-MMe-Client-Info)。

4. 将 IKE 指向该服务器

$env:ANISETTE_SERVER_URL = "http://127.0.0.1:6971/"
$env:ICLOUD_AUTH_MODE = "iphone"
dotnet run --project src/iCloudKitExtractor/iCloudKitExtractor.csproj -c Release

准备越狱的 iPhone

首先在设备上通过 Sileo 安装 Frida(frida-server)和 OpenSSH。

假设为无根越狱(/var/jb/...)。通过 SSH 以 root 身份:

ls -l /var/jb/usr/sbin/frida-server

重新创建 LaunchDaemon plist(LF 换行符,rootless)——无需编辑器:

cat > /var/jb/Library/LaunchDaemons/re.frida.server.plist <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>re.frida.server</string>
	<key>ProgramArguments</key>
	<array>
		<string>/var/jb/usr/sbin/frida-server</string>
		<string>-l</string>
		<string>0.0.0.0:27042</string>
	</array>
	<key>RunAtLoad</key>
	<true/>
	<key>KeepAlive</key>
	<true/>
	<key>ThrottleInterval</key>
	<integer>3</integer>
</dict>
</plist>
EOF

规范化行尾,将 plist 转换为二进制格式,然后(重新)加载守护进程:

tr -d '\r' < /var/jb/Library/LaunchDaemons/re.frida.server.plist > /tmp/frida.plist
mv /tmp/frida.plist /var/jb/Library/LaunchDaemons/re.frida.server.plist
plutil -convert binary1 /var/jb/Library/LaunchDaemons/re.frida.server.plist
killall frida-server 2>/dev/null
launchctl bootout system /var/jb/Library/LaunchDaemons/re.frida.server.plist 2>/dev/null
launchctl bootstrap system /var/jb/Library/LaunchDaemons/re.frida.server.plist
launchctl enable system/re.frida.server
launchctl kickstart -k system/re.frida.server
ps aux | grep '[f]rida-server'

这会将 frida-server 绑定到 0.0.0.0:27042(所有接口),在启动时运行,并保持其存活。在 PC 上,USB 端口转发(iproxy 27042 27042)后设置例如 FRIDA_ANISETTE_HOST=127.0.0.1:27042,或使用设备的局域网 IP。

其他 anisette 后端

后端使用场景文档
frida真实 iPhone/akd OTP(可用时推荐)本 README
akd-emulated软件 ADI worker(目前为 Android 库;目标为 iOS)docs/EMULATED_AKD.md
coreadiWindows CoreADI / AuthKitWin 混合方案docs/MAC_ANISETTE.md
Mac Docker + bridgeCGNAT / 远程 Mac anisettedocs/ANISETTE_BRIDGE.md

模拟 akd 示例:

.\scripts\setup-emulated-akd.ps1

另请参阅 docs/IPHONE_INTERNAL_FLOW.md 和 docs/APPLE_MIDSERVICE_PROVISIONING.md。

许可证与署名

以 MIT 许可证发布(见 LICENSE)。所有权与署名权归 Forensis-Lab(Giordano Sconti)所有。下游使用或修改必须保留对 Forensis-Lab 的明确署名。

免责声明

本软件以非官方方式与 Apple 服务通信。Apple 可能随时更改端点。作者不对数据丢失、账户封禁或其他损害承担责任。

下载工具