요약: password.old와 passwords.new가 있는데,
두 파일의 유일하게 다른 줄이 있다.
찾아라~
찾게 되면 bandit18에 접속할 때 byebye! 할 텐데, 그게 바로 bandit18의 암호이다.
일단 두개다 cat을 해서 보자
어지럽다.
두 개개에서 딱 하나의 라인이 공통적이다.
이럴때 어떻게 비교해서 찾을까?
diff [옵션][file1] [file2]
옵션은 다른 곳에 많으니 생략
다른 점이 바로 저것들이다.
다른 것들은 다 똑같은데 저 두개만 다르다는 뜻이다.
new password를 갖고 bandit18에 접속해보자.
접속이 성공한 것을 확인할 수 있다.
-완-
요약: bandit18의 홈디렉토리에 readme 파일이 있는데, 거기에 비번이 있다고 한다.
그치만 누가 .bashrc 옵션을 자꿔놔서 ssh로 접속이 불가능하다.
읽어라~
너무 간단한 문제다
ssh 옵션을 보자.
끝에 보면 command를 넣을 수 있다.
cat readme를 하게 된다면 바로 읽어들일 것이다.
바로 획득한 모습이다.
-완-
요약: bandit19 홈 디렉토리에, setuid binary 를 사용해서 비번을 찾아야한다.
일단 접속해서 권한 확인 부터 해보면
bandit20 의 소유 권한이 있지만, 그룹 권한에 실행이 있어서
bandit19 그룹에 속한 사용자는 실행이 가능 하다.
그냥 실행만 했을 때, 안내문이 나온다.
그래서 그대로 "./bandit20-do id"를 해보니
euid(bandit20)가 나온다.
EUID(Effective User ID)는 쉽게 말해, 잠깐동안 파일 소유자(bandit20)의 권한을 사용할 수 있다.
./bandit20-do id
했을 때, id 명령어를 실행했지만, 잠깐동안 소유자(bandit20)의 권한을 사용한 것을 보아
./bandit20-do cat /etc/bandit_pass/bandit20
이렇게 하면, 잠시나마 bandit20의 권한을 얻어 저 패스워드 파일을 읽을 수 있다.
-완-