문제풀이/overthewire:bandit
-
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..
-
OVer the wire :bandit 20레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:48
이번문제는 suconnect 프로그림이 명령줄 인수로 지정한 포트에서 localhost로 접속하게되는데 다른 터미널을 하나더 열어서 nc -l -p (port번호) 명령어를 입력해 자기자신의 포트에 연결하면 될 것같습니다. 비밀번호를 nc 명령어를 실행중인 터미널에 입력하니 다음 레벨로가는 비밀번호가 나왔습니다. 비밀번호:gE269g2h3mw3pwgrj0Ha9Uoqen1c9DGr overthewire bandit 20level clear
-
OVer the wire :bandit 19레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:48
이번문제는 setuid 바이너리를 이용한문제네요. 권한이 없는 파일을 주나봅니다. bandit20-do 파일이 bandit20은 소유자 bandit19는 그룹이네요 bandit20 권한은 rws s는 특수 권한으로써 setuid를 의미합니다 setuid 는 다른 유저들이 소유자의 권한을 잠시 빌려 사용한다고 이해하면 될 것 같습니다. bandit19에도 x(실행권한)은 있으니 bandit20-do 파일을 실행시키는 동안 bandit20의 권한을 빌려 쓸 수 있으니 그때 cat /etc/bandit_pass/bandit20 명령어를 실행해서 비밀번호를 찾으면 비밀번호:GbKksEFF4yrVs6il55v6gwY5aVje5f0j overthewire bandit 19level clear