티스토리 뷰
워게임 조금 재밌을지도...?
오늘은 어제보다 정리할 내용이 많네요.
후...
Let's 기 come on~
Problem
The password for the next level can be retrieved by submitting the password of the current level
to port 30001 on localhost using SSL encryption.
Helpful note : Getting "HEARTBEATING" and "Read R BLOCK"? Use -ign_eof and read the
"CONNECTED COMMANDS" section in the manpage. Next to 'R' and 'Q'. the 'B' command also
works in this version of that command...
=> SSL encryption을 이용해서 이전 문제처럼 비번 가져와!
라는 것 같네요.
Helpful note에 대한 내용도 설명드리겠습니다.
OverTheWire Bandit [level15 -> level16] :: choiys
위 블로그에서 참고했음을 미리 알려드립니다!
자세한 내용은 위에서 확인하시면 되고 추가적인 내용만 제가 기술하겠습니다.
간단하게 요약하자면, openssl 버전이 1.0.1 ~ 1.0.1f까지의 버전을 사용할 경우 취약점이 발생합니다.
하지만 21.11.26 기준 openssl ver이 1.1.01이라서 B를 눌러도 "HEARTBEATING" 이라는
에러가 나지 않음을 알 수 있습니다.( bandit15의 비밀번호가 B로 시작하므로 B는 무조건적으로 들어감 )
( -ign_eof 을 사용하지 않으면 B만 인식해서 "HEARTBEATING"이라는 에러가 발생할 수 있음 )
여튼! 저 Helpful note는 현재는 관련 없는 내용이라고 생각하시면 될 것 같습니다.
자 이제 본격적으로 개념으로 넘어가 볼게요.
Conception
SSL 이라는 것으로 문제를 해결하라고 하는 데
SSL이 뭘까요?
SSL : Secure Sockets Layer. 암호화 기반 인터넷 보안 프로토콜
[참조 : SSL(Secure Sockets Layer)이란 무엇입니까? | Cloudflare]
SSL 은 웹서버와 브라우저 사이의 보안을 위해 만들어졌다고 합니다.
Certificate Authority(CA) 라 불리는 서드파티로부터 서버와 클라이언트의 인증을 하는데 사용됩니다.
[참조 : [리눅스] SSL 적용 방법 (tistory.com)]
CA : 암호학에서 다른 곳에서 사용하기 위한 디지털 인증서를 발급하는 하나의 단위
[참조 : 공개 키 기반 구조 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)]
TLS : Transport Layer Security. 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약.
SSL이 표준화되면서 바뀐 이름. 즉, SSL = TLS
[참조 : 전송 계층 보안 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)]
이 내용은 읽어보지는 않았는데 후일에 읽을 수 있을 것 같아서
링크만 남겨두겠습니다.
OpenSSL 자주 쓰는 명령어
[참조 : OpenSSL 자주 쓰는 명령어(command) 및 사용법, tip 정리 (lesstif.com)]
이제 저희가 직접적으로 사용해야 하는 OpenSSL 명령어에 대해서 알아볼게요.
우선 저는 s_client 라는 명령어를 사용했습니다.
s_client : SSL/TLS를 사용하는 원격 호스트에 접속하기 위한 SSL/TLS를 구현하는 명령어입니다.
[참조 : [OpenSSL] s_client : 네이버 블로그 (naver.com)]
위 블로그에서 읽어보라고 하는 부분과, Overthewire에서 도움이 되는 자료로 추천해준 자료는
프린트해서 영어공부와 함께 해볼 생각입니다.
해석하고 정리가 되는대로, 포스팅할게욥.
아 그리고 이 두 개는 후에 쓸 일이 있을 것 같아서.
[기타 : SSL 접속포트를 443 번 포트가 아닌 포트를 쓰는 경우 (i-swear.com) / 443번 포트가 아닌 포트일때 로그인,글쓰기 안되는 사람이 있다. (i-swear.com)]
Solution
이렇게 명령을 내리면 엄청 긴 내용이 나옵니다.
근데 이게 캡쳐가 한 번에 안되니까 그냥 결론 부분 하나만 더 올릴게요.
이렇게 현재 접속한 계정의 비밀번호를 입력해주면
다음 레벨의 비밀번호를 얻을 수 있습니다~