김승현

[OverTheWire] Bandit Level 20 → Level 21 본문

Linux/OverTheWire : Bandit

[OverTheWire] Bandit Level 20 → Level 21

kshind 2023. 2. 19. 15:30

문제

문제 원문

홈디렉토리에 setuid binary가 있는데 이건 커맨드라인 인자로 특정시킨 로컬호스트의 포트로 연결하게 해주는 그런 파일이라고 한다. 그리고 bandit20의 password와 비교해서 일치한다면 다음 단계로 가능 password를 전송해준다고 한다.

 

풀이

일단 ls -al 해보면 suconnect라는 ELF 파일이 있다.

파일을 실행시키면 사용법과 거기에 대한 설명이 뜬다.

이 프로그램은 TCP를 이용해서 localhost의 주어진 포트로 접속을 한다고 하고 또 만약 다른 쪽에서( port를 open한 쪽 ) bandit20의 password를 보내면 bandit21의 password를 전송한다고 한다.

이번 문제를 풀기 위해서 bandit20에 두 개를 동시에 접속시켜 풀어야 할 것 같다.

 


      왼쪽은 port를 open하는 쪽                                                           오른쪽은 접속하는 쪽               

                     

                  nc -lp 1357                                                    ./suconnect 1357

 포트를 열기 위해서 -lp(포트 오픈 및 지정) 옵션을 사용함                사용법대로 suconnect 후 접속할 포트를 입력함 

suconnect 사용법 중 포트를 open한 쪽에서 bandit20의 password를 입력하라고 했기 때문에 왼쪽에 password를 입력함

그러자 연결한 쪽에서 password를 읽고 bandit20의 password와 일치한다고 뜨고 21의 password를 전송한 걸 볼 수 있다.

 

 


다음 문제

https://kshind.tistory.com/23

 

[OverTheWire] Bandit Level 21 → Level 22

문제 프로그램은 cron으로 규칙적인 텀마다 자동으로 실행되는 시간 기반의 작업 스케쥴러라고 하고 /etc/cron.d를 봐서 설정이나 어떤 커맨드가 실행되고 있는지 보라는 말인 것 같다. 아닐 수도

kshind.tistory.com