문제풀이
-
OVer the wire :bandit 28레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:53
이번 문제또한 27레벨과 비슷한 문제네요. repo 파일을 27레벨에서 했던것 처럼 받아왔습니다. md파일로 저장되어있네요 한번 확인해봅시다. password 부분에 xxxx가 있는걸로보아 복사하는 과정에서 변형이 일어난것으로 볼 수 있습니다. git log 명령어로 git 에서 일어난 일을 확인해봅시다. initial commit of README.md 첫 commnit 을 남긴뒤 git show 명령어를통해 어떤일이 일어났는지 확인해봅시다. add missing data 에서 password를 추가해주고 fix info leek에서 password를 xxxxxxx로 바꾸었습니다 비밀번호를 찾으면서 비밀번호:bbc96594b4e001778eee9975372716b2 overthewire bandit 2..
-
OVer the wire :bandit 26레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:52
저번 level 25에서 bandit26으로 접속했었으니 bandit26으로 접속하는 방법은 bandit25레벨 문제를 참조해주세요. 파일들을 확인해보니 bandit27-do파일과 text.txt파일이 있네요. 권한을 확인해보니 bandit26은 실행만 할 수 있군요. 실행해봅시다. bandit27-do 파일은 27의 권한으로 무언가 하는 이문제도 setuid 문제를 풀때 풀었던 문제군요 비밀번호:3ba3118a22e93127a4ed485be72ef5ea overthewire bandit 26level clear
-
OVer the wire :bandit 25레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:51
우선 접속한뒤 ls 명령어를 통해 디렉토리에 있는 파일을 확인해봅시다 bandit26.sshkey파일이있네요. 이파일을 통해 bandit26을 로그인해보겠습니다. 접속해보니 바로 연결이 종료되네요 계정의 간단한 정보가 들어있는 /etc/passwd을 확인해봅시다. 다른 계정들은 /bin/bash로 쉘이 설정되어있는데 bandit26번만 다르네요 저파일을 읽어보니 more 명령어로 text.txt 파일 ->bandit26 로그인화면 (그림)등을 출력해주는가 봅니다 그런데 more 명령어는 한줄씩 보여주기 떄문에 창의 크기를 줄이면 중간에 멈출 수 있겠습니다. 이상태에서 v 키를 누르면 vi 가 실행됩니다. 여기에서 shell 설정을 변경하여 실행하도록 만들어줍시다. 이렇게 해주면 bandit26으로 접속할..
-
OVer the wire :bandit 24레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:51
포트 30002 에서 bandit24에 대한 비밀번호와 어떤숫자 4자리를 대입하여 저장된값이 맞으면 bandit25의 접속 비밀번호를 제공하는데 어떤숫자 4자리를 무차별 대입 공격으로 풀어보는 문제인것 같습니다. 접속해보니 비밀번호와 비밀숫자 4개를 공백을 사이에 두고 입력해주라고하네요. 우선 작업공간을만들고 이동해보겠습니다. 이문제 또한 셸코드를 이용해 문제를 해결하면 될 것 같습니다. 코드를 보시면 pass에는 24레벨의 비밀번호가 들어있고 plus에는 0부터 9까지의 값이 총 4자리 즉 0000~9999까지의 숫자 동안 반복하는것입니다. {0..9999} 이렇게 해버리면 0 1 2 앞에 자리는 입력되지 않기 떄문에 저런 형식으로 작성했습니다. 반복문이 되는 동안은 localhost의 30002 포트..
-
OVer the wire :bandit 23레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:49
이번문제도 저번문제와 같이 /etc/cron.d/ 에서 찾아보겠습니다 항상 실행되는데 bandit24.sh 쉘스크립트를 실행하는군요 쉘스크립트를 확인해봅시다. /var/spool/bandit24 의모든 스크립트를 실행한뒤 삭제한다고 나와 있습니다. 1분에 한번확인하는것 같네요 여기에 자신의 첫 번째 셸 스크립트를 짜라고하였으니 셸코드를 짜봅시다. 우선 mkdir /tmp/my23 로 작업공간을 만들어봅시다. 작업공간으로 이동한후 getpw.sh 라는 셸스크립트를 짜줍니다. 내용은 cat 명령어를 사용해 /etc/bandit_pass/bandit24 파일에서 읽은내용을 /tmp/my23/keyto24.txt 라는 파일에 출력하겠다는 내용입니다. 또한 bandit24에서 실행될 것 이기 떄문에 권한이 없을것..
-
OVer the wire :bandit 22레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:49
이번 문제는 /etc/cron.d/ 폴더로 이동해서 거기에 있는 파일을 확인해보면 될 것 같습니다. cronjob_bandit23을 확인해보니 /usr/bin/cronjob_bandit23.sh 라는 파일과 관련이 있어보입니다. 저파일도 확인해 봅시다. 쉘스크립트로 이루어진 cron 이네요 echo I am user bandit23 | md5sum | cut -d ' ' -f 1 명령어를 이용해 bandit23 이라는 이름을 md5로 만든뒤 공백글자를 지운뒤 /tmp/ 에 파일명으로 저장되는데 이파일은 cat /etc/bandit_pass/myname을 한 결과 값 즉 bandit23의 비밀번호가 저장되어있는 파일입니다. 지금출력된 문자열을 /tmp/8ca319486bfbbc3663ea0fbe813263..