Bandit

리눅스 ncat SSL 네트워크 통신 | Bandit Level 15 -> Level 16

developerYoung 2023. 9. 3. 18:32
반응형

문제

Level 15.
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…

 
localhost 30001 으로 SSL 암호화를 사용하여 패스워드를 보내면 다음 레벨로 가는 패스워드를 얻을 수 있다!

 

리눅스 ncat 접속 명령어

ncat은 지난 시간에 사용했던 nc와 비슷한 명령어입니다. 문자열 기반의 통신으로 네트워크를 이용하는 서버끼리 문자를 읽고 쓸 수 있게 해주는 역할을 합니다.
하지만 nc --help 와 ncat --help 를 통해 옵션을 찾아본 결과로는 ncat의 경우는 --ssl 옵션이 있지만 nc는 없는 것으로 확인되어 ssl encryption을 사용하지 못하는 것인가?! 라는 생각이 듭니다.

ncat사용법

사용법도 nc 사용법과 유사합니다!

ncat [옵션] [서버] [port]

ncat 옵션 종류

  • default : 사용자 이름으로 TCP 접속 요청
  • -u : TCP 대신 UDP로 통신 
  • -l : LISTEN 모드
  • -p : 소스 포트 지정
  • --ssl : ssl encrypting 하여 전송

등등...

예시

  • ncat localhost 3000
  • ncat --ssl 10.10.0.8
반응형

SSL (Secure Sockets Layer)

SSL(보안 소켓 계층) 인증서는 디지털 인증서로도 불리며, 브라우저와 서버 사이의 암호화 된 통신을 만드는데 사용됩니다. 통신에서 이용되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 표준 기술로, SSL인증서가 없는 서버는 http로 연결되며 보호되는 경우는 https로 표기됩니다.

이 기술을 통해 데이터가 암호화되어 전송된다면, 해커가 데이터로 전송되는 정보를 도청 / 변조 / 스푸핑(Spoofing)으로부터 방지할 수 있게 됩니다.

 

그렇기때문에 https가 적용된 사이트는 우리가 신뢰할 수 있는 사이트이지만, http는 위험한 사이트입니다.

 

실제로 SSL 인증을 통해 handshake 하는 과정을 알고 싶다면, SSL Handshake를 검색하면 그림으로 설명된 것이 있습니다. ㅎㅎ

 

풀이

이번 문제의 풀이는 지난 문제와 비슷하게 localhost 30001포트로 패스워드를 보내라고 말하고 있습니다. 하지만 중요한건 ssl encryption 하여 보내라고 했기 때문에, 비슷하게 nc 를 통해서 통신을 하면 되겠다고 생각할 수 있겠죠!

저는 아래와 같은 순서로 문제를 풀겠습니다.

  1. nc로 ssl encryption 하는 법 체크!
  2. 패스워드 전송하여 다음 레벨 패스워드 얻기!

그래서 구글링을 직접 nc ssl ecryption을 치면 쭈르륵 나옵니다.

--ssl 옵션이 SSL로 암호화하여 전송할 수 있다는 정보를 얻게 되어 알고있는 명령어의 nc --help에서 찾아봤지만, 그러한 옵션은 없어보입니다.

 

좀 더 구글링을 해보니 nc를 사용하지 않고 ncat으로 --ssl을 적용하는 것을 확인할 수 있었습니다.

곧바로 ncat을 이용해 우리가 원하는 호스트 포트번호로 전송을 해볼까요?

ncat --ssl localhost 30001

이렇게 보낸 후 지난 패스워드를 쓰게 된다면, 새로운 패스워드를 얻을 수 있습니다! 


더보기를 눌러 비밀번호를 확인하세요!

더보기

비밀번호는 다음과 같다.

Level15. JQttfApK4SeyHwDlI9SXGR50qclOAil1

 

반응형