사용 툴: cygwin
1) 문제
패스워드는 /etc/bandit_pass 아래 저장되어있고, bandit14 계정만 오직 읽일 수 있다고 한다.
이 레벨에서는 다음 패스워드를 얻는 것이 아니다.
private SSH key를 얻어야한다.
NOTE: localhost는 자신의 pc를 가리키고 있는 주소를 뜻한다.
(localhost = 127.0.0.1)
2) 문제풀이
private SSH key란 간단히 설명하자면 사용자의 패스워드 대신 로그인에 성공할 수 있는 것이다.
이정도만 알아도 일단 문제를 풀 수 있으니, 문제풀이를 진행해보도록 하겠다.
일단 bandit13으로 로그인하고 홈 디렉터리를 살펴보았다.
sshkey.private 파일이 수상해보여서 file로 파일을 확인해보았다.
저렇게 빨간 네모안의 내용처럼 적혀져있으면 private SSH key를 뜻한다고 한다.
혹시나해서 열어보았는데 별다른 단서를 찾지 못하였다.
문제에서 패스워드가 /etc/bandit_pass 아래 있다고 했으니 한번 찾아가보겠다.
cd /etc/bandit_pass
permission을 보면 소유자만 읽을 수 있다고 되어있다.
그래서 bandit13의 계정으로는 bandit14의 내용을 읽을 수가 없었다.
구글링을 해보다가 방법을 찾았다
ssh -i sshkey.private bandit14@localhost
이렇게 하면 된다고 한다.
참고로 ssh의 i옵션은 RSA 인증을 위한 private 키를 읽어 올 아이덴티티 파일을 선택 한다는 뜻이다.
sshkey.private는 private ssh key 이므로 패스워드를 몰라도 로그인할 수 있다.
그래서 홈 디렉터리에서 저 명령어를 써주면 bandit14의 패스워드를 몰라도 바로 bandit14로 로그인할 수 있다.
bandit14의 패스워드를 알아내는 방법은 /etc/bandit_pass 로 가서 소유자가 bandit14인 bandit14 파일을 열면 획득할 수 있다.
다시 로그아웃하고 방금 얻은 패스워드로 bandit14로 로그인에 성공해 확인해보니 저 문자열이 bandit14의 패스워드가 맞다는 것을 확인할 수 있었다.
ssh -p 2220 bandit14@bandit.labs.overthewire.org
bandit14@bandit:~$ id
bandit14) gid=11014(bandit14) groups=11014(bandit14)
'WAR GAME > Bandit' 카테고리의 다른 글
[OverTheWire: Bandit] level15 -> level16 (0) | 2020.02.29 |
---|---|
[OverTheWire: Bandit] level14 -> level15 (0) | 2020.02.27 |
[OverTheWire: Bandit] level12 -> level13 (0) | 2020.02.26 |
[OverTheWire: Bandit] level11 -> level12 (0) | 2020.02.25 |
[OverTheWire: Bandit] level10 -> level11 (0) | 2020.02.25 |