OverTheWire_Wargame Bandit

[ level20 -> level21 ]




이번 문제 또한 레벨19와 동일하게 setuid가 걸려있어, bandit21의 권한으로 무언가를 실행 시킬 수 있습니다. 문제를 읽어보면 setuid가 걸려있는 바이너리를 이용하여 네트워크 데몬을 연결하고, level20의 패스워드를 넣으면 level21로 넘어갈 수 있는 패스워드를 던져준다고 합니다.

직접 한번 해보도록 합시다!



홈 디렉토리에 suconnect라는 바이너리가 하나 존재합니다. setuid가 level21 권한으로 걸려있고, 실행 시켜 보니 localhost에 열려있는 다른 포트를 넣어주고, 다른 쪽에서 level20의 패스워드를 넣으라는 문구가 나타났습니다.

그럼 새로운 콘솔을 띄워서 nc로 포트를 열어주면 되겠군요.



nc에 -l 옵션으로 listening 모드로 실행시키고, 포트를 50000으로 잡아주었습니다.

이 쪽이 listening 하는 입장이므로 서버라고 지칭하겠습니다.



자, 다시 다른 터미널로 넘어와서 suconnect 바이너리를 실행시켜줍니다.

우리는 서버 측에서 50000이라는 포트를 열어주었기에 suconnect 바이너리의 인자값에도 50000을 넣어주겠습니다.


다시 서버로 돌아와서, level20의 패스워드를 넣어주니 level21로 통하는 패스워드를 뱉어주었습니다!


OverTheWire_Wargame Bandit

[ level14 -> level15 ]




이번 레벨은 localhost의 30000포트로 접속하여 현 레벨의 패스워드를 제출하면 다음 레벨로 갈 수 있는 패스워드를 얻을 수 있다고 합니다.


간단하게 nc로 접속하여 패스워드를 입력 해 주면 bandit15의 패스워드를 얻을 수 있습니다.


P.S - bandit14의 패스워드는 이전 레벨에서 알려줬듯이 /etc/bandit_pass/bandit14 에 저장되어 있습니다.


+ Recent posts