해킹 동아리 I.Sly()/방학 스터디 활동
[bandit] level 21 -> level 22
gom1n
2021. 2. 19. 04:40
해설)
프로그램은 cron에 의해 정기적으로 실행되고, 이것은 시간기반 작업 스케쥴러이다. /etc/cron.d/를 들여다보고, 어떤 명령이 실행되는 지를 보아라.
cron이란?
Unix 운영체제에서 특정한 시간에 특정한 작업을 실행시키기 위한 데몬이다. 예를 들어 특정 서버에 가서 특정 데이터를 받아오는 등의 기능을 정해진 시간에 수행시킬 수 있다. 서버는 24시간 항상 돌아가는데, 이 점을 이용한 방법이다.
이러한 작업을 설정하는 파일을 Crontab 이라고 한다. 리눅스에서는 해당 파일이 /etc/cron.d 디렉토리에 저장되고, 해당 파일을 조작할 땐 crontab 명령어를 이용하면 된다.
/etc/cron.d/로 이동해 파일들을 훑어보자.
bandit22의 패스워드를 알아내는 것이 목표이기 때문에, cronjob_bandit22를 읽는다
cronjob_bandit22.sh라는 명령을 실행하는 cron이다.
해당 명령어의 내용을 출력해보았다.
chmod를 이용해 /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv 파일의 권한을 644로 바꾼 뒤,
/etc/bandit_pass/bandit22 라는 파일에다 내용을 복사하는 명령임을 알 수 있다.
해당 파일을 읽어보았다.
다음 단계의 패스워드가 주어졌다.