Post

Bandit Level 21 → Level 22

문제

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

목표

다음 레벨의 패스워드를 찾는다.

시간 기반 작업 스케줄러 cron에서 일정한 간격으로 프로그램이 실행된다. /etc/cron.d/ 에서 어떤 명령이 실행되고 있는지 확인해라.

풀이

1
2
3
4
5
bandit21@bandit:~$ cd /etc/cron.d/
bandit21@bandit:/etc/cron.d$ ls
cronjob_bandit15_root  cronjob_bandit23       e2scrub_all
cronjob_bandit17_root  cronjob_bandit24       otw-tmp-dir
cronjob_bandit22       cronjob_bandit25_root  sysstat

/etc/cron.d/로 이동해서 파일 목록을 확인해보니 cronjob_bandit22라는 파일이 보인다.


1
2
3
bandit21@bandit:/etc/cron.d$ cat cronjob_bandit22
@reboot bandit22 /usr/bin/cronjob_bandit22.sh &> /dev/null
* * * * * bandit22 /usr/bin/cronjob_bandit22.sh &> /dev/null

파일의 내용을 보니 프로그램 부팅시, 매분 매초 /usr/bin/cronjob_bandit22.sh 파일을 /dev/null로 버린다고 한다.


1
2
3
4
bandit21@bandit:/etc/cron.d$ cat /usr/bin/cronjob_bandit22.sh
#!/bin/bash
chmod 644 /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv
cat /etc/bandit_pass/bandit22 > /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv

/usr/bin/cronjob_bandit22.sh 파일의 내용을 보니 다음 레벨의 패스워드를 /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv로 저장한다고 한다.


1
2
bandit21@bandit:/etc/cron.d$ cat /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv
WdDozAdTM2z9DiFEQ2mGlwngMfj4EZff


Password : WdDozAdTM2z9DiFEQ2mGlwngMfj4EZff

배운 것

  • cron은 시간 기반 작업 스케줄러다.
This post is licensed under CC BY 4.0 by the author.