bandit 24 → 25

https://overthewire.org/wargames/bandit/bandit25.html

30002번 포트에 bandit24의 패스워드와 4자리의 숫자를 전송해서 맞춘다면 bandit25의 패스워드를 알려준다고 한다.

최대 10000번의 시도를 해야 하는데 4자리 숫자에 대한 힌트는 없으므로 브루트포싱으로 맞혀야 한다. 경우의 수 0000~9999를 워드리스트 파일로 만들어서 nc 명령어로 전송하여 패스워드를 획득할 수 있다.

우선 워드리스트 파일을 만들어야 하니 임시 디렉터리를 생성하고 이동한다.


0000~9999를 다 입력할 수는 있지만 시간이 많이 걸린다. 그러므로 쉘 스크립트의 반복문으로 생성할 것이다. 편집기로 쉘 스크립트 파일을 편집한다.


“{bandit24 password} ????” 형식으로 작성을 해야 하니 아래와 같이 입력하여 i 값이 4자리가 아니더라도 빈자리를 0으로 채우게끔 스크립트를 작성한다.


스크립트 파일을 실행시키기 위해 소유자 권한에 실행 권한을 할당한 후, 쉘 스크립트를 실행한다.


만들어진 파일을 cat으로 읽고, 파이프로 nc 명령어에 넘겨 준다. nc 명령어는 로컬호스트의 30002번 포트로 연결시킨다.


9999번의 실패와 1번의 성공 메시지를 볼 수 있다.

크리덴셜 획득

Published by