
- login PW: VxCazJaVykI6W36BkBU0mJTCM8rR95XT
- 문제설명: home dir에 setuid 바이너리가 있다. 이것은 지정한 포트(localhost에서)를 연결해서 한 줄의 텍스트를 읽어 온다. 텍스트가 이전 레벨의 비밀번호 (bandit20)이면 다음 레벨 (bandit21)의 비밀번호를 전송한다.
터미널을 하나 더 열어 포트를 열어 두 터미널을 연결한 후 현재 PW를 입력하면 될 것 같습니다.
현재 경로의 파일을 확인하니 suconnect 라는 바이너리 파일을 확인할 수 있습니다.

# nc -nlvp 8888
nc 명령어로 새로운 터미널에 8888번 포트를 열어겠습니다.

Listening on 0.0.0.0 8888이라고 하며 port가 열린 것을 알 수 있습니다.
포트를 열었으니 바이너리 파일의 사용법을 확인해 보겠습니다.
# ./suconnect
해당 바이너리 파일은 ./suconnect 뒤에 포트 번호를 입력하여 사용할 수 있습니다.
# ./suconnect 8888
원래의 터미널과 새로 열었던 터미널을 바이너리 파일과 8888번 포트를 이용해서 연결합니다.

Connection recevied on 127.0.0.1 52242 => 원래의 터미널과 연결이 되었습니다.

새로 만든 터미널에 현재의 로그인 PW를 입력하니
원래의 터미널에서 이를 읽어들이고 확인한 뒤 bandit21의 PW를 전송해줍니다.
'Linux > bandit' 카테고리의 다른 글
| Level 22 → Level 23 (0) | 2024.01.11 |
|---|---|
| Level 21 → Level 22 (0) | 2024.01.10 |
| Level 19 -> Levle 20 (0) | 2024.01.05 |
| Level 18 → Level 19 (0) | 2024.01.04 |
| Level 17 → Level 18 (0) | 2024.01.04 |