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.