해킹 동아리 I.Sly()/방학 스터디 활동

[bandit] level 16 -> level 17

gom1n 2021. 2. 18. 00:21

해설)

다음 레벨에 로그인할 자격은 현재 레벨의 패스워드를 localhost 의 포트 31000과 32000 사이에 보내면 얻을 수 있다.

우선 이 포트들에 어떤 서버가 반응해주는 지에 대해 알아내라. 그리고 어떤 것이 SSL을 말하고 어떤 것이 그렇지 않는 지를 찾아내라. 다음 자격을 주는 서버는 오직 1개이고, 다른 것들은 단순히 너가 입력한 것을 출력할 것이다.

 

 

상식적으로 포트 31000부터 32000까지 하나하나 다 치는 것은 아닌 걸 알 수 있다..

포트 번호를 검색하기 위해 nmap 명령어를 사용한다.

사용법은 다음과 같다.

nmap -p [포트번호] [서버이름]

 

범위 안의 포트를 찾고 싶다면, 하이픈(-)을 이용해 범위를 표현할 수 있다.

총 다섯개의 포트가 검색되었다!

다섯개니까 openssl 명령어를 이용해 하나하나 쳐보자.

 

시험 삼아 첫번째 것을 쳐보았더니.. 연결이 되었지만 그대로 끝남.

계속 해본 결과, 포트 31790에서 입력 대기 상태가 뜨길래 패스워드(bandit16꺼)를 써넣어줬더니 키가 나왔다.

이게 다 키였다. 키가 이렇게 길다니!ㅎㅎ

 

 

 

 

여기서 막혀서 존나게 구글링했다.

존나게 긴 키를 파일에다 저장시켜 ssh통신으로 로그인하는 것이 해결방법이다.

 

이제 파일 하나를 생성해서 위의 키를 저장해야하는데, 홈 권한이 없기 때문에 저번처럼 임의로 디렉터리를 생성해 거기다가 파일을 생성해 저장을 시킨다.

(bandit12? 13?에서 했던 것처럼 tmp아래에 gomin 디렉터리 생성)

gomin 디렉터리로 이동해, sshkey.private라는 파일 안에다가 키를 저장.

cat > [파일이름] 을 하면, 저 이름을 갖는 파일이 생성됨과 동시에 아래에 파일 내용을 입력해 저장시킬 수 있다.

그걸 몰라서 여태까지 똘추짓했다.

키 값을 복붙해서 넣어놓고! Ctrl+D 로 저장을 해주어야 한다! 

컨트롤 디 안 눌러놓고 아씨 왜 저장안되지 하면서 똘추짓2를 해주었다.

 

sshkey는 600의 권한을 가져야하기 때문에, 아래와 같이 명령어를 이용해 권한을 가진다.

$ chmod 600 sshkey.private

$ ssh -i ./sshkey.private bandit17@localhost

 

그 다음 ssh 로 17단계로 이동. (yes 입력)

 

 

어려웠다.....ㅠㅠ

17단계의 패스워드를 얻기 위해서는 /etc/bandit_pass/bandit17 을 읽으면 된다.

성공!

'해킹 동아리 I.Sly() > 방학 스터디 활동' 카테고리의 다른 글

[bandit] level 18 -> level 19  (0) 2021.02.18
[bandit] level 17 -> level 18  (0) 2021.02.18
[bandit] level 15 -> level 16  (0) 2021.02.17
[bandit] level 14 -> level 15  (0) 2021.02.17
[bandit] level 13 -> level 14  (0) 2021.02.15