본문 바로가기
Linux/bandit

Level 23 → Level 24

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

 

  • login PW: QYw0Y2aiA672PsMmh9puTQuhoz8SyR2G
  • 문제설명: cron이 실행되고 있으며 /etc/cron.d/ 에서 찾을 수 있다.

 

이전의 두 문제와 유사합니다.

똑같이 /etc/cron.d/ 안의 폴더 안의 cronjob_bandit24 파일을 읽고

/usr/bin/cronjob_bandit24.sh 를 읽어보겠습니다.

 

스크립트는 다음과 같이 동작합니다.

 

1. /var/spool/bandit24/foo 로 경로를 변경한다.

2. 해당 경로에 있는 모든 파일을 실행하고 삭제한다.


[ 알 수 있는 것 ]

  • cron은 bandit24의 권한으로 실행되고 있다.
    = /etc/bandit_pass/bandit24에 접근할 수 있다.
  • cron이 실행하는 스크립트 -> 해당 경로에 있는 파일을 모두 실행한다.
    = /etc/bandit_pass/bandit24 에 접근하여 PW를 읽고 빼내는 파일을 경로에 만들면 이것 또한 실행한다.

위를 두가지를 바탕으로 /var/spool/bandit24/foo 경로에 /etc/bandit_pass/bandit24에 접근하여 PW 읽어 내는 파일을 작성해보겠습니다.

 

 

 

먼저 /var/spool/bandit24/foo로 이동하겠습니다.

 

 

# echo "cat /etc/bandit_pass/bandit24 > /tmp/bandit23_test" > bandit23_test.sh

/etc/bandit_pass/bandit24(bandit24의 PW)를 읽어 /tmp/bandit23_test에 저장을 하는 스크립트를

bandit23_test.sh로 저장한다는 의미입니다.

 

방금 만든 bandit23_test.sh는 현재 경로인 /var/spool/bandit24/foo 에 저장이 되므로

모든 파일을 실행하는 cron에 의해 실행이 될 것 같지만....?

 

실행 권한을 변경해줘야 합니다.

 

# chmod 777 bandit23_test.sh

실행 권한을 변경해주면 cron에 의해 bandit23_test.sh가 실행되면서

bandit24 PW를 읽어 /tmp/bandit23_test 저장합니다.

 

# cat /tmp/bandit23_test

PW가 출력되는 것을 볼 수 있습니다.

 

참고로 이 단계에서 사용되는 cron은 /var/spool/bandit24/foo 경로에 있는 파일을 실행 후 삭제 하므로

PW가 옮겨진 뒤에는 아래와 같이 bandit23_test.sh 파일이 삭제됩니다.

 

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

Level 25 → Level 26  (0) 2024.01.16
Level 24 → Level 25  (0) 2024.01.12
Level 22 → Level 23  (0) 2024.01.11
Level 21 → Level 22  (0) 2024.01.10
Level 20 → Level 21  (0) 2024.01.10