자 오늘은 Level 19 -> 20을 해보도록 하겠다.
(Login ID : bandit19 / Password : cGWpMaKXVwDUNgPAVJbWYuGHVn9zl3j8
1. 문제 내용
https://overthewire.org/wargames/bandit/bandit20.html
OverTheWire: Level Goal
We're hackers, and we are good-looking. We are the 1%. <!-- Please read and accept the Rules! --> 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. Th
overthewire.org
다음 단계로 가기 위해서는 homedirectory 에서 setuid binary를 써야 한다고 한다. 비밀번호는 setuid binary 를 사용하고 나면 /etc/bandit_pass 에서 비밀번호를 찾을 수 있다라고 한다.
2. 문제 풀이
ls -를 해보니 bandit20-do 라는 파일이 보였고, ls -al 로 해보니 권한이 이전과는 다른 것으로 나타났다.
보통은 rwx 이런 식으로 나오는데, 이건 rws 로 되어 있다. rws로 되어 있는 것은 setuid 설정이 되어 있는 파일이라고 보면 되는데 이런 파일의 경우 파일을 실행할 때에 소유자 권한(bandit20)으로 실행을 하게 된다. 즉 나는 bandit19인데, 저 파일을 실행하는 동안 bandit20 의 권한을 가지게 된다라는 소리다.
파일을 실행해 보면 Run a command as another user 라고 나온다.
그러면 이 파일을 실행하는 동안 bandit20의 권한을 가질 수 있게 되니, /etc/bandit_pass/bandit20 에도 접근할 수 있을 것으로 보인다.
아래 명령어를 실행해 보자.
./bandit20-do cat /etc/bandit_pass/bandit20
비밀번호 GET!
3. 요약
☞ setuid 된 파일을 실행하는 동안에는 그 파일의 소유자 권한을 얻게 된다.
'해킹&보안' 카테고리의 다른 글
해킹&보안[반딧 워게임 : OverTheWire] Level 21 -> 22 (리눅스/해킹/보안 공부) (0) | 2025.03.19 |
---|---|
해킹&보안[반딧 워게임 : OverTheWire] Level 20 -> 21 (리눅스/해킹/보안 공부) (0) | 2025.03.18 |
해킹&보안[반딧 워게임 : OverTheWire] Level 18 -> 19 (리눅스/해킹/보안 공부) (0) | 2025.03.18 |
[반딧 워게임 : OverTheWire] Level 17 -> 18 (리눅스/해킹/보안 공부) (0) | 2025.03.17 |
[반딧 워게임 : OverTheWire] Level 16 -> 17 (리눅스/해킹/보안 공부) (1) | 2025.03.17 |