Bandit Level 20 → Level 21
Level Goal
홈 디렉터리에 setuid binary가 있는데 다음을 따른다 : 이것은 commandline argument로 당신이 입력한 포트를 이용해서 localhost로 접속한다. 그리고나서 접속에서 텍스트 한 줄을 읽고, 그것을 이전 레벨의 패스워드(bandit20)와 비교한다. 만약 패스워드가 일치한다면, 그것은 다음 레벨(bandit21)을 위한 패스워드를 전송할 것이다.
NOTE : 당신의 네트워크 데몬에 접속해서 당신이 생각한대로 그것이 작동하는지 시도하라.
Commands you may need to solve this level
ssh, nc, cat, bash, screen, tmux, Unix 'job control'(bg, fg, jobs, &, CTRL-Z, ...)
Answer
$ ls -al
$ file ./suconnect
$ ./suconect
// 사용법 : ./suconnect <portnumber>
$ nc -l -p 32000 < /etc/bandit_pass/bandit20
// nc명령어를 사용해 30000번 포트 서버를 만든 후 이 서버는 클라이언트에게 bandit20의 패스워드를 전송합니다.
// 그러면 포트가 열려 있게 되고 다른 터미널 창을 열고 같은 계정에 접속하여 suconnect를 실행하고 새로 만든 서버의 포트번호를 입력해준다.
$ ./suconnect 32000 (another terminal)
bandit21 password : gE269g2h3mw3pwgrj0Ha9Uoqen1c9DGr