端末プロンプトから「su」を呼び出すにはどうすればよいですか?


7

他の場所で文書化されているエクスプロイトを実行することで、ターミナルでルートプロンプトを取得できます。(例:http : //wiki.cyanogenmod.com/wiki/Motorola_Droid_2_Global : _Full_Update_Guide

この時点で、 "su"バイナリをインストールして4755のアクセス許可を与えることができます。これにより、誰でも実行できるようになり、バイナリの所有者は "root"であり、スティッキービットが設定されているため、私はrootになるはずです。しかし、私はどうやら、再起動しないとターミナルからrootになれない方法がありません。しかし、再起動後、「su」を使用してrootになることができません。

$ ls -l /system/bin/su
-rwsr-xr-x root    app_101    26234 2012-07-09 15:00 su

OK、それを実行してrootになることができるはずですが、端末のこの特定の呼び出しでのみ、権限は正常に見えます。

$ /system/bin/su
Permission denied

rootとして実行するコマンドを指定した場合、または他の引数を指定した場合も失敗します。

$ /system/bin/su /system/bin/sh
Permission denied

どうして?動作している他のメカニズムはありますか?Superuser.apkをインストールしたくありません。たとえば、不要なファイルを手動で削除するなど、必要に応じて一時的にルートシェルを取得できる方法が欲しいからです。その上、Superuser.apkはとにかくsuバイナリに依存しているので、それを呼び出す方法が必要なのに、なぜターミナルでそれを複製できないのでしょうか。

編集:別の考えがあったので、/ bin / shを別の場所にコピーして、それをsuid rootにしました。しかし、私は新しいバイナリを実行できますが、それは私に根を与えません。Androidは、通常のLinuxではできない、sidでトリッキー/異なることをしていますか?


1
スーパーユーザーアプリなどがゲートウェイとして追加しようとしていることをユーザーが確認せずにデバイスを使用しようとすると、デバイスに保護されていない「su」が存在することはかなり危険です。
Chris Stratton、2012

ええと、ええと...私は前もって計画を立てようとしていました。後続の更新がどのようにsuを取り除こうとするかわからなかったので、私はそれをさまざまな名前のさまざまな場所にまとめました。アップデートによりスティッキービットが削除され、システム以外の場所からsuidを実行できないことがわかりました。まぁ。
Michael

回答:


6

手がかりは所有者/グループIDにあります...

$ ls -l /system/bin/su
-rwsr-xr-x root    app_101    26234 2012-07-09 15:00 su

グループIDが 'app_101'に設定されていることに注意してください。これは 'root'である必要がありますが、その後、busyboxバイナリが必要です(これはSuperUser.apkバイナリの一部であり、インストールされると、関連する上記のバイナリをにコピーします/system/xbin)。chownそれができるように。


はい、これは問題になるでしょう。ストックandroid chownはchown user.groupファイル名(少なくともFroyo-ICSから)を使用してグループも変更できるため、最終的にbusyboxは必要ありません
Chris Stratton

1

-cオプションを追加してみてください。例えば

su -c sh

または

 su -c 'echo bogus'

(その他の引数について)


0

もう少し掘り下げて、答えを上げたと思います。これが機能しない理由は、ターミナルアプリがマニフェストでスーパーユーザー権限を要求しないためです。

<uses-permission android:name="android.permission.ACCESS_SUPERUSER"/>

この追加のセキュリティ層は、ターミナルアプリケーションがJavaアプリケーションであるためであるように見えますが、それを隠すことはできます。スーパーユーザーは何らかの形でシムのように見えるので、Javaアプリは、作成時に必要であることを知らなくても、このアクセス許可を取得できます。


2
ACCESS_SUPERUSER許可はあなたの問題に関係していません
janot
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.