OverTheWire - Bandit
강의목차: Level 19 → Level 20(setuid)
Bandit 웹페이지
https://overthewire.org/wargames/bandit/
1. Bandit Level 19 → 20
Level Goal
To gain access to the next level, you should use the setuid binary in the homedirectory. Execute it without arguments to find out how to use it. The password for this level can be found in the usual place (/etc/bandit_pass), after you have used the setuid binary.
Helpful Reading Material
다음 레벨에 접근하려면, 홈 디렉터리에 있는 setuid 권한이 있는 바이너리를 이용해야한다.
그것을 어떻게 사용하는지 알기 위해서는 arguments 없이 실행해라. 레벨을 클리어하기 위한 패스워드는 /etc/bandit_pass 경로에 setuid 권한의 바이너리를 사용한다면 확인할 수 있다.
Level 19 로그인
$ ssh -p 2220 bandit19@bandit.labs.overthewire.org
패스워드: awhqfNnAbc1naukrpqDYcF95h7HoMTrC
setuid 란?
파일 실행 시 파일 소유자 권한으로 실행하는 것을 의미.
예를 들어 볼 수 있는 파일이 passwd 파일이다.
( S = 실행권한 없는 setuid, s = 실행권한이 포함된 setuid )
$ ls -al
bandit20-do 가 s 로 표시되어 있는것을 확인할 수 있다.
( 현재 로그인한 계정은 bandit19 지만, bandit20 의 계정의 권한을 빌려서 쓸 수 있다. )
$ file ./bandit20-do
$ ./bandit20-do
명령어를 다른 계정으로 사용한다.
$ ./bandit20-do id
euid → 프로그램을 실행시킬 때 만큼은 bandit20 권한이 있다. (setuid 권한이 설정되어있기 때문에)
$ ls -al /etc/bandit_pass/bandit20
패스워드가 저장되어있는 파일은 bandit20 만 읽을 수 있다.
$ ./bandit20-do cat /etc/bandit_pass/bandit20
→ cat 을 사용해서 bandit20 권한을 이용하여 패스워드 파일 읽기
플래그: VxCazJaVykI6W36BkBU0mJTCM8rR95XT
$ exit ( ssh 접속 상태에서 홈으로 나가기 )
Level 20 접속 시도
$ ssh -p 2220 bandit20@bandit.labs.overthewire.org
패스워드: VxCazJaVykI6W36BkBU0mJTCM8rR95XT
$ whoami
$ id
입력하여 현재 로그인한 계정 확인
취미로 해킹1 강의 : https://www.inflearn.com/course/linux-3
'보안 > Bandit 워게임' 카테고리의 다른 글
OverTheWire - Bandit : Level 21 → Level 22 (0) | 2023.04.18 |
---|---|
OverTheWire - Bandit : Level 20 → Level 21 (0) | 2023.04.17 |
OverTheWire - Bandit : Level 18 → Level 19 (0) | 2023.04.15 |
OverTheWire - Bandit : Level 17 → Level 18 (0) | 2023.04.14 |
OverTheWire - Bandit : Level 16 → Level 17 (0) | 2023.04.13 |