브루저는 현재 활동하고 있는 보안 및 해킹 팀이다.(본인이 창설함)
요약: 현재 레벨의 비밀번호를 localhost 30001번 포트로 SSL을 이용해여 보내면, 다음 레벨의 비밀번호를 준다고 한다.
일단, SSL이 뭔지 알아야한다.
SSL은 웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여
인터넷 연결을 보호하기 위한 기술이다.
현재는 TLS(Transport Layer Security)라고 불린다.
openssl [command]
Standard commands
Message Digest commands
Cipher command
위 3종류의 command들을 사용할 수 있다.
문제에서는 command는 s_client 이다.
옵션중에 -connect val 를 사용해서 연결을 해볼 것이다.
쭉~ 뭔가 나온다.
비번을 획득한 모습을 확인할 수 있다.
-완-
요약: 다음 레벨에 대한 비번 정보는 localhost의 31000~32000 포트 사이에 있다고 한다.
SSL 서비스를 제공하는 포트는 1개뿐이라고 한다.
먼저 포트 스캔이 필요해 보인다.
일단 먼저 포트스캐닝을 해보자
총 5개의 서비스가 open 되어 있다.
5개 밖에 안되니, 하나씩 접속해보자
하나씩 접속해보니 RSA 정보를 뱉어내는 포트가 두개 있었다.
31518 포트와 31790 포트 두개이다.
31518 포트
31790 포트
두개를 비교해봤을 때, 31518포트는 입력한 값을 그대로 뱉어내므로 암호화하는 것은 아닌 것 같다.
고로 31790 포트가 우리가 찾는 RSA private key 값을 생성하는 서비스를 제공하는 포트 이다.
openssl 의 취약점 중 하나인 heart bleed 취약점이라고 다른 블로그에서 확인했다.
이를 악용하는 문제인 것 같다.
RSA private key 값을 뱉어주니, 이전에 level13에서 풀었던 것처럼 키값 생성 후에 ssh -i로 접속하면 될 것 같다.
이런식으로 RSA 암호화를 적용 시켜준다.
mkdir /tmp/securitykss2
cd securitykss2
vim sshkey.private
이런식으로 key 값을 만들어준다.
그 후 이렇게 키값에 권한을 주고 넘기면
bandit 17 에 접속할 수 있다.
알아 냈다!!
-완-
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
이거를 붙여 줘야하는 구나,
그리고 chmod 로 권한을 소유자한테만 줘야하는구나
이걸로 삽질을 너무 많이 했다....ㅎㅎ
https://dokhakdubini.tistory.com/276
https://blog.alyac.co.kr/76
https://zidarn87.tistory.com/138
https://3210w0.tistory.com/18