Wargame & CTF/FTZ(19)
-
[FTZ] Level8 Write-up
용량이 2700인 파일을 찾아야 한다. 단위는 KB, Byte중에 하나일 것이다. 2700KB -> 2.7MB 2.7MB는 사이즈가 너무 크다. 아마 아닐 가능성이 높다. 2700Byte -> 2.7KB 2.7KB는 텍스트 파일이거나 바이너리파일정도의 크기랑 비슷하다. 그러면 2700Byte인 파일을 명령어 find를 통해서 찾아주자. found.txt가 무척 수상하다...! cat으로 열어보자. 호고곡? 암호화된 파일이 나온다...! johntheripper로 돌려보자! Level9 : apple
2019.05.22 -
[FTZ] Level6 Write-up
음... ssh에 접속했더니 프로그램 하나가 실행되어서 명령어를 칠수가 없다. 그냥 ssh위에 저 프로그램이 돌아가고 있는것이라면 CTRL+C를 눌러 프로그램을 강제종료하면 ssh화면으로 나가질것이다. 옹? 진짜 되었다. 그러면 패스워드를 얻도록 하자. Level6 : come together
2019.05.22 -
[FTZ] Level5 Write-up
level5라는 명령어를 실행시키면 /tmp폴더 안에 level5.tmp라는 임시파일이 생긴다고 한다. 음... 그런데 파일이 없다! 임시파일은 프로그램이 실행될때 필요한 파일이나 데이터를 임시로 저장하는 것이다. 그러므로 프로그램이 꺼지면 자동으로 삭제될 가능성이 높다! 그렇다면 만약 level5.tmp에다가 심볼릭 링크를 걸면 어떻게 될까? 이제 level5.tmp가 수정되면 a도 level5.tmp와 같이 수정될것이다. 그리고 level5.tmp는 프로그램에 의해 지워지게 되고 남는것은 a뿐이다. cat a로 비밀번호를 확인할 수 있다. Level6 : what the hell
2019.05.22 -
[FTZ] Level4 Write-up
히힠! 백도어가 있다고???? 일단 cat으로 내부를 살펴보자. cd /etc/xinetd.d && ls backdoor라는 파일이 보인다. cat backdoor finger라는 서비스가 있는데, /home/level4/tmp/backdoor라는 파일을 실행시킨다는것 같다..! 일단 c언어로 my-pass를 실행시켜주는 프로그램을 만들자. cd && cd tmp && cat > backdoor.c #include #include int main(){system("my-pass");} (Ctrl+C) gcc -o backdoor backdoor.c finger서비스를 실행한다. finger @localhost Level5 : what is your name?
2019.05.21 -
[FTZ] Level3 Write-up
cmd = "dig @" + argv[1] + " version.bind chaos txt"이다. 일단 echo 1; echo 2; echo 3;과 echo 1 && echo 2 && echo 3을 입력해보자. 둘다 값이 같다. 그러면 만약에 틀린 명령어와 올바른 명령어를 같이 섞어서 입력하면 어떻게될까? ee; echo 2; ee;과 ee && echo 2 && ee를 입력해보자. &&는 앞에 명령어가 틀리니 뒤에 명령어가 실행되지 않는다. 리눅스의 명령어는 ;(세미콜론)으로 나뉘어진다. 그러므로 echo 1; echo 2; echo 3;는 echo 1 echo 2 echo 3 과 같다. 그러므로!!!!! 그냥 dig @;my-pass; version.bind chaos txt 이렇게 입력되게 하면 d..
2019.05.21 -
[FTZ] Level2 Write-up
텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다고 한다. 일단 level1에 썼던것처럼 level3 유저의 파일을 찾아준다. find / -user level3 -perm -4000 /usr/bin/editor VIM 에디터가 떴다! VIM은 '!'(느낌표)로 명령어를 실행시킬 수 있다. 정석대로 하자면 /bin/bash를 실행하는것이 맞지만, 조금 빠르게 하기 위해서 my-pass를 바로 실행시켰다. :!my-pass Level3 : can you fly?
2019.05.21