iDB で最近報告されたように、Luca Todesco 氏は、ジェイルブレイクを再有効化するための Web ベースのツールを公開することで、最新の Pangu リリース 9.2-9.3.3 で発生していた認証問題を解決することを決定しました。
いくつかのテストと調査を行った後、脱獄シーンにおけるこの最新の開発を取り巻く技術的な質問のいくつかに対処するために、ツールについてウォークスルーとともにさらに詳しく議論することが適切であるように思われました。
ツールの使い方を説明する前に、リリース以降に発生したいくつかのイベントを紹介します。
アップデート
まず、Todesco氏は中間者攻撃への対策として、ウェブサイトをhttpではなくhttpsを使用するようにアップデートしました。また、ツール自体にも小さなアップデートを加え、リスプリングコードをPanguのバージョン(Todesco氏によると信頼性はやや劣るものの、よりクリーンなバージョン)を使用するように変更し、HTML5ウェブアプリのキャッシュを有効にしました。このアップデートにより、iOSでこのウェブページをホーム画面に追加するとキャッシュされるようになり、後日インターネットに接続せずに使用できるようになります。これは非常に便利なアップデートであり、彼のツールとオリジナルのPanguアプリとの間の最後の機能的な違いが解消されました。
Panguのリスプリングコードの使用は、Todesco氏とチームの間にある程度の協力関係があることを示唆しています。特に、Todesco氏はPangu9.3.3 SDKの新しいバージョンを使用していると述べており、彼はこのSDKにアクセスできるようです。このSDKのおかげで、「tfp0」パッチに相当する「host_get_special_port」が有効になります。これは、デバイス上のBLOBを保存したり、デバイスをダウングレードしたりするツールなど、多くの高度なツールに必要です。Panguの公式ウェブサイトにもTodesco氏への言及があり、Panguは今後、従来の認証方法に代えて彼の方法を使用することを推奨しているようです。
ツール
ツールの構成に関して、Todesco氏によってさらに詳しい情報が明らかになりました。彼によると、使用されたエクスプロイトは、Tridentと呼ばれる3つのゼロデイ脆弱性の一部を構成するWebKitバグの実装であるということです。おそらくCVE-2016-4657に該当するこのバグは、ウェブサイトを細工することで、ウェブサイトへのアクセス時に任意のコード実行を許してしまう可能性がありました。このバグはPegasusスパイウェアの一部として実際に利用され、iOS 9.3.5で修正されました。つまり、Todesco氏のWebエクスプロイトはiOS 9.3.4までしか動作しないということです(詳細は後述)。これらのバグに関する詳細については、発見者の1社であるLookoutの記事をご覧ください。
このツールの構造に関する最後の事実は、ページのソースコードを調べることで明らかになります。ここには、ライセンス条項と、このツールを動かすWu-Tangの魔法の一部が記載されています。
これらの軽い法的規定やライセンスの具体的な内容にご興味のある方は、全文をご覧いただけます。「Da Mystery of Chessboxin」については、私と同じく推測に難ありです。
要件
- 以前に Pangu 9.2-9.3.3 ツールによってジェイルブレイクされた 64 ビット デバイス (iPhone 5s 以降)。
- インターネット接続(初回のみ)。
使い方
1)デバイスが「非ジェイルブレイク モード」になっていること、つまり、再起動されていて Pangu アプリで再アクティブ化されていないことを確認します。
2) モバイル Safari を開き、次の URL にアクセスします。
https://jbme.qwertyoruiop.com
なお、これはスタンドアロンのSafariアプリでのみ機能し、アプリ内ブラウザでは機能しません。TwitterやRedditなどのアプリ経由でリンクにアクセスしようとすると、画面が真っ白になります。
3)ページの「実行」ボタンを押し、ページが「実行中」と応答するまで待ちます。
4)ポップアップが表示されたら、指示に従ってポップアップを閉じ、デバイスの画面オフ/ロックボタンを押します。
5)リスプリング処理中はデバイスが応答しなくなります。Panguアプリよりも時間がかかるようですが、処理中はAppleロゴやリスプリングアニメーションは表示されませんので、しばらくお待ちください。
6)デバイスが復活したら、再度ジェイルブレイクする必要があります。選択したTweakが機能していることを確認してください。
7) Safariを再度開き、ツールのページにアクセスします。ページを開いたら、画面下部の「共有」ボタンを押し、「ホーム画面に追加」を選択します。名前を付けて、右上の「追加」ボタンを押します。これで、ページがアイコンとしてホーム画面に追加され、今後簡単に使用できるようになります。また、前述の通り、インターネットに接続していなくても使用できます。
エクスプロイトのパッチ適用
Todesco氏は、このエクスプロイトの作成者ではないものの、ツールの公開によって脆弱性の認知度が高まっていることを認識しています。その結果、一見無害なウェブサイトでこの脆弱性が悪用され、ユーザーの知らないうちにデバイスが攻撃される可能性があります。そこで彼は、ツールと共に、ツールが悪用する脆弱性そのものを保護するパッチをリリースしました。Pangu 9.3.3ジェイルブレイクツールでジェイルブレイクした方は、このパッチを直ちにインストールすることをお勧めします。このパッチは、ジェイルブレイク状態の間、同様の攻撃からユーザーを保護します。また、ソースコードは希望に応じて自由に閲覧できます。
パッチをインストールするには
1) Cydiaを起動し、「ソース」タブに移動します。
2)右上の「編集」ボタンをクリックし、左上の「追加」をクリックします。
3)表示されるフィールドに、次のリポジトリ URL (エクスプロイト Web ページのものと同じ) を入力します。
https://jbme.qwertyoruiop.com/
4)「ソースを追加」ボタンを押して、Todesco のリポジトリを追加します。
5)ソースが入力されたら、Cydia の検索タブを使用して「jbmepatch」を検索し、選択します。
6) パッケージページで右上の「インストール」を押し、次のページで右上の「確認」をタッチしてインストールします。
7) インストールが完了したら、「SpringBoard を再起動」を押して再起動し、パッチを有効にします。
8)デバイスが復活した後、Todescoのツールを再度使用してパッチの効果をテストできます。効果はなくなるはずです。
このパッチは、デバイスがジェイルブレイクされている間のみ保護されます。デバイスを再起動した場合は、JailbreakMeまたはPanguアプリでジェイルブレイクを再度有効化するまでパッチによる保護は適用されません。そのため、ジェイルブレイク解除モードでは、アクセスするURLにご注意ください。JailbreakMeツールが32ビットデバイスでは動作しないのと同様に、このパッチも動作しません。32ビットデバイスにインストールしないでください。
将来の可能性
残るコメントは、多くの人がこのトピックを検討しているため、ツールの将来性だけです。Todesco が使用する Web ベースのエクスプロイトは iOS 9.3.5 で修正されたため、iOS 10 を含む 9.3.4 以降のジェイルブレイクを期待していた場合は残念です。ただし、このエクスプロイトが 9.3.4 でも機能することは示唆されています。この事実が Pangu ジェイルブレイクを 9.3.4 デバイスに拡張できることを意味するかどうかは不明です。ペイロードを配信する WebKit エクスプロイトは機能しますが、実際のジェイルブレイク ペイロード自体は 9.3.4 用ではないためです。一部の人が示唆しているように、Todesco のツールを 9.3.4 で実行してから Cydia をサイドローディングするほど簡単ではありません。他の多くの要件がまだ満たされていないためです。このファームウェアを含むように変更できるかどうかはまだわかりません。
残りの2つの興味深い点は、アンテザーと32ビットサポートです。これらはより明確です。Todesco氏は、どちらも可能だと述べています。Panguのジェイルブレイクは32ビットデバイスに移植可能であり、彼のツールによって注入されたペイロード用のアンテザーを作成できる可能性があります。しかし、彼はこれらのいずれにも取り組んでいること、またそれに興味を持っていることを明言していません。彼またはPanguにそれらを提供する時間と意欲があるかどうかは、ただ待つしかありませんが、あまり期待しすぎない方が良いでしょう。32ビットデバイスのサポートへの関心は低く、衰退しており、現在署名されていないファームウェア用のアンテザーの開発よりも、iOS 10ジェイルブレイクの開発に注力することになるのは間違いありません。
JailbreakMe 9.3.3 をお使いになりましたか?32ビット対応やアンテザー化は期待できますか?コメント欄で教えてください。