(1) Bandit
(2) 이전 문제 풀이
이전 문제는 요즘 많이 풀었던, cron을 이용한 문제였다.
sh파일을 사용해 bandit23의 디렉터리를 알아내, 디렉터리로 가서 비밀번호를 알아냈다.
Bandit 워게임 풀기 [level22 -> level23]
(1) Bandit (2) 이전 문제 풀이 이전 문제는 자동으로 실행되는 프로그램을 이용해서 비번의 경로를 찾아서 읽어내는 것이었다. Bandit 워게임 풀기 [level21 -> level22] (1) Bandit (2) 이전 문제 풀이 이전 문
suhyeokdevlog.tistory.com
(3) level23 -> level24
이번 문제는 똑같이 /etc/cron.d에 있는 자동 실행 프로그램을 봐서 어떤 명령어가 실행되는지 보란다.
저번과 똑같이 보면,
이런식으로 무슨 코드 비슷한 것이 나타나있다.
코드를 보면 특정 시간마다 파일이 지워지는 듯하다.
문제를 보니 자신의 코드(sh) 파일을 만들라고 한다.
일단 tmp경로에 임의의 디렉터리를 만들고 파일을 만들어보자
디렉토리를 만든 후에
bandit24에 있는 파일을 복사해 임의의 디렉터리에 넣어주자
새로 만든 경로다 보니, 읽기, 쓰기 권한도 추가해 준다.
코드를 분석해 보면 사용자 = whoami니까 사용자를 지정하면, 특정계정으로서 접근이 가능하고
또한 /var/spool [사용자]/foo 에있는 파일을 실행하고 지운 다고 한다.
따라서 저 사용자에 bandit24를 집어넣으면 bandit24로서 우리가 만든 명령어를 실행가능하다.
위와 같이 코드에 있던 /var/spool/[사용자]/foo라는 디렉터리에 우리가 만든 코드를 복사해 주면,
조금 뒤에 우리가 지정한 pass라는 파일이 생기고, 비밀번호를 알아낼 수 있다.
bandit24의 비밀번호는 "VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar"이다.