해킹 동아리 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 라는 파일에다 내용을 복사하는 명령임을 알 수 있다.

 

해당 파일을 읽어보았다.

다음 단계의 패스워드가 주어졌다.