カーネル内からルート シェルを起動する必要があるエクスプロイト プロジェクトに取り組んでいます。さまざまなドキュメントや Web サイトを検索した結果、それを行う唯一の方法は、現在のプロセスをルート権限に昇格させてから、シェルを呼び出す命令を実行することであることがわかりました。これは、カーネルからシステム コールを単純に呼び出すことができないためです。
commit_creds (prepare_kernel_cred (0));
同じように、プロセスに root 権限を付与するために使用できるcall に遭遇しました。ただし、Red Hat Enterprise Linux 4.4 Base を使用していますが、上記の呼び出しはありません。
[dmazumd@bn19-62 ~]$ grep commit_cred /proc/kallsyms
[dmazumd@bn19-62 ~]$ grep _cred /proc/kallsyms
c0164655 T compute_creds
c01a7cdd t dummy_bprm_apply_creds.....
それで、私の質問は、これをどうやって行うのですか?uid
ルート権限を付与するプロセスの をゼロに設定する必要があることを理解しています。私の知る限り、今ではなくにuid
住んでいます。上記のように、API を使用せずにこれらの構造に直接アクセスできるかどうかはわかりません。同じことを達成するための他の呼び出しはありますか? または、他のアプローチはありますか?struct_cred
struct_task
PS: 質問に対する正確な回答を求めているわけではありません。指示や助けをいただければ幸いです。