Level Goal
There is a setuid binary in the homedirectory that does the following: it makes a connection to localhost on the port you specify as a commandline argument. It then reads a line of text from the connection and compares it to the password in the previous level (bandit20). If the password is correct, it will transmit the password for the next level (bandit21).
NOTE: Try connecting to your own network daemon to see if it works as you think
홈디렉토리에 setuid걸린 이진파일이 있고, 포트를 열어 이진파일을 사용해서 접속해서 이전 패스워드를 보내면 다음 단계의 패스워드가 나온다는 내용이다.
우선 홈디렉토리에 있다는 파일을 확인했다.
suid가 걸린 suconnct 라는 파일이 있었다.
실행해봤더니, 사용법을 알려주었다.
./suconnect (포트)
맞는 패스워드를 받으면 다른 패스워드를 돌려준다고 한다.
그래서 창을 두 개로 분할해서 한 쪽 쉘에서는 nc 명령어로 포트를 열고, 다른 한 쪽에서는 suconnect를 사용했다.
이 때 쓰는 명령어는 tmux 이다.
tmux를 입력하면, 새로운 세션이 만들어진다.
여기서 화면을 위, 아래로 분할하는 명령어는 ctrl + b + " 이다.
이 때 동시에 누르면 잘 안된다. 그냥 적당히(?) 눌러도 된다. 속도문제인가...? 유독 putty가 키 입력했을 때 반응이 느려서... 칼리리눅스로 bandit 접속했을 때도 조금 느리긴 했지만. (나중에 알았는데 bandit 서버 문제라고 한다)
어쨌든 화면을 분할하면 다음과 같이 나온다.
다른 창으로 커서를 옮기고 싶을 때는 ctrl + b + q 를 누른다.
그러면 각각의 창에 숫자가 잠시 뜨는데, 그 숫자를 빠르게 입력하면 그 창으로 커서가 옮겨진다.
순간캡쳐 실패! 다음과 같이 나온다...
아무튼 이렇게 화면을 분할한 뒤,
위쪽 창으로 커서를 옮겨 현재 열려있는 포트를 확인했다.
nmap localhost
열려있는 포트들 제외하고, 내가 쓸 포트를 연 뒤 이전 패스워드를 입력했다.
nc -l 1113
다음으로, 아래쪽 창으로 커서를 옮긴 뒤 suconnect 파일을 사용했다.
./suconnect 1113
password가 매치되었다면서 다음 패스워드를 보내주었다. 위쪽 창에서 확인 할 수 있었다.
'Wargame > bandit' 카테고리의 다른 글
Bandit Level 22 → Level 23 풀이 (cron, crontab) (0) | 2023.02.08 |
---|---|
Bandit Level 21 → Level 22 풀이 (cron, crontab) (0) | 2023.01.29 |
Bandit Level 19 → Level 20 풀이 (0) | 2023.01.10 |
Bandit Level 18 → Level 19 풀이 (ssh) (0) | 2023.01.03 |
Bandit Level 17 → Level 18 풀이 (diff) (0) | 2022.12.27 |