level14 → level15
포트번호가 30000인 localhost에 현재 계정의 비밀번호를 전송하면 다음 레벨의 비밀번호를 얻을 수 있다.
nc명령어를 이용하여 포트번호가 30000인 localhost에 접속한다.
nc localhost 30000
level15 → level16
level16 → level17
문제 해설)
다음 레벨에 로그인할 자격은 현재 레벨의 패스워드를 localhost의 포트 31000과 32000 사이에 보내면 얻을 수 있다.
우선 이 포드들에 어떤 서버가 반응해주는 지에 대해 알아내라.
그리고 어떤 것이 SSL을 말하고 어떤 것이 그렇지 않은 지를 찾아내라.
다음 자격을 주는 서버는 오직 1개이고, 다른 것들은 단순히 당신이 입력한 것을 출력할 것이다.
$nmap localhost -p 31000-32000
포트 번호를 검색하기 위해 nmap명령어를 이용한다.
nmap -p [포트번호][서버이름]
범위 안의 포트를 사용하기 위해서 -를 이용해 범위를 표현한다.
$openssl s_client -quiet -connect localhost:31790
31790포트를 입력하게 되면 사진과 같이
BEGIN SRA PRIVATE KEY가 길게 출력된다.
$mkdir /tmp/isly
$cd /tmp/isly
$cat > sshkey.private
isly디렉터리로 이동해, sshkey.private라는 파일 안에다가 키를 저장한다.
cat > [파일 이름]으로
파일 이름을 갖는 파일이 생성됨과 동시에 아래에 파일 내용을 입력해서 저장시킬 수 있다.
$chmod 660 sshkey.private
sshkey가 600의 권한을 갖기 위해 chmod로 600의 권한을 갖도록 명령어를 입력한다.
$ssh -i ./sshkey.private bandit17@localhost
다음 단계 ssh로 17단계를 이동 (yes를 입력)
$cat /etc/bandit_pass/bandit17
위와 같이 17단계의 비밀번호를 얻을 수 있다.
level17 → level18
문제해설)
홈 디렉토리에 2개의 파일이 있다: passwords.old 와 passwords.new
다음 레벨의 패스워드는 passwords.new에 있고, passwords.old 와 passwords.new의 유일하게 다른 행이다.
NOTE: 만약 너가 이 레벨을 해결하고 bandit18에 로그인하려 할 때에
'ByeBye!'를 본다면, 이것은 다음레벨 bandit19와 관련되어있다.
문제풀이)
두 파일을 비교해 다른 부분을 출력하는 diff 명령어가 있다.
기본 사용법은 다음과 같다.
diff [파일1] [파일2]
위의 kfBf… 이것이 패스워드이다.
level18 → level19
다음 레벨의 패스워드는 readme 파일에 저장된다.
하지만 SSH로 로그인을 할 때 로그아웃이 되도록 .bashrc를 수정했다고 한다.
ssh bandit18@bandit.labs.overthewire.org -p 2220 명령을 치고
이전 단계에서 얻은 패스워드로 level 18에 접속을 하면 바로 연결이 종료가 된다.
위 명령 뒤에 cat readme 명령을 덧붙여주면 다음 레벨의 패스워드를 확인할 수 있다.
'5. 방학 활동 > Write UP' 카테고리의 다른 글
[2021/02/23] bandit wargame Level24 ~ Level31 (0) | 2021.03.24 |
---|---|
[2021/02/20] bandit wargame Level19 ~ Level23 (0) | 2021.03.24 |
[2021/02/16] bandit wargame Level9 ~ Level13 (1) | 2021.03.24 |
[2021/02/11] bandit wargame Level4 ~ Level8 (0) | 2021.03.24 |
[2021/02/09] bandit wargame Level 0 ~ Level 3 (0) | 2021.03.24 |