# iOS Corellium に接続する方法 {{#include ../../banners/hacktricks-training.md}} ## **前提条件** - Corellium の iOS VM(jailbroken 可)。このガイドでは Corellium へのアクセスがあることを前提とします。 - ローカルツール: **ssh/scp**. - (オプション)パスワードレスログイン用に **SSH keys** を Corellium プロジェクトに追加しておく。 ## **ローカルホストから iPhone VM に接続する方法** ### A) **Quick Connect (no VPN)** 0) **`/admin/projects`** に ssh key を追加する(推奨)。 1) デバイスページを開く → **Connect** 2) Corellium に表示される **Quick Connect SSH command** をコピーして端末に貼り付ける。 3) パスワードを入力するか、(推奨)SSH key を使用する。 ### B) **VPN → direct SSH** 0) **`/admin/projects`** に ssh key を追加する(推奨)。 1) デバイスページ → **CONNECT** → **VPN** → `.ovpn` をダウンロードし、TAP モードをサポートする任意の VPN クライアントで接続する。(問題がある場合は [https://support.corellium.com/features/connect/vpn](https://support.corellium.com/features/connect/vpn) を確認) 2) VM の **10.11.x.x** アドレスに SSH で接続: ```bash ssh root@10.11.1.1 ``` ## **ネイティブバイナリをアップロードして実行する** ### 2.1 **アップロード** - もし Quick Connect が host/port を教えてくれた場合: ```bash scp -J ./mytool root@10.11.1.1:/var/root/mytool ``` - VPN (10.11.x.x) を使用している場合: ```bash scp ./mytool -J root@10.11.1.1:/var/root/mytool ``` ## **iOSアプリをアップロード&インストール (.ipa)** ### パス A — **Web UI(最速)** 1) Deviceページ → **Apps** タブ → **Install App** → `.ipa` を選択。 2) 同じタブから **launch/kill/uninstall** が可能。 ### パス B — **Scripted via Corellium Agent** 1) API Agent を使って **upload** し、続けて **install**: ```js // Node.js (pseudo) using Corellium Agent await agent.upload("./app.ipa", "/var/tmp/app.ipa"); await agent.install("/var/tmp/app.ipa", (progress, status) => { console.log(progress, status); }); ``` ### Path C — **Non-jailbroken (適切な署名 / Sideloadly)** - プロビジョニングプロファイルがない場合、**Sideloadly** を使って Apple ID で再署名するか、Xcode にサインインしてください。 - また、**USBFlux** を使って VM を Xcode から利用できるようにすることもできます(§5参照)。 - SSH がなくても素早くログやコマンドを確認したい場合は、UI のデバイス **Console** を使用してください。 ## **補足** - **Port-forwarding** (他のツールから VM をローカルのように扱えるようにする): ```bash # Forward local 2222 -> device 22 ssh -N -L 2222:127.0.0.1:22 root@10.11.1.1 # Now you can: scp -P 2222 file root@10.11.1.1:/var/root/ ``` - **LLDB remote debugging**: デバイスページ下部に表示される **LLDB/GDB stub** アドレスを使用してください (CONNECT → LLDB). - **USBFlux (macOS/Linux)**: VM を **Xcode/Sideloadly** にケーブル接続されたデバイスのように認識させます。 ## **よくある落とし穴** - **Proper signing** は **non-jailbroken** デバイスで必要です。unsigned IPAs は起動しません。 - **Quick Connect vs VPN**: Quick Connect が最も簡単です。デバイスをローカルネットワーク上で使う必要がある場合(例: ローカルプロキシ/ツール)は **VPN** を使用してください。 - Corellium デバイスには **App Store** がありません。自分で (re)signed IPAs を用意してください。 {{#include ../../banners/hacktricks-training.md}}