diosra2’s blog

iOSの脱獄、ダウングレード

脱獄せずにiPhone 5sをDFU ModeからiOS 10.2に復元できた件。

futurerestoreといえば、脱獄してNonceをセットすることで、署名されたSEPとBBの互換性があればshsh2を使って復元できるというものですよね。現在では、A7デバイスのiOS 10.2からiOS 10.3.3の間に限って復元することができます。(iOS 10.3.3のOTA署名を利用)

もともとはiOS 10.2.1で修正された、A7デバイスのNonceがランダムになっていなく、ときどき一致してしまうというバグから発見されたダウングレード方法だったはずです。この手法は、Recovery Modeで衝突するNonceのshsh2をあらかじめ保存しておくことで発生させることができました。現在でもiOS 10.2に復元してあげるとNonceがバグってると思うので、脱獄なして復元できるかもしれません。

私は、さらにDFU ModeのNonce衝突も調べていました。実は、A7デバイスではDFU ModeでもNonceが衝突します。これは使えるかもしれないと思い、衝突の一番多かったものを取っておいたのですが、特に復元するつもりもなかったので一度も検証せずに...。そして今に至ります。

 

そこで、iPhone 5sがちょうどブートループしたので試してみました。

 

DFU ModeのNonceを衝突させる。

DFU ModeはBootRomを起動させていたと思うので、修正はできないはずです。と、期待を抱きつつ、、。とりあえずDFU ModeでNonceを衝突させます。

200回ほど繰り返して一致しました。(長かった...。)

64-bitデバイスはiBSSもAPTicketで署名しているので、Nonceが一致していればDFU Modeは署名されたiBSSとして受け付けるはず...。ということで、iBSS->iBECと送信し、Recovery Modeまで持って行ってみます。

 

iBSS/iBECを送信、デバイスをリカバリーモードへ。

Recovery Modeに入れました。Nonceも維持されていますね。これならfuturerestoreで復元できそうです。

 

復元する。

前回のように復元してみましょう。Nonceはセットされているのと同じ状態なので、直接復元します。

 

復元モードに入れました。 

前回同様、正常に復元が完了しました。

 

結論と考察

以上のことから、A7デバイスは(おそらく)修正できないNonceの衝突を持っていることになります。(ということで良いのかな...?)

DFUはSecureRomの一部となっているので、書き込みできません。そうなると、このshsh2を保存したiPhone 5sは10.3.3のOTA署名が生きているうちは、ハードウェアDFU Modeから復元すれば永久にiOS 10.2にできるということに...。

 

もしかして、このデバイスはもう無敵なのか...??

Copyright (C) 2017-2018 Diosra2. All Rights Reserved.