bandit 23 → 24

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

이번 문제는 크론 디렉터리에서 파일들을 보라고 한다.

이전 문제들처럼 크론 파일의 내용을 보면 매 분마다 bandit24가 쉘 스크립트를 실행한다.


어떤 쉘 스크립트인지 확인해보니 /var/spool/bandit24/foo 디렉터리에서 소유자가 bandit23인 파일이 있다면 해당 파일을 실행 후 삭제하는 스크립트이다. 그러므로 해당 디렉터리에 쉘 스크립트 파일을 생성하면 bandit24가 실행해 줄 것이다.


해당 디렉터리에 파일을 write 해야 하므로 권한을 확인한다. bandit23은 others에 속해있는데 권한은 쓰기 및 실행이 가능하므로 쉘 스크립트를 삽입할 수 있다.


작업을 해야 하므로 임시 디렉터리를 생성하고 이동한다.


bandit24의 패스워드를 저장할 password 빈 파일을 생성하고, get_password.sh 쉘 스크립트를 생성하고 편집한다.


/etc/bandit_pass에서 bandit24의 패스워드를 내가 생성한 password 파일에 저장한다.


bandit24에서 파일 및 디렉터리 수정이 가능하게 권한을 수정한다. 디렉터리는 쓰기 및 실행을 할당해야 내부에 있는 파일을 수정할 수 있다. 내부에 수정해야 할 password 파일이 있으므로 쓰기 및 실행 권한을 할당한다.


생성한 쉘 스크립트 파일을 /var/spool/bandit24/foo 디렉터리에 복사한다. 이제 0초가 될 때 해당 쉘 스크립트를 bandit24가 실행하여 password 파일에 패스워드를 저장할 것이다.

빈 파일이던 password에 패스워드가 저장되어 33 bytes가 됐다. 해당 파일을 read 한다.

크리덴셜 획득

Published by