저 크론 그만 풀고 싶은데요..
NOTE: 내가.. 내가 SHELL script를 만들어야 한다. very big step...
NOTE2: 내 쉘 스크립트는 한 번 실행되면 지워지는거라 미리 복사해놓아야 한다.
오케이!!
일단 /etc/cron.d의 cronjob_bandit24 파일을 읽어보았고, 그 전 문제들과 코드는 동일했다.
cronjob_bandit24.sh을 읽어보았다.
/var/spool/$myname에 있는 파일을 모두 지워버린다.. 현재 디렉토리랑 상위 디렉터리만 제외하고(?)
+ 만약 owner가 bandit23일때 말이다.
이때 조건은 60초마다 지운다는 것 같다.
/var/spool에 가봤는데 bandit24 폴더가 있었다.
근데 이 폴더 안에는 권한이 없어서 ls -al 명령어 사용을 못 함.
그리고 cronjob_bandit24.sh 파일을 읽어봤는데
owner가 bandit23인..? 파일을 다 지우는.. 명령어였던거 같다.
여기서 중요한건 아까 위에서 나온 echo 명령어에 파일을 지우기 전에 실행을 먼저 한다고 써있었다는 것이다.
그러니까 우리가 쉘을 만들어서 /var/spool/bandit24 폴더에 넣으면
이 폴더에 있던 모든 파일이 실행된다는건데,
아까 봤듯이 bandit24에는 내 권한으론 무슨 파일이 있는지도 모르고 실행이 안되지만 cron 명령어에 의해서 내가 만들어놓은 파일을 실행할 수 있게 된다.
그러니까 비밀번호를 알고 싶으면 cat /etc/bandit_pass/bandit24 > /tmp/내가 만든 폴더로 옮기면 되겠다.
그전에 /tmp 폴더에 가서 나만의 폴더를 하나 만들고, 거기서 쉘을 짠 다음, 그 파일을 /var/spool/bandit24에 옮긴 뒤,
1분만 기다리면 /tmp/~에 비밀번호가 추가되어 있을 것이다.
나는 /tmp 아래에 band라는 폴더를 만들었고, tik.sh이라는 쉘 스크립트를 생성해서 다음과 같이 코드를 짜줬다.
그리고 얘를 /var/spool/bandit24 폴더에 옮겨주고 1분 기다려..야되는데
생각해보니까 권한 변경을 안해줬다.
bandit23만.. 쓸 수 있음
chmod 를 사용해서 쓰기 권한을 줘보자.
근데 1분 지나도 안돼서 .. 고민하다가 디렉터리에 문제가 있는게 아닌가 싶어.. band 폴더 ls -al을 실행해봤다
그렇다.. 쓰기 권한이 없다
최강의 권한을 쥐어줌
다시 cp 명령어 주고... 1분 기다렸다..
어머!!!!!!
눈물
하지만 역대급 문제는 바로 24단계라는거.
'Pwnable > Bandit' 카테고리의 다른 글
[Bandit Level 25->26] MORE 명령어 익히기 (0) | 2022.02.05 |
---|---|
[Bandit Level 24->25] 쉘 스크립트 짜서 무작위 공격하기 (0) | 2022.02.04 |
[Bandit Level 22->23] cron을 활용하자 (2) (0) | 2022.02.02 |
[Bandit Level 21->22] cron을 활용하자 (0) | 2022.02.01 |
[Bandit Level 19->20, 20-> 21] setuid를 사용하자 (0) | 2022.01.31 |
댓글