김승현
[OverTheWire] Bandit Level 13 → Level 14 본문
문제
비밀번호는 /etc/bandit_pass/bandit14에 있고 이 파일은 bandit14라는 유저만 읽을 수 있다. 우리는 private SSH key를 얻어야 된다고 한다. hostname은 localhost라고 한다.
문제에 ssh가 적혀있는 것과 사용할 명령어 리스트 중에 ssh가 있는 것으로 볼 때 ssh 명령어를 사용하면 될 것 같다.
ssh : secure shell의 줄임말로 라이언트와 서버 간의 연결에 사용되는 암호화 네트워크 프로토콜이다. |
풀이
u/gid는 모두 bandit13이고 우리가 읽을 수 있는 sshkey.private라는 파일이 있는 걸 볼 수 있다.
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다.. 뭐지..?
영어 실력이 부족해서 잘못 해석했나?
다음 문제
[OverTheWire] Bandit Level 14 → Level 15
문제 로컬 호스트의 port 30000에 현재 단계의 password를 입력해서 다음 단계로 갈 수 있다는 뜻인 것 같다. 여기 나와있는 ssh, nc, telnet 모두 사용해서 접속할 수 있다. 풀이 ls -al 해보면 숨겨진 .ssh라
kshind.tistory.com
'Linux > OverTheWire : Bandit' 카테고리의 다른 글
[OverTheWire] Bandit Level 15 → Level 16 (0) | 2023.02.18 |
---|---|
[OverTheWire] Bandit Level 14 → Level 15 (0) | 2023.02.18 |
[OverTheWire] Bandit Level 12 → Level 13 (0) | 2023.02.16 |
[OverTheWire] Bandit Level 11 → Level 12 (0) | 2023.02.16 |
[OverTheWire] Bandit Level 10 → Level 11 (0) | 2023.02.16 |