김승현

[OverTheWire] Bandit Level 13 → Level 14 본문

Linux/OverTheWire : Bandit

[OverTheWire] Bandit Level 13 → Level 14

kshind 2023. 2. 18. 17:25

문제

문제 원문

비밀번호는 /etc/bandit_pass/bandit14에 있고 이 파일은 bandit14라는 유저만 읽을 수 있다. 우리는 private SSH key를 얻어야 된다고 한다.  hostname은 localhost라고 한다.

 

사용할 명령어

문제에 ssh가 적혀있는 것과 사용할 명령어 리스트 중에 ssh가 있는 것으로 볼 때 ssh 명령어를 사용하면 될 것 같다.

 

ssh : secure shell의 줄임말로 라이언트와 서버 간의 연결에 사용되는 암호화 네트워크 프로토콜이다. 

 

풀이

 

u/gid는 모두 bandit13이고 우리가 읽을 수 있는 sshkey.private라는 파일이 있는 걸 볼 수 있다.

 

file 명령어

file 명령어를 해당 파일에 사용해보면 PEM RSA private key라고 한다.

혹시 힌트 같은 게 있을까 싶어서 cat 해봤는데 얻을만한 힌트는 없는 것 같아서 private key에 대해서 구글링을 해봤다.

ssh 명령어 옵션 중 -i가 있는데 이 명령어는 RSA 인증을 위한 비밀 키를 읽는 아이덴티티 파일을 선택할 수가 있다고 한다.

읽자마자 이 비밀 키가 우리가 가지고 있는 sshkey.private 파일이구나라는 생각이 들어서 바로 적용시켜 봤다.

형식은 ssh -i [private key 파일] [username]@[hostanme] [포트]이다.

우리는 형식에 맞추게 되면

파일은 sshkey.private이며 호스트명은 문제에서 주어진대로 bandit14 hostname도 주어진대로 localhost이다.

ssh -i sshkey.private bandit14@localhost -p 2220

 

명령어 입력 후 확인해보면 uid, gid 모두 bandit14로 변한 것을 볼 수 있다.

이제 etc/bandit_pass/bandit14를 볼 수 있는 조건이 만족됐기 때문에 cat 해보면 password를 얻을 수 있다.

 


근데 분명 문제에선 다음 단계로 갈 암호를 얻을 필요 없다고 한 것 같은데 결국 마지막에 나온 건 password다.. 뭐지..?

영어 실력이 부족해서 잘못 해석했나? 


다음 문제

https://kshind.tistory.com/16

 

[OverTheWire] Bandit Level 14 → Level 15

문제 로컬 호스트의 port 30000에 현재 단계의 password를 입력해서 다음 단계로 갈 수 있다는 뜻인 것 같다. 여기 나와있는 ssh, nc, telnet 모두 사용해서 접속할 수 있다. 풀이 ls -al 해보면 숨겨진 .ssh라

kshind.tistory.com