-
[Bandit] Level 17Wargame/Bandit 2022. 9. 1. 01:07반응형
Level 17로 가기 위해서는 Port Scanning과 openssl, ssh 등을 수행해야 한다.
먼저 문제에서 언급한 것처럼 31000번 포트부터 32000번 포트까지 nmap 명령어로 Port Scanning을 수행한다.

<포트 스캐닝 결과> 그 결과 다섯 개의 포트가 서비스 중인 것을 알 수 있다.
하나하나 openssl 명령어를 수행해 ssl을 사용하는 것을 찾는다.

<ssl을 사용하는 31790번 포트> 그 결과 31790번 포트에서 ssl을 사용하는 것을 알 수 있다.
다음으로 Level 16에 접속할 때 사용한 비밀번호를 입력하면 RSA Private Key가 나타나는 것을 알 수 있다.
이것은 SSL의 취약점 중 Heartbleed 취약점 때문이라고 한다.(이유에 대해 검색을 해 보았다.)

<RSA Private Key가 나타남> 그 후 이 비밀번호를 복사해 /tmp/hd16 이라는 디렉터리를 생성해 test.key 파일에 붙여 넣었다.
따로 붙여 넣기는 했지만, cat 명령어와 Pipe, Redirection을 사용해 한 번에 생성이 가능하다.
그렇게 생성한 파일로 ssh 접속을 시도했다.

<RSA Private Key가 담긴 파일을 이용해 ssh 접속 시도> 그런데 private key 파일이 다른 사람이 사용할 수 있으면 안된다고 한다.
그래서 파일에 대한 권한을 변경해 주었다.
(사진에는 없지만 chmod 600 ./test.key 명령어를 사용했다.)
그 후 다시 bandit17로 접속을 시도했다.

<권한 변경 후 bandit17 접속 결과> 그 결과 Level 17에 정상적으로 접속이 되었다.
이제 비밀번호가 저장된 파일을 읽어 Level 17에 대한 비밀번호를 알아냈다.

<알아낸 Level 17 비밀번호> 사실 이 문제를 풀면서 굉장히 오랜 시간이 걸렸다.
그 이유는 ssh 명령어를 사용해 Private Key를 제출하는 것에서 계속해서 에러가 발생했기 때문이다.
검색을 통해 이유를 알아보려 했지만 알 수 없었고 혼자서 끙끙거리기만 했었다.
그러다 Private Key 파일을 수정을 했고, 에러를 해결할 수 있었다.
에러의 이유는 -----BEGIN RSA PRIVATE KEY-----, -----END RSA PRIVATE KEY-----
이 두 줄이 빠져 있었기 때문이었다.
위 두 줄을 빼고 내용만 필요한 줄 알았는데 시작과 끝도 필요할 줄이야..
반응형'Wargame > Bandit' 카테고리의 다른 글
[Bandit] Level 19 (0) 2022.09.01 [Bandit] Level 18 (0) 2022.09.01 [Bandit] Level 16 (0) 2022.08.30 [Bandit] Level 15 (0) 2022.08.29 [Bandit] Level 14 (0) 2022.08.29