해당 게시글은 bandit wargame에 대한 스포일러(방향성/힌트/정답)를 제공할 수 있습니다.

bandit level 15에서 비밀번호를 얻기 위해
30001번 포트로 SSL/TLS 암호화를 이용하여 현재 레벨의 비밀번호를 전송해야합니다.


ncat --ssl localhost 30001
nc는 프로토콜 규격에 어긋나는 데이터를 전송해서 서버에서는 연결을 무시하거나 차단하므로,
ncat와 -ssl 옵션을 통해 SSL 암호화 조건을 충족시키면 됩니다.
ncat은 기본적으로 서버가 먼저 연결을 끊거나 클라이언트 측에서 입력을 완전히 종료했다는 명시적 신호를 보내기 전까지는 소켓을 열어둔 채 대기하므로 비밀번호를 출력받은 후 Ctrl + D를 눌러 연결을 끊으면 됩니다.

ncat --ssl localhost 30001 < /etc/bandit_pass/bandit15
이전 단계처럼 쉘 리다이렉션을 통해 1줄로 해결할 수도 있습니다.
쉘 리다이렉션의 EOF 신호가 ncat의 입력을 중단시키므로 ncat은 Half-close 상태로 대기하다가 서버로부터 마지막 응답을 받고 프로세스를 종료합니다.

openssl s_client -connect localhost:30001 -quiet < /etc/bandit_pass/bandit15
openssl 명령어를 이용하여 ncat과 같은 기능을 하도록 할 수도 있습니다.
SSL/TLS 프로토콜의 Handshake 과정에서 교환되는 상세 제어 정보 및 암호화 Context가 출력되지 않도록 -quiet 옵션을 붙이고
ncat처럼 쉘 리다이렉션을 이용하여 비밀번호 파일의 내용을 서버에 입력시키면
비밀번호가 출력됩니다.
'Bandit' 카테고리의 다른 글
| Bandit Level 17 -> Level 18 (0) | 2026.01.12 |
|---|---|
| Bandit Level 16 -> Level 17 (0) | 2026.01.12 |
| Bandit Level 14 -> Level 15 (0) | 2026.01.12 |
| Bandit Level 13 -> Level 14 (0) | 2026.01.12 |
| Bandit Level 12 -> Level 13 (0) | 2026.01.12 |