반응형 FTZ22 FTZ Level 9 ftz level9으로 접속한다. 접속해서 hint를 보면 bof의 소스가 나온다. 살펴보면 buf2 배열의 처음 2개가 go면 /bin/bash를 실행해준다다 find명령어를 사용해 살펴보면 /usr/bin/bof의 suid는 level10이다. 그럼 level10의 쉘을 띄어준다는 소리다. 여기서 볼수 있느게 buf를 fgets로 받아주는데 이미 buf는 10개의 크기로 정의 되어있다. buf 를 초과하는 정보는 buf2에 쌓일 것이다. 0~9까지가 buf의 크기이다. buf2까지의 공간은 abcdef 즉 5이다. 이렇게 level10의 쉘을 실행한 후, my-pass를 입력하여 level 10의 패스워드를 알아내면 된다. 2021. 8. 6. FTZ Level 8 Level 8 으로 접속 후, 힌트를 보면 shadow파일인데 용량이 2700인것을 찾아라고 합니다. find / -size 2700c 를 입력하면 파일들중 위와 같은 파일이 있습니다. 읽기 권한만 있는 이 파일을 확인하면 이런 문구가 나옵니다. 이것을 복호화 해주기 위해서 존더리퍼를 사용할 것입니다. 우선 위의 내용을 복사해서 로컬에다가 txt파일로 저장합니다. 그리고 로컬에 존더리퍼를 설치하여 이를 복호화 할 것 입니다. http://www.openwall.com/john/ 에서 무료버전으로 다운받은 후 설치합니다. john 버전을 설치하기 위해 /john-1.8.0/src로 가서 make generic 을 해주면 /john-1.8.0/run에 john이라는 실행파일이 생깁니다. ./john -sho.. 2021. 8. 6. FTZ Level 7 Level 7에 접속하여 hint를 보면 이라고 나타납니다. 일단 /bin/level7을 실행시켜 보면 이라고 나타납니다. 하지만 이게 원래는 --_--_- --____- ---_-__ --__-_- 이라고 나타납니다. 여기서 힌트와 같이 생각해보면 패스워드는 가까운곳에 상상력을 총동원하라. 2진수를 10진수로 바꿀 수 있는가? 계산기 설정을 공학용으로 바꾸어라 여기서 3번 힌트를 보고 유추 할 수 있는것이 저 모스부호같은것이 1과 0을 나타내는 수일 수 있지 않을까? 라는 생각을 할 수 있습니다. 일단 그생각을 가지고 해보면 --_--_- /--_ _ _ _-/ ---_-_ _/ --_ _-_-/ 1101101 1100001 1110100 1100101 의 2진수로 나타낼 수 있죠 이것을 10진수로 나.. 2021. 8. 6. FTZ Level 6 Level 6로 접속하면 라고 나옵니다. 여기서 ls 등등의 명령어 치면 접속이 종료됩니다. 이것이 접속되기 전에 끊으면 어떨까 하는 생각에 CTRL + C를 눌려보니!! Level6 홈 디렉토리가 나타납니다. 2021. 8. 6. FTZ Level 5 FTZ Level5로 접속합니다. ID = level5 PW = what is your name? 접속해서 hint를 보면 /usr/bin/level5 프로그램은 /tmp 디렉토리에 level5.tmp 라는 이름의 임시파일을 생성한다. 이를 이용하여 level6의 권한을 얻어라. 라고 나타난다. 일단 /usr/bin/level5 프로그램의 suid가 level6인지 확인해본다. 역시 level6이다. 이 프로그램을 생성하면 임시프로그램이 생성된다고 한다. 실행해보니 임시프로그램이라서 생성됬다가 바로 사라지는듯... 그래서 임의로 level5.tmp라는 파일을 /tmp에 생성해준다. 그렇다면 /usr/bin/level5 프로그램이 실행되면서 오버라이딩 될것이다. (/tmp 폴더이다.. 나는 /home/le.. 2021. 8. 6. FTZ Level 4 FTZ Level 4로 접속 ID = level4 PW = suck my brain 그리고 hint파일을 보면 백도어가 심겨져 있답니다. 그럼 심어져 있는 위치로 가봐야겠죠. user가 level5이고 백도어 서버의 위치가 /home/level4/tmp/backdoor 랍니다. 그런데 가보니 아무것도 없으니 backdoor가 실행될 때의 파일을 만들어 줍니다. vi 에디터를 사용해서 my-pass를 실행시키는 코드입니다. 백도어가 실행된다면 그순간 level5가 될것이고 my-pass가 실행될것이므로 level5의 패스워드를 출력하겠지요 컴파일해주고 finger명령어를 사용하여 백도어를 실행시켜주면!! 주면!! 잘안되니 여러번 실행시켜줍니다. 2021. 8. 6. 이전 1 2 3 4 다음 반응형