loading
본문 바로가기 메뉴 바로가기

티스토리 뷰

카테고리 없음

Bandit lv15 -> lv 16

Tip_srevil 2021. 11. 26. 14:44
반응형

워게임 조금 재밌을지도...?

오늘은 어제보다 정리할 내용이 많네요.

후...

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

 

OverTheWire Bandit [level15 -> level16]

OverTheWire_Wargame Bandit [ level15 -> level16 ] 이번 레벨에서는 openssl의 heartbleed 취약점을 이용한 풀이입니다. openssl로 localhost의 30001 포트로 접속 한 후 B를 입력 했을 때 HEARTBEATING 응답이..

blog.choiys.kr

위 블로그에서 참고했음을 미리 알려드립니다!

자세한 내용은 위에서 확인하시면 되고 추가적인 내용만 제가 기술하겠습니다.

간단하게 요약하자면, 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


이렇게 명령을 내리면 엄청 긴 내용이 나옵니다.

근데 이게 캡쳐가 한 번에 안되니까 그냥 결론 부분 하나만 더 올릴게요.

이렇게 현재 접속한 계정의 비밀번호를 입력해주면

다음 레벨의 비밀번호를 얻을 수 있습니다~

반응형

Bandit lv15 -> lv 16
본문 바로가기 메뉴 바로가기

티스토리 뷰

카테고리 없음

Bandit lv15 -> lv 16

Tip_srevil 2021. 11. 26. 14:44
반응형

워게임 조금 재밌을지도...?

오늘은 어제보다 정리할 내용이 많네요.

후...

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

 

OverTheWire Bandit [level15 -> level16]

OverTheWire_Wargame Bandit [ level15 -> level16 ] 이번 레벨에서는 openssl의 heartbleed 취약점을 이용한 풀이입니다. openssl로 localhost의 30001 포트로 접속 한 후 B를 입력 했을 때 HEARTBEATING 응답이..

blog.choiys.kr

위 블로그에서 참고했음을 미리 알려드립니다!

자세한 내용은 위에서 확인하시면 되고 추가적인 내용만 제가 기술하겠습니다.

간단하게 요약하자면, 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


이렇게 명령을 내리면 엄청 긴 내용이 나옵니다.

근데 이게 캡쳐가 한 번에 안되니까 그냥 결론 부분 하나만 더 올릴게요.

이렇게 현재 접속한 계정의 비밀번호를 입력해주면

다음 레벨의 비밀번호를 얻을 수 있습니다~

반응형