본문 바로가기

Bandit

Bandit Level 16 -> Level 17

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

 

 

 

bandit level 16에서 비밀번호를 얻기 위해

31000번부터 32000번의 포트 중에서

열려있고

SSL/TLS를 통해 데이터를 전송하며

단순히 사용자의 입력을 되돌려주는 포트가 아닌 포트를 찾아야  합니다. 

-sV option 유무 차이

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