所有文章 → 文章详情

获取 iOS 描述文件中存储的 Wi-Fi 密码

被安装了描述文件连上 Wi-Fi 却苦于无法获得原始密码?Frida:我会出手!

感谢@part1cleth1ef创建此方法。

本文介绍的操作需要对设备进行越狱,请做好必要的数据备份并谨慎操作
此方法已在以下设备和系统经过测试:
iPad 第五代(A9,iOS 15-16),iPad 第六代(A10,iOS 15-17)。
对于其他机型,请查看 palera1n 对更多设备的支持情况。

使用 palera1n 越狱

安装 palera1n

运行以下命令以自动获取安装脚本并安装 palera1n

sudo /bin/sh -c "$(curl -fsSL https://static.palera.in/scripts/install.sh)"

对设备进行无根越狱

使用 USB-A 线连接将设备连接至电脑,执行:

palera1n -l

此时按照 palera1n 的提示重启设备并按住主屏幕按钮进入 dfu 模式,此时 iOS 设备可能会表现为黑屏。

重要

必须使用 USB-A 线进行连接,使用 USB-C 线缆无法进入 dfu 模式

当 palera1n 提示 Device should now reconnect in download mode 时,迅速将设备断开连接并重新插入数据线。

操作成功后 palera1n 会提示 Booting PongoOS,iOS 设备则会出现 checkmate 图标。

此时如果等待超过半分钟而没有响应,请观察 iOS 设备上的输出,如果卡在 Booting PongoOS… ,请用 ctrl + c 终止程序,保持设备连接,并直接再次运行 palera1n -l

系统会自动重启并进入桌面,至此越狱成功。

Frida-server 安装和使用

此部分操作将会在 iOS 设备上完成。

安装

  1. 打开 palera1n 安装 sileo
  2. 设置用户密码
  3. 打开 slieo 并添加软件源:https://build.frida.re
  4. 搜索并安装frida
  5. 搜索并安装newterm3(为了在本地启动frida服务)

启动 frida-server

  1. 进入newterm3,运行sudo frida-server -l 0.0.0.0:1234,此处1234为端口号,可以替换为任意不被占用的端口。
  2. 输入前面设置的登录密码

正常情况下没有输出,此时frida-server已经启动。

电脑端 Frida 和 Objection 安装和使用

此部分操作将会在电脑上完成。

安装

建议新建一个 python 虚拟环境,然后运行:

pip3 install frida-tools
pip3 install objection

使用

将iPad和电脑连接到同一局域网下(可以是热点),并且获取到 iPad 在局域网中的地址,objection 命令用法如下:

objection -N -h <iOS设备IP地址> -p <iOS设备frida-server端口> -g com.apple.Preferences explore

例如,iPad的IP地址是192.168.31.227并且服务器端口号为1234,连接命令为:

objection -N -h 192.168.31.227 -p 1234 -g com.apple.Preferences explore

成功连接进入后,输入 ios keychain dump ,即可获取 iOS 上存储的钥匙串信息,其中包含所有 Wi-Fi 密码。

补充说明

如果在任意一步因为超时重启而失败,请从第一步重新开始