bandit 22 → 23

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

이번엔 /etc/cron.d를 살펴보라고 한다. bandit22의 크리덴셜을 구할 때와 아주 유사한 문제다.

크론 디렉터리에서 bandit23에 대한 크론 파일을 확인해보니 쉘 스크립트를 실행하는 스케줄러였다.


해당 쉘 스크립트를 확인해서 어떤 동작을 하는지 본다.

myname 변수에 “bandit23″이 할당된다. 그 이유는 크론에서 bandit23이 해당 쉘 스크립트를 실행하게 되어있고, whoami 명령어는 자신의 계정을 출력하기 때문이다. 그러면 bandit23은 whoami로 “bandit23″을 출력하는데 해당 값을 myname에 할당하는 것이다.

mytarget 변수에 “I am user bandit23″을 MD5 알고리즘으로 해싱한 값을 할당한다.

마지막으로 bandit23의 크리덴셜 정보를 /tmp/{bandit23을 MD5로 해싱한 값}에 저장한다.


해싱 값만 알면 크리덴셜을 확인할 수 있다. 그리고 해싱하는 과정이 다 나와있기 때문에 위 과정으로 해싱 값을 알아낼 수 있다. 똑같이 myname 변수에 “bandit23″을 할당하고, mytarget 변수에 해싱된 값을 할당하면 해싱된 값을 알 수 있다. 해당 값으로 /tmp/{hash}로 접근해도 되고, 아니면 mytarget에 저장돼있으니 /tmp/$mytarget으로 접근해도 된다.

크리덴셜 획득

Published by