🌱초급

[Bandit] Level 21 → Level 22

Bandit Level 21 풀이 과정을 설명합니다.

2분 읽기

문제

Level Goal

A program is running automatically at regular intervals from cron, the time-based job scheduler. Look in /etc/cron.d/ for the configuration and see what command is being executed.


해결

image.png
  • 문제에서 주어진 /etc/cron.d 폴더로 이동하여 파일 목록을 확인해보면, 몇몇 계정에 대한 cronjob 파일이 있습니다.

  • bandit22의 패스워드를 찾아야 하므로 bandit22에 대한 cronjob 파일을 읽어보면 다음과 같습니다.

image.png
  • /usr/bin/cronjob_bandit22.sh 파일의 내용을 /dev/null로 리다이렉션하는 것을 볼 수 있습니다.

image.png
  • /usr/bin/cronjob_bandit22.sh을 읽어보면 /etc/bandit_pass/bandit22 에 대한 내용이 /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv 속에 있다는 것을 알 수 있습니다.

  • /etc/bandit_pass/bandit22은 bandit22의 패스워드를 담고 있는 파일이므로 /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv 의 내용을 읽어보면 패스워드를 구할 수 있습니다.

image.png

핵심

cron 

  • 특정 시간 또는 특정 시간 마다 어떠한 작업을 자동으로 수행하게 해주는 명령어

  • 예약 스케줄러

  • 시스템에서 시본적으로 사용하는 cron 설정인 시스템크론과 root나 일반 사용자가 직접 자신의 cron을 설정하는 사용자크론이 있음.

  • 과거 공격자들이 악성코드 실행 명령을 crontab에 설정해 악성코드를 실행시킨 적 있음.

crontab과 cron과 관련된 파일

1. crontab : cron 작업을 설정하는 파일

  • cron 프로세스는 /etc/crongtab 파일에 설정된 것을 읽어 작업을 수행함.

  • OS 별로 저장된 위치 다름

[사용 형태]

image.png

2. cron

/usr/bin/cron 

image.png
image.png


댓글

이 글이 마음에 드셨다면 반응이나 댓글을 남겨주세요!

댓글을 작성하려면 로그인하세요

로딩 중...
공유
sikk

sikk

Author

보안을 공부하는 개발자입니다. Web2/Web3 보안과 시스템 해킹에 관심이 많습니다.

뉴스레터 구독하기

새로운 포스트가 올라오면 이메일로 알려드려요!