ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Bandit] Level 24
    Wargame/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

    댓글

Designed by Tistory.