iPhone 5sを無条件でiOS 10.3.3にダウングレードする
- iPhone
- 2020/07/7
A7チップを搭載した端末は無条件でiOS 10.3.3に復元することができます
Introduction
昨今のiOSは復元に様々な条件が必要であり、iPhone 5s以降の64bit端末ではファームウェアとBasebandの署名に加え互換性があるSecureEnclaveProcessor(SEP)署名が必要となっています。2013年発売のiPhone 5sはiOS 7を搭載して出荷され、iOS 12.xまでのインストールをサポートしています。しかしあまりに古いバージョンから一気に最新バージョンにアップデートすることができないためiOS 7.xからは一度iOS 10.3.3を経由します。そのため今でもOTA(PCを使わず端末からOSをアップデートすること)用にファームウェアとSEPが署名されており、これを利用することで正規のiOS 10.3.3に復元することができます。
用意するもの
- A7搭載端末(本記事ではiPhone 5sを使用)
- Mac
- iOS 10.3.3 FW
- iPwnder32
- 10.3.3OTA用BuildManifest(端末にあったものを落としてください)
- tss checker
- futurerestore
ダウンロードしたものは全て一つのフォルダにまとめておいてください
復元する
注意 : 本記事では端末の脆弱性を攻撃する過程を含みます。自身の端末で自己責任で行ってください
1 , ファームウェアからbasebandとsepを取得する
iOS 10.3.3のファームウェアから復元に使用するbasebandとsepファイルを取得します。
拡張子をipswからzipに変えて解凍すると手っ取り早く入手できます。
拡張子を変えた場合は作業後にipswに戻してくださいね
- ベースバンド : Firmware/Mav7Mav8-7.60.00.Release.bbfw
- SEP : Firmware/all_flash/sep-firmware.n51.RELEASE.im4p
※A7端末ではベースバンドは共通ですがSEPは端末に合うものを抽出してください。記事ではiPhone6,1を扱うためN51APのSEPを用意しています。
2, iOS 10.3.3のshshを取得する
tsscheckerを使用してiOS 10.3.3のOTA shshを取得します
./tsschecker -d [機種id] -e [ecid] -i 10.3.3 -o -s
機種IDとECIDは共にiTunesで確認できます。(機種IDのところを何回かクリックするとECIDが表示されます)
取得したshshは長いファイル名がついていると思うので適当にリネームしておいてください。(ここではticket.shsh2とします)
3, 復元する
いよいよ復元します。端末をMacに接続しDFUモードにしてください。DFUモードには時間制限があり、一定時間経過すると自動で再起動してしまうためこれ以後の手順はコマンドを予めターミナルに入力しておくなどして素早く行います。
まずはiPwnder32を使用して端末をPwned DFUモードに移行させます
./pwnedDFU -p -f
『Device is now in pwned DFU mode!』と表示されたのを確認したら次のステップに進みます。成功率はかなり高いですが失敗した場合はもう一度同じコマンドを送信してください。
これでBootromExploit『checkm8』を使用して端末がpwnedになっており、以降はあらゆるファイルの署名チェックがスキップされます。
続いてfuturerestoreから復元します。
./futurerestore -t [shsh] -b [baseband] -s [sep] -p [BuildManifest] -m [BuildManifest] --use-pwndfu [ipsw]
iPhone 5sを使用している場合は以下のようになります
./futurerestore -t ticket.shsh2 -b Mav7Mav8-7.60.00.Release.bbfw -s sep-firmware.n51.RELEASE -p BuildManifest_iPhone6,1_1033_OTA.plist -m BuildManifest_iPhone6,1_1033_OTA.plist --use-pwndfu iPhone_4.0_64bit_10.3.3_14G60_Restore.ipsw
入力ミスが無ければiOS 10.3.3に復元されます。