了解 sudo 和可能的漏洞利用
我正在做一些筆測試,並遵循一些指南來了解交易工具。我按照這裡的指南進行操作,除了最後一頁外,我了解所有內容。
我需要以下幫助理解
sudo -l
。我知道它詳細說明了目前使用者可以做什麼。但是,下面的輸出是什麼意思?那麼下面的命令(不包括觸摸)呢?這讓我有點困惑,因為在執行該命令(利用?)之後,我能夠獲得 root 權限。
據我了解,該行是說以root身份執行命令或提升為root,壓縮名為exploit的文件,並將其放入tmp/exploit。我相信我錯了,但這就是我對那條線的理解停止的地方。
我對如何使用該命令獲得 root 以及該行在做什麼感到困惑。
對於您的第一個問題,指示的輸出行告訴您允許您以 root 使用者身份執行
/bin/tar
和/usr/bin/zip
通過sudo
,甚至不需要提供zico
密碼。
zip
對於您的第二個問題,我們從的手冊頁中得到答案:--unzip-command cmd Use command cmd instead of 'unzip -tqq' to test an archive when the -T option is used.
因此,由於您有特權以
zip
root 使用者身份通過執行sudo
,因此該漏洞利用只是告訴zip
“嘿,當您測試此存檔時,請使用命令sh -c /bin/bash
對其進行測試,好嗎?” 這樣做很有幫助,給你一個 root shell。該
exploit
文件只是為了提供zip
一些要壓縮的東西,以便有一些東西要“測試”。它永遠不會執行或任何東西,實際上在您的展示中只是一個空文件。$ sudo -u root zip /tmp/exploit.zip /tmp/exploit -T --unzip-command="sh -c /bin/bash"
指示
sudo
以 root 使用者身份執行以下命令:$ zip /tmp/exploit.zip /tmp/exploit -T --unzip-command="sh -c /bin/bash"
此命令將獲取文件
/tmp/exploit
並將其放入新存檔中,/tmp/exploit.zip
.-T
開關告訴zip
然後測試存檔的完整性,並且--unzip-command
開關告訴zip
如何測試存檔。最後一件事是實際的利用:因為zip
是以 root 身份執行的,所以執行sh -c /bin/bash
會給你一個作為 root 使用者的 shell。