Level 20 입니다.
이전 레벨과 같이 홈디렉터리에 setuid 파일이 있는데, 해당 프로그램은 지정한 포트의 localhost에 연결하는 프로그램 이라고 합니다.
이후, 상대방으로부터 bandit20의 password를 받게 되면 bandit21의 password를 반환한다고 합니다.
일단 해당 문제를 풀기 위해선, 하나의 시스템이 더 필요합니다.
putty를 하나 더 켜서 bandit20 계정에 접속해 줍시다. 총 2개의 bandit20 계정을 켜두는 겁니다.
nc -l 33333
-l 33333 : listen 33333, 33333포트를 수신대기 상태로 만듦
첫번째 시스템에서, setuid 프로그램이 접속하기 위한 포트를 열어줍시다.
포트번호는 다른 응용 프로그램과 겹치치 않게 아무 번호나 입력해도 됩니다. 낮은 숫자는 겹칠 확률이 있으니 큰 숫자로 합시다. 아마 최대는 65535 일겁니다.
./suconnect 33333
첫번째 시스템은 그대로 둔 상태로, 두번째 시스템으로 suconnect 프로그램으로 33333 포트에 접속해 줍시다.
접속되면, 저렇게 커서만 남은 채로 대기하게 됩니다.
현재 상황은 첫번째 시스템과 두번째 시스템이 연결된 상태로써, 데이터를 주고받을 수 있는 상태인 것입니다.
아까 뭐랬죠? 해당 프로그램은 bandit20의 password를 받게 되면 bandit21의 password를 반환한다고 했죠?
첫번째 시스템에서, bandit20 의 password를 붙여넣기하여 전송해 줍시다!
그러면 저렇게 bandit21의 password가 돌아오게 됩니다.
두번째 시스템 상태입니다.
bandit20의 password가 일치하여, 다음 레벨 password를 전송했다는 문구가 출력되었습니다.
'Hacking > [System]Bandit' 카테고리의 다른 글
OverTheWire [Bandit Level 22] (0) | 2023.04.02 |
---|---|
OverTheWire [Bandit Level 21] (0) | 2023.04.02 |
OverTheWire [Bandit Level 19] (0) | 2023.04.02 |
OverTheWire [Bandit Level 18] (0) | 2023.04.02 |
OverTheWire [Bandit Level 17] (0) | 2023.04.02 |