본문 바로가기
Linux/bandit

Level 22 → Level 23

by ㅇㅅㅇ.. 2024. 1. 11.

 

 

 

  • login PW: WdDozAdTM2z9DiFEQ2mGlwngMfj4EZff
  • 문제설명: cron이 동작되고 있다. /etc/cron.d/ 를 확인해라

 

이전 단계 문제와 비슷한 것 같습니다. /etc/cron.d/ 경로로 이동하니 여러 파일들이 있습니다.

 

 

# cat cronjob_bandit23

다음 단계가 23이므로 cronjob_bandit23부터 살펴보면,

bandit23의 권한으로 /usr/bin/cronjob_bandit23.sh를 실행하고 출력값을 리다이렉트합니다.

 

 

# cat /usr/bin/cronjob_bandit23.sh

해당 쉘 스크립트를 확인해 보겠습니다.

 

  • myname이라는 변수에 whoami의 결과를 넣습니다.
    ( 해당 스크립트는 bandit23의 권한으로 실행되므로 whoami의 결과 값은 bandit23입니다.
      다시 말해 myname 변수에는 'bandit23'이 저장됩니다.)
  • mytarget이라는 변수에는 I am user ~~ 의 결과를 넣습니다.
  • "Copyin passwordfile ~~~" 문자열을 출력합니다.
  • /etc/bandit_pass/bandit23 의 내용을 /tmp/$mytarget에 복사합니다.

 

그러니까 저희는 변수 mytarget 값을 알아낸 다음 /tmp/$mytarget 파일을 읽으면 다음 단계의 pw를 알 수 있습니다.

 

 

/tmp 로 이동해서 bandit22_sh.sh 파일을 하나 만들어 위의 스크립트 내용을 복사하겠습니다.

 

 

어차피 myname은 'bandit13' 이므로 myname 변수를 수정해주겠습니다.

또 mytarget 값만 알면되므로 다른 코드는 지우고 echo $mytarget을 넣어 mytarget을 출력하도록 하겠습니다.

 

저장 후 해당 스크립트를 실행하니까 mytarget 값이 나옵니다.

cat /tmp/$mytarget 를 cat 명령어로 읽어주니 다음 단계의 PW 값이 출력되는 것을 알 수 있습니다.

'Linux > bandit' 카테고리의 다른 글

Level 24 → Level 25  (0) 2024.01.12
Level 23 → Level 24  (0) 2024.01.11
Level 21 → Level 22  (0) 2024.01.10
Level 20 → Level 21  (0) 2024.01.10
Level 19 -> Levle 20  (0) 2024.01.05