John the Ripper ツール: ios7tojohn の使い方徹底解説

iOS 7以降のバックアップからパスワードハッシュを抽出しよう!

はじめに: ios7tojohn とは? 🤔

ios7tojohn は、有名なパスワードクラッキングツール「John the Ripper (JtR)」スイートに含まれるユーティリティスクリプトの一つです。その主な目的は、iOS 7 以降のバージョンで作成された iTunes バックアップに含まれる暗号化されたパスワードの「ハッシュ」を抽出することです。

iTunes (または macOS の Finder) で iOS デバイスのバックアップを作成する際、「ローカルのバックアップを暗号化」オプションを選択すると、パスワードで保護されたバックアップが作成されます。この暗号化により、アカウントのパスワードや Wi-Fi 設定、ヘルスケアデータなど、暗号化されていないバックアップには含まれない機密情報も安全に保管されます。

しかし、設定したパスワードを忘れてしまうと、バックアップからデータを復元できなくなります。ios7tojohn は、このような状況で、バックアップファイルからパスワード回復の手がかりとなるハッシュ情報を取得するために使用されます。抽出されたハッシュは、John the Ripper 本体を使って解析(クラッキング)を試みることができます。

⚠️ 重要: パスワードクラッキングツールは、セキュリティテストや忘れてしまった自分のパスワードの回復など、正当な目的でのみ使用してください。他人のデータやアカウントに対して許可なく使用することは、法律で禁止されており、重大なプライバシー侵害となります。

ios7tojohn の 前提条件と準備 🛠️

ios7tojohn を使用する前に、以下の準備が必要です。

  • John the Ripper のインストール: ios7tojohn は JtR の一部として提供されるため、まず John the Ripper (通常は “Jumbo” バージョンが推奨されます) をシステムにインストールする必要があります。インストール方法は OS によって異なりますが、公式サイトやパッケージマネージャー (apt, brew など) から入手できます。
  • iOS バックアップファイル: 解析対象となる iOS デバイスの iTunes (または Finder) バックアップが必要です。バックアップの場所は OS によって異なります。
    • macOS: ~/Library/Application Support/MobileSync/Backup/
    • Windows (Microsoft Store版 iTunes): %UserProfile%\Apple\MobileSync\Backup
    • Windows (デスクトップ版 iTunes): %AppData%\Apple Computer\MobileSync\Backup
    バックアップフォルダは、デバイスの UDID (一意の識別子) に基づいた名前のサブフォルダ内に格納されています。
  • Manifest.plist ファイル: バックアップフォルダ内にある Manifest.plist という名前のファイルが、ハッシュ抽出の主なターゲットとなります。このファイルには、バックアップの暗号化に関する情報(キーバッグ)が含まれています。

ios7tojohn の場所と使い方 🗺️

John the Ripper をソースコードからコンパイルした場合や、一部のディストリビューションでは、ios7tojohn (または類似のスクリプト) は JtR のインストールディレクトリ内の run ディレクトリ、あるいは /usr/share/john//usr/sbin/ などに含まれていることが多いです。

基本的な使い方は非常にシンプルで、ターミナル(コマンドプロンプト)から以下のように実行します。


# John the Ripper の run ディレクトリにいる場合
./ios7tojohn.pl /path/to/your/backup/Manifest.plist

# パスが通っている、またはフルパスを指定する場合
ios7tojohn.pl /path/to/your/backup/Manifest.plist
      

ここで、/path/to/your/backup/Manifest.plist は、実際の Manifest.plist ファイルへのパスに置き換えてください。

成功すると、以下のような形式のハッシュ文字列が出力されます。


RestrictionsPassword:$pbkdf2-hmac-sha1$1000.SALT_DATA.KEY_DATA:::BackupName::/path/to/your/backup/Manifest.plist
      

この出力された文字列全体が、John the Ripper で解析するためのハッシュです。$pbkdf2-hmac-sha1$ はハッシュのアルゴリズムを示し、1000 は PBKDF2 のイテレーション(反復)回数、SALT_DATAKEY_DATA はそれぞれソルトと暗号化されたキーのデータ(Base64エンコードされていることが多い)を表します。

💡 新しいiOSバージョンと itunes2john

ios7tojohn は主に iOS 7 から iOS 9 頃のバックアップを対象として開発されました。iOS 10 以降では、バックアップの暗号化方式が変更され、より強力な PBKDF2 (HMAC-SHA256) が1000万回以上のイテレーションで使用されるようになりました。

そのため、新しい iOS バージョンのバックアップには、itunes2john.py (Python スクリプト) や itunes_backup2john.pl (Perl スクリプト) といった、より新しいバージョンの JtR に含まれるツールを使用する必要があります。これらのツールは、新しい形式のハッシュ (例: $itunes_backup$*10*...$itunes_backup$*11*... など) を抽出します。

基本的な使い方は ios7tojohn と同様で、Manifest.plist ファイルを引数として指定します。


# itunes2john.py を使用する場合 (Python3 が必要になることが多い)
python3 /path/to/john/run/itunes2john.py /path/to/your/backup/Manifest.plist

# itunes_backup2john.pl を使用する場合 (Perl が必要)
perl /path/to/john/run/itunes_backup2john.pl /path/to/your/backup/Manifest.plist
        

どちらのツールを使用すべきかは、お使いの John the Ripper のバージョンや iOS バックアップのバージョンによって異なります。最新の John the Ripper Jumbo バージョンを使用することをお勧めします。

抽出したハッシュの解析 (クラッキング) 💥

ios7tojohnitunes2john でハッシュを抽出したら、次はそのハッシュを John the Ripper 本体に入力して、実際のパスワード解析(クラッキング)を行います。

  1. ハッシュをファイルに保存: 抽出したハッシュ文字列(例: RestrictionsPassword:$pbkdf2-hmac-sha1$...$itunes_backup$*10*...)をテキストファイルに保存します。例えば ios_hash.txt というファイル名で保存します。
  2. John the Ripper を実行: ターミナルで以下のコマンドを実行します。
    
    # John the Ripper の run ディレクトリにいる場合
    ./john /path/to/your/ios_hash.txt
    
    # パスが通っている場合
    john /path/to/your/ios_hash.txt
              
    John the Ripper は、デフォルトでいくつかのクラッキングモード(シングルクラック、辞書攻撃、インクリメンタルモード)を順番に試します。
  3. 辞書ファイルの使用 (推奨): より効率的に解析を行うために、辞書ファイル(パスワードに使われやすい単語を集めたリスト)を指定することができます。
    
    ./john --wordlist=/path/to/your/password.lst /path/to/your/ios_hash.txt
              
    /path/to/your/password.lst は、使用する辞書ファイルのパスに置き換えてください。John the Ripper にはデフォルトの辞書 (password.lst) が付属していることが多いです。
  4. 結果の確認: 解析が成功すると、クラックされたパスワードがターミナルに表示され、$JOHN/john.pot (John the Ripper のホームディレクトリにある john.pot ファイル) に保存されます。後で結果を確認するには、以下のコマンドを使用します。
    
    ./john --show /path/to/your/ios_hash.txt
              

💔 解析の難易度について

iOS バックアップのパスワード解析は、特に iOS 10 以降のバージョンでは非常に時間がかかる可能性があります。これは、意図的に計算負荷の高いハッシュ関数 (PBKDF2) と多数のイテレーションが使用されているためです。

単純なパスワード(短い、一般的な単語、数字のみなど)であれば比較的短時間で見つかる可能性もありますが、長く複雑なパスワードの場合は、高性能なコンピュータを使用しても数日、数週間、あるいはそれ以上の時間が必要になることも珍しくありません。GPU を利用したパスワード解析ツール (例: Hashcat) を使うことで速度を向上させることができますが、それでも成功が保証されるわけではありません。

注意点と倫理的考慮事項 ⚖️

  • 法的・倫理的側面: 繰り返しになりますが、ios7tojohn や John the Ripper などのパスワード回復ツールは、自分が所有するデータや、明示的な許可を得たデータに対してのみ使用してください。不正アクセスは犯罪です。
  • ツールのアップデート: John the Ripper や関連ツールは継続的に開発されています。新しい iOS バージョンへの対応や、パフォーマンスの改善が行われている可能性があるため、常に最新版の使用を検討してください。
  • 代替手段: パスワードを忘れた場合、Apple の公式な方法(例: デバイスのリセット、パスワードのヒントなど)で解決できないか、まず確認することも重要です。サードパーティ製のパスワード回復ソフトウェアも存在しますが、信頼性や安全性をよく確認してから利用してください。

まとめ ✨

ios7tojohn (およびその後継である itunes2john) は、暗号化された iOS バックアップからパスワードハッシュを抽出し、John the Ripper で解析するための重要なユーティリティです。パスワードを忘れて困っている場合の一つの手段となり得ますが、その使用には技術的な知識と時間、そして何よりも倫理的な配慮が不可欠です。

この記事が ios7tojohn の理解と適切な使用の一助となれば幸いです。😊

参考情報