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

bandit level 16에서 비밀번호를 얻기 위해
31000번부터 32000번의 포트 중에서
열려있고
SSL/TLS를 통해 데이터를 전송하며
단순히 사용자의 입력을 되돌려주는 포트가 아닌 포트를 찾아야 합니다.


nmap -sV localhost -p 31000-32000
배너 그래빙(Banner Grabbing)과 프로토콜 스캐닝(Protocol Scanning)을 위해 -sV 옵션을 걸고
-p 옵션을 통해 포트 범위를 31000번부터 32000번까지로 좁혀줍니다.
열려있는 5개의 포트 중에서 31790번 포트를 제외하면 단순히 사용자의 입력값을 되돌려주는 서비스입니다.

ncat --ssl localhost 31790 < /etc/bandit_pass/bandit16
openssl s_client -connect localhost:31790 -quiet < /etc/bandit_pass/bandit16
# ncat과 openssl 중 택 1
이전 레벨에서 정해진 포트를 통해 SSL 암호화된 통신을 했던 방식으로 비밀번호를 전송하면 다음 레벨의 SSH key가 전송됩니다.

ssh bandit16@bandit.labs.overthewire.org -p 2220 "ncat --ssl localhost 31790 < /etc/bandit_pass/bandit16 | awk '/-----BEGIN RSA PRIVATE KEY-----/,/-----END RSA PRIVATE KEY-----/'" > /home/zena/bandit/sshkey17.private
파이프라인과 쉘 리다이렉션을 이용하여 한 줄로 로컬 컴퓨터에 받아올 수 있습니다.
이후 chmod 명령어로 권한을 400(또는 600)으로 바꾸고
SSH key를 이용하여 다음 레벨에 로그인하면 됩니다.
'Bandit' 카테고리의 다른 글
| Bandit Level 18 -> Level 19 (0) | 2026.01.13 |
|---|---|
| Bandit Level 17 -> Level 18 (0) | 2026.01.12 |
| Bandit Level 15 -> Level 16 (openssl?) (1) | 2026.01.12 |
| Bandit Level 14 -> Level 15 (0) | 2026.01.12 |
| Bandit Level 13 -> Level 14 (0) | 2026.01.12 |