https://overthewire.org/wargames/bandit/bandit17.html
이번엔 SSL/TLS 통신으로 로컬호스트의 31000~32000번 포트에 연결하고 bandit16의 패스워드를 제출하면 된다.
포트의 수가 1001개이므로 하나씩 연결하기엔 오래 걸린다. 그러므로 포트 스캔을 통해 열려있는 포트를 찾아서 경우의 수를 줄여야 한다. 포트 스캔이 싫다면 하나씩 해도 된다.
이번에 사용할 nmap은 포트 스캐너이다. 오픈된 포트를 스캔할 뿐만 아니라 동작 중인 서비스도 스캔이 가능하다. SSL/TLS 통신을 해야 하기 때문에 -sV 옵션을 사용해 서비스도 함께 스캔한다. -p 옵션으로 포트를 지정할 수 있다.

31518과 31790 포트가 ssl 서비스로 열려있기 때문에 해당 포트로 openssl s_client 커맨드를 사용하여 연결을 시도한다. 연결되면 bandit16 계정의 패스워드를 제출한다.


한 가지 문제가 있다. 패스워드는 제출해도 bandit17의 패스워드를 응답하지 않는다. bandit16의 패스워드에 시작이 k로 시작되어 우선적으로 k가 넘어가면서 아래의 커맨드가 실행되는 것이다.

openssl s_client 커맨드에 옵션으로 -ign_eof를 설정하면 문제를 해결할 수 있다.

연결이 되고 bandit16의 패스워드를 전송하면 bandit17에 로그인 할 수 있는 개인 키 내용을 응답한다.

크리덴셜 획득