-
[Bandit] Level 24Wargame/Bandit 2022. 9. 9. 03:51반응형
Level 24로 가기 위한 문제는 해결하는 것이 좀 어려웠다.
우선, 문제의 주의사항부터 두 개나 된다.
첫 번째 주의사항은 나만의 Shell Script를 작성해야 한다.
두 번째 주의사항은 작성한 Shell Script가 실행 후 사라지기 때문에 어딘가에 복사를 해 두라고 한다.
무슨 말인지 잘 모르겠으니 주의사항을 기억하면서 문제를 풀어보자.
앞의 문제들처럼 /etc/cron.d/ 디렉터리로 간다.
cronjob_bandit24 파일을 읽어보면 /usr/bin/cronjob_bandit24.sh 스크립트를 실행하는 것을 알 수 있다.
해당 스크립트를 읽어보면, 먼저 bandit24의 이름으로 /var/spool/bandit24/foo/ 디렉터리로 이동한다.
다음으로 echo를 띄우는데, 그 내용이 디렉터리 내의 모든 스크립트를 실행하고 삭제한다고 한다.
그 밑의 내용은 잘 모르겠지만, bandit23이 소유자인 파일을 실행하면 60초 후 종료한다는 것은 알 수 있다.
그리고 디렉터리 내 모든 파일을 강제로 삭제한다.
이제야 두 번째 주의사항이 이해가 된다.

<이번 문제의 Script 내용> 두 주의사항을 충족하기 위해 디렉터리를 만들고 그 안에 Script를 작성한다.

<Script 작성을 위한 디렉터리 생성> Script의 내용은 bandit24의 비밀번호를 새로 만든 디렉터리에 result.txt 파일에 불러오라는 것이다.
간단한 Script지만 막상 작성하려니 조금 어려웠다.

<Script의 내용> 생성한 디렉터리와 Script는 bandit23의 소유이기에 허가권을 변경해준다.
그렇게 해야 bandit24가 Script를 실행해 해당 디렉터리에 result.txt 파일을 생성할 수 있기 때문이다.
그 후 Script를 /var/spool/bandit24/foo/ 디렉터리에 복사하고 1분을 기다리면 result.txt 파일이 생성된다.
생성된 파일을 읽으면 비밀번호가 나타난다.

<생성된 파일에 기록된 비밀번호> 이번 문제는 bandit24의 Shell Script를 해석해야 한다.
또한 명령이 담긴 Shell Script를 생성하고, 소유권과 허가권에 대한 생각을 해야 해결할 수 있다.
문제가 얼마 남지 않은 상황에서 난이도가 어려워지는 것 같은데 다행히 해결할 수 있어서 좋았다.
반응형'Wargame > Bandit' 카테고리의 다른 글
[Bandit] Level 26 (0) 2022.09.10 [Bandit] Level 25 (0) 2022.09.09 [Bandit] Level 23 (0) 2022.09.06 [Bandit] Level 22 (0) 2022.09.06 [Bandit] Level 21 (0) 2022.09.06