xorlosers blogで、Geohot氏のPS3 exploitをPS3の全ファームウェアに対応させる改良をしたexploitをリリースしていました。【情報源:xorlosers blog】
Geohot氏のexploitを利用するにはLinuxをPS3にインストールしターミナルでコマンド入力をする必要があります。ちょうど修正版exploitと共にチュートリアルも記載してくれていますので翻訳してみました。文字数制限のため翻訳のみでお伝えします。
PS3 Exploit: ソフトウェア
皆さん御承知の通りPS3 hypervisorでメモリーアクセスするexploitが最近Geohotz氏からリリースされました。私も彼のハックを試してみましたが、Linux初心者のためうまくいかず色々苦労しました。私のように苦労している方の為に何をどうすればいいのか書いてみようと思いました。今回はこのexploitをソフトウェア面からお話ししてみようと思います。
Geohotz氏のexploitはv2.42のファームウェア用に作られています。そこでちょっと修正を加え全ファームウェア対応バージョンにしてみました。ただし私自身テストはv3.15のファームウェアだけでしかしていません。
修正版PS3 Exploitファイル 注:リンクは元記事にありますのでそちらからどうぞ。以下の記事内リンクも同様
まず最初のステップはPS3にLinuxをインストールすることです。この時点でPS3 Slimは非対応です。私自身何種類かのLinuxを試してみましたが、それぞれに問題が出ることが多く、結局Geohotz氏と同じUbuntu v8.10に落ち着くことになりました。今回は”サーバー”バージョンにはないGUIを持つ”alternate(代替)”バージョンを利用することをお勧めします。下記の636MBあるイメージファイルをダウンロードして下さい。Ubuntuサーバーの帯域を圧迫しないために合法的にtorrentを利用しています。合法ですよ。
Ubuntu for PS3 v8.10 alternate : Torrent
Ubuntu for PS3 v8.10 alternate : ダイレクトダウンロード
ダウンロード後イメージファイルをCD-Rに焼いて他のOSをインストールする方法と同じ方法でインストールして下さい。Ubuntuをインストールする方法などはあちこちにあるのでここでは割愛します。
Linuxインストールが終了したら起動させて、インストール中に入力したユーザー名でログインして下さい。そしてターミナルを開きます。(場所はApplications->Accessories->Terminalです).。ルートアカウントを有効にするために”sudo passwd”と打ってパスワードを作成してください。そこでカレントユーザーのパスワードを入力し、新しいルートパスワードを決めて2回入力します。これでルートアカウントが利用できるようになります。
次に”su”と入力します。ここで先ほど入れたルートパスワードを入力するとルート権限のアクセスができるようになります。まず全てのファイルを入れておくためのディレクトリを作成してください。ホームディレクトリに作成することも出来ますが、私はファイルシステムのルートに作成しました。そうすることで自分のPCからsamba(UnixをWindows互換のファイルサーバ/プリンタサーバにするフリーウェア)経由でアクセスしたりルートアカウントとユーザーアカウントの両方からアクセスしたりできるようになります。新規ディレクトリを作成するコマンドは”mkdir /ps3share”です。今回はps3shareにしましたが、自分の好きな名称でかまいません。 私がps3shareにしたのはsamba経由でPCからアクセスするために分かりやすくしたかったからです。次に全ユーザーに読み書きの許可を与えるために”chmod a+rw /ps3share”とコマンド入力します。最後にps3shareの所有者をノーマルユーザーアカウントにするために “chown username:username /ps3share”と入力します。chownはファイルやディレクトリの所有者を変更するコマンドで、usernameの所には自分のユーザーネームを入力します。
さて次はPS3に”修正版”exploitをコピーします。USBフラッシュドライブを使うのが簡単な方法です。解凍したファイルをPCでUSBフラッシュドライブにコピーしPS3のUSBに差してコピーして下さい。USBポートに差し込めばデスクトップに自動でマウントされます。デスクトップにマウントされたアイコンをダブルクリックすればファイルブラウザが開きます。ファイルブラウザでUSBドライブを右クリックし”Open in New Window”を選びます。ファイルブラウザの左側で “File System”、”ps3share”と選んでください。ここでUSBドライブのファイルを”ps3share”ディレクトリにドラッグしてコピーします。
今回やり方が分からないなど自分でビルドしたくない方向けにexploitのバイナリファイルも用意しました。初めにカーネルヘッダーの場所を修正する必要がありますのでbuild scriptsを見て下さい。コマンドは”mv /usr/src/linux-ports-headers-2.6.25-2/ /usr/src/linux-headers-2.6.25-2/”です。次にexploitソースのあるディレクトリにパスを変更します。コマンドは”cd /ps3share/ps3_exploit_fixed/src”です。 そこで”make”とコマンドを打ちビルドします。警告が多数出ますが”exploit.ko”というファイルが作成されます。
この段階でようやくexploitのソフトウェアを起動させることができます。GUIを使っているときには絶対にターミナルから起動しないでください。必ずコンソールモードからのみ起動してください。起動すると何も起こらないように見えますがPS3が突然遅くなり電源が落ちます。起動したらどうなるかについては今度記事を書こうと思います。
ターミナルで入力するコマンド まとめ:
sudo password
(コマンド入力後ユーザーパスワードを1回、ルート用の新パスワードを2回入力)
su
(コマンド入力後ルート用パスワードを入力)
mkdir /ps3share
chmod a+rw /ps3share
chown username:username /ps3share
(usernameのところは自分のユーザーネームに置き換える)
exploitファイルを/ps3shareにコピーする
mv /usr/src/linux-ports-headers-2.6.25-2/ /usr/src/linux-headers-2.6.25-2/
cd /ps3share/ps3_exploit_fixed/src
make
これで終了!
Linuxと聞いただけで確かに尻込みすることは多いでしょう。
ターミナルの扱いに慣れている方には大したことない話だと思いますが、こういったLinuxの知識がない方でもexploitを扱えるよう親切にチュートリアルを作成してくれたことは評価に値すると思います。
とはいってもPS3を分解してハンダ付けは必要ですから依然としてハードルは低くありません。しかも結果として得られるのはメモリーアクセスだけですから先はまだ長いのです。
PS3 Fatをお持ちの方で興味のある方は試してみてはいかがでしょうか。ただし、自己責任で(笑)