OverTheWire: Bandit cron (Level 21 → Level 22)

Fordsec·2023년 4월 10일

  1. Level 21 -> Level 22으로 넘어가는 문제이다.

문제 지문을 읽어보면, 시간에 기반한 프로그램 일정 기간을 두고 일정 기간마다 어떤 특정 프로그램이 실행되게 만드는 cron이 설정되어 있다고 한다.

이 cron 파일이, /etc/cron.d디렉토리에 있는데, 그 설정파일을 보고 어떤 프로그램이 예약이 되어 있는지 어떤 프로그램이 실행중인지를 확인하고 답을 찾는 문제이다.

이 문제를 풀기 위해 알아야 하는 것은 cron 이다.

  1. cron은 리눅스 시스템에 존재 한다에 대해 알아야 한다.

이 cron은 스케쥴 프로그램 이다.

뭐냐면, 일정시간마다, 특정 명령어, 특정 프로그램이 실행되게 만들고 싶은 것이다.

예를들어 이런게 있다. 정각 12시마다 log파일을 압축해서 다른곳으로 이동시킨다.

매일매일 12시마다 이걸 실행하게 하는 것이다.

물론 성실한 사람이라면 핸드폰에다가 알람을 맞춰두고 딱 알람이 울리면 자기가 하면 된다.

하지만, 그게 귀찮으니까 리눅스 시스템 한테 예약을 해두는 것이다.

예를들어 매일 몇분에 혹은 2시간 마다 요런식으로 특정시간을 딱 정해놓고, 그 시간마다 반복해서 어떤 명령어 프로그램이 실행되게 만드는게 요 cron이라는 프로그램 이다.

그리고 이 문제 지문에서 나와 있듯이 /etc/cron.d/ 디렉토리 에다가 어떤 프로그램이 실행될지 설정을 해둘 수 있는데, 그렇다면 그 디렉토리에 가서 확인을 해봐야 한다.

  1. 여기에 보니 여러 cronjob이라고 해서, cron으로 실행될 설정 파일들을 볼 수 있다.

지금 우리는 bandit21이다.

그러니까 bandit22로 어떤 cron이 설정되어 있는지 확인해 봐야 한다.

  1. 요렇게 되어 있다. 이것은 어떤 명령어냐면

(* * * * *) 이것이 시간을 설정해 두는 것이다.

분, 시, 일, 월 뭐 이런것들을 여기에 지정을 해 주는데, 저 별모양을 보면 다 매일, 매시, 매분을 뜻한다.

그리고, 별5개가 의미하는건 매분마다 그니까 1분 마다 요 프로그램이 bandit22의 권한으로 실행되는 것이다.

그러니까 매분마다 /usr/bin/cronjob_bandit22.sh 요 스크립트가 실행되고 있다는 것이다.

그러면 이 스크립트가 어떤 동작을 하고 있는지 봐야 한다.

  1. 읽어보면 tmp 디렉토리에다가 t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv 파일을 만드는 것 같다.

그리고, cat으로 bandit22 비밀번호를 t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv여기다가 저장을 하고 있다.

매분마다 코드가 돌아가고 있으니까 지금 t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv파일 안에는 bandit22의 비밀번호가 들어가 있다.

그러면 t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv 파일을 읽어보자

  1. 읽어보면, 그 다음 레벨로 넘어가는 비밀번호를 얻을 수 있다.

이렇게 이번에는 cron에 대해서, 리눅스에는 정해진 시간마다 어떤 명령어 프로그램이 실행될때 만드는 프로그램이 있구나 cron이라는게 있구나를 배우면 된다.

요 앞에서 봤던 분, 시, 일 부분에 대해서 설명을 하자면,

  1. cron 설정 파일에는 총 5가지로 시간을 표현할 수 있다.

맨 처음에 나오는게 분, 시간, 일, 월, 요일이 나오게 된다.

여기다가 몇분마다 몇시간마다 이런식으로 여기다가 적어주게 되는 것이다.

이렇게 설정해서 특정 프로그램을 실행할 수 있구나 이 개념을 알고 있으면 된다.

리눅스에 이런 시스템이 있구나 정도는 알고 있어야 한다.

  1. 로그인이 잘 되었다.

https://youtube.com/@Certa6

제 유튜브 채널입니다.
도움이 됐다면, 구독 부탁합니다!
주변에 제 블로그, 유튜브를 알려주시면 감사하겠습니다~! :)

Thank you for watching the blog.
Please subscribe! I would appreciate it if you could share the blog around you.

profile
Penetration Tester | ROK NIS 2025 APEX | ROKAF CERT

0개의 댓글