OverTheWire 19->20. (정답O)

0_0·2023년 3월 22일
0

OverTheWire

목록 보기
20/22

✔ 문제풀이 해설이 상세함. 정답 스포 주의!!! ✔

계정 로그아웃 : ctrl + d
계정 로그인 : (로그아웃 상태에서) ssh 계정명@bandit.labs.overthewire.org -p 2220

[OverTheWire 19->20.]

홈 디렉토리에서 setuid 바이너리를 사용해야 한다. => 홈 디렉토리에서 setuid가 설정된 것이 있는지 확인.




리눅스 기본권한 : 읽기(r), 쓰기(w), 실행(x) ```drwxrwxrwx : 디렉토리(1), 사용자(3), 그룹(3), 제3자(3)``` 리눅스 확장권한 : setuid, setgid, sticky bit...

setuid 파일을 소유자 권한으로 프로세스를 실행하도록 하는 설정
설정된 파일은 사용자 실행 권한이 x가 아닌 s로 표시
디렉토리(1), 사용자(3), 그룹(3), 제3자(3)
chmod심볼릭 : 설정 u+s / 해제 u-s
chmod 8진수 : 설정 +4000 / 해제 -4000
설정된 파일을 실행하면 아이디가 변경되고, 실행이 끝나면 돌아온다.

유사) setgid 파일의 사용자 그룹 권한으로 프로세스를 실행하도록 하는 설정
설정된 파일은 사용자 그룹 권한이 x가 아닌 s로 표시
실행권한 설정없이 setgid만 설정된 경우, S로 표시
chmod심볼릭 : 설정 g+s / 해제 g-s
chmod 8진수 : 설정 +2000 / 해제 -2000

유사) sticky bit rwx 권한과 별개로 소유자만 파일을 삭제 가능 (디렉토리에만 설정가능한 명령)
실행권한이 설정된 경우, 제3자 실행권한이 x가 아닌 t로 표시
실행권한 설정없이 sticky bit만 설정된 경우, T로 표시
chmod심볼릭 : 설정 o+t / 해제 o-t

chmod [심볼릭/8진수][파일] 확장 권한 설정할 때 사용하는 명령
심볼릭 예시 : u+s, g+s, o+s ...
8진수 : r(4), w(2), x(1)
8진수 예시 : 2755 -> drwxr-sr-x

find [옵션][대상] 찾는 명령
옵션) -perm(권한), -name(이름), -user(유저), -group(그룹)
- : 적어도
find / -perm -4000 : /부터 적어도 SetUID가 걸린 파일을 모두 찾아라
find / -user root -perm -4000 : /부터 root권한으로 SetUID가 걸린 파일을 모두 찾아라




cd /etc/bandit_pass -> ll -> bandit20의 소유자는 bandit20, umask는 400 (소유자만 read 가능) 확인 -> cd ~ -> ll (setuid설정된 파일 확인 목적) -> bandit20-do가 setuid 설정되어있는 것 확인 -> ./bandit20-do whoami -> bandit20-do는 bandit20으로 인식하는 것 확인 -> ./bandit20-do cat /etc/bandit_pass/bandit20


-> ctrl + Insert로 복사하기

아이디 : bandit20
암호 : VxCazJaVykI6W36BkBU0mJTCM8rR95XT



0개의 댓글