출처: http://vallista.tistory.com/entry/Syntax-Highlighter-티스토리에서-코드-이쁘게-넣기 [VallistA]>

'System, Pwn/ftz'에 해당되는 글 8건

  1. 2019.08.20 ftz level9
  2. 2019.08.19 level 9부터는 버퍼오버플로우 내용이다.
  3. 2019.08.19 ftz level8
  4. 2019.08.19 ftz level5
  5. 2019.08.17 ftz level4
  6. 2019.08.17 ftz level3
  7. 2019.08.17 ftz level2
  8. 2019.08.17 ftz level1
posted by ddanss 2019. 8. 20. 11:35
728x90

cat hint 해보면

이것이 나온다.

실행은 /usr/bin/bof에서 하는 것이다.

 

fgets함수를 보면 buf,40 이라고 되어있는데 buf는 10개만 할당되어 있으므로 이것을 이용해 버퍼오버플로우를 사용하면 된다.

 

그리고 strncmp(buf2,"go",2)==0 이니 buf2를 go로 만들어주면 아래에 세개 함수들이 모두 작동한다.

 

그럼 이제 level9의 tmp파일에 가서 aaa.c라는 파일로 hint에 있는 내용을 똑같이 입력하겠다.

(마우스 오른쪽 버튼을 누르면 복사가 된다.)

이렇게하고 ESC누르고 :wq로 저장을 한다.

그다음 gcc -o aaa aaa.c 위와같이 aaa파일을 만든다.

그리고 gdb 명령어를 사용해본다.

gdb aaa를 하고

gdb 안에서 set disas intel을 입력한다. (set disas main은 오타../) 

(바로 disas main을 해도 되지만 set disas intel을 해주는게 보기 편하다.)

 

disas main하면

이렇게 보이는데

fgets를 사용하는 배열에 buf였다. buf는 ebp-40부터 사용한다.

그리고 strncmp를 사용하는 배열에 buf2였으므로 buf2는 ebp-24부터 사용한다.

결국 40-24를 빼준 16글자만큼 아무 글자나 채워주고 go를 뒤에 붙여주면 된다.

 

/usr/bin에 가서 bof를 실행해서

aaaaaaaaaaaaaaaago 이런식으로 입력하면 될것이다.

그리고 my-pass를 하면 답이 나온다.

반응형

'System, Pwn > ftz' 카테고리의 다른 글

level 9부터는 버퍼오버플로우 내용이다.  (0) 2019.08.19
ftz level8  (0) 2019.08.19
ftz level5  (0) 2019.08.19
ftz level4  (0) 2019.08.17
ftz level3  (0) 2019.08.17
posted by ddanss 2019. 8. 19. 21:00
728x90

이 분의 블로그를 보고 배웠다.

https://cosyp.tistory.com/206

반응형

'System, Pwn > ftz' 카테고리의 다른 글

ftz level9  (0) 2019.08.20
ftz level8  (0) 2019.08.19
ftz level5  (0) 2019.08.19
ftz level4  (0) 2019.08.17
ftz level3  (0) 2019.08.17
posted by ddanss 2019. 8. 19. 20:53
728x90

문제는 이것이고 용량이 2700인 파일을 찾아보겠다.

4가지가 나왔다.

이중에 found.txt파일의 경로로 가서 cat found.txt로 봐보면

이런식으로 나온다.

이 해쉬값들을 해석해서 답을 알아내야 한다.

그래서 john the ripper라는 암호를 푸는 프로그램을 썻다.

(참고로 putty에서 오른쪽마우스 하면 복사가 된다.)

나는 리눅스에 john the ripper가 없고 윈도우에 john the ripper가 있어서 윈도우로 해시값들을 옮겨서 썻다.

이런식으로 옮겨서 명령 프롬프트로

john.exe 파일이름. 해주면 된다.

그럼 저렇게 나온다.

반응형

'System, Pwn > ftz' 카테고리의 다른 글

ftz level9  (0) 2019.08.20
level 9부터는 버퍼오버플로우 내용이다.  (0) 2019.08.19
ftz level5  (0) 2019.08.19
ftz level4  (0) 2019.08.17
ftz level3  (0) 2019.08.17
posted by ddanss 2019. 8. 19. 16:02
728x90

문제는 이것이고 헷갈렸던 것이

지금 level5의 tmp인지 루트 밑에 있는 tmp인지 헷갈렸다.

결론은 루트 밑에 있는 tmp디렉토리르 말하는 것이다.

 

일단 저런식으로 tmp디렉토리에 level5.tmp파일을 만든다.

cat>level5.tmp 만치고 ctrl+c누르면 바로 나올 수 있다.

 

그리고나서 /usr/bin/level5를 실행하고 다시 tmp에 온다음 cat level5.tmp를 하면 답을 볼 수 있다.

반응형

'System, Pwn > ftz' 카테고리의 다른 글

level 9부터는 버퍼오버플로우 내용이다.  (0) 2019.08.19
ftz level8  (0) 2019.08.19
ftz level4  (0) 2019.08.17
ftz level3  (0) 2019.08.17
ftz level2  (0) 2019.08.17
posted by ddanss 2019. 8. 17. 19:23
728x90

힌트는 이거고

xinetd.d 경로에 가서 ls -al 해보면 backdoor가 있다.

그리고 backdoor에 뭐가 적혀있는지 보면

finger 라는 service 가 이렇게 작동한다는 것이다.

finger라는 명령어는 사용자 정보를 알려주는 명령어이다.

 

user를 보면 level5이고, server 가 /home/evel4/tmp/backdoor 이다.

해석해보면 /home/evel4/tmp/backdoor 경로에 backdoor라는 파일이 실행된다는 것이다.

그래서 tmp경로에 backdoor 파일을 작성해주면 된다.

tmp 경로에서 vi backdoor.c 한다음에 이렇게 적어주고

 

ESC 누른다음 :wq! 하고 엔터를 누른다.

그리고 gcc -o backdoor backdoor.c 로 backdoor 파일을 만들어준다.

그리고 finger로 현재 사용자의 정보를 출력해보면

level5의 key가 나온다.

잘 안될수도 있는데 엔터 여러번 누르고 시도해보고 여러번 시도해보면 된다.

반응형

'System, Pwn > ftz' 카테고리의 다른 글

ftz level8  (0) 2019.08.19
ftz level5  (0) 2019.08.19
ftz level3  (0) 2019.08.17
ftz level2  (0) 2019.08.17
ftz level1  (0) 2019.08.17
posted by ddanss 2019. 8. 17. 18:38
728x90

문젠 위의 것이고

보면 ./실행문제이름 인자1

이런식으로 진행된다.

strcpy, strcat 을 통해서 dig @argv[1] version.bind chaos txt가 되는데 우리는 argv[1]에서 key를 알아내야 한다.

일단 소유주가 level4인 것을 검색해보고

/bin에서 autodig를 검색해본다.

그냥 실행해보면 Auto digger.~~ 가 나오는데 인자를 넣지 않아서 그렇다.

이런식으로 넣으면 된다. aa자리에는 어떠한 것이 들어가도 다 된다.  중요한건 my-pass.

more hints에서

1. 동시에 여러 명령어를 사용하려면 ?  -  ;(세미콜론 사용)

2. 문자열 형태로 명령어를 전달하려면 ? - " "(큰따옴표 사용)

위에 "aa;my-pass" 에선 두 개다 충족 시켰다.

반응형

'System, Pwn > ftz' 카테고리의 다른 글

ftz level8  (0) 2019.08.19
ftz level5  (0) 2019.08.19
ftz level4  (0) 2019.08.17
ftz level2  (0) 2019.08.17
ftz level1  (0) 2019.08.17
posted by ddanss 2019. 8. 17. 18:15
728x90

힌트를 보면

이렇게 나와있다.

그럼 일단 소유주가 level3 인것을 검색해 본다.

editor 라는 파일이 있다.

/usr/bin에 가서 editor를 검색해본다.

./editor 해서 editor를 실행해보면 긴 창이 나오는데

ESC 누르고 !bash를 입력하면 된다.

vi실행중에 command 상태에서 !명령어를 치면 리눅스 명령어를 실행 할 수 있다.

반응형

'System, Pwn > ftz' 카테고리의 다른 글

ftz level8  (0) 2019.08.19
ftz level5  (0) 2019.08.19
ftz level4  (0) 2019.08.17
ftz level3  (0) 2019.08.17
ftz level1  (0) 2019.08.17
posted by ddanss 2019. 8. 17. 17:48
728x90

힌트를 보면 이건데

이렇게 하면 찾아진다.

 

find / -perm -4000 -user level2 2> /dev/null

1. /는 전체 시스템 파일 중 검색
2. 특수권한인 setuid가 걸려있는 파일을 찾아야 하므로 -perm 옵션 사용
3. 파일 소유주가 level2인 파일을 찾아야 하므로 -user 옵션 사용
4. 2>dev/null 에서 2는 표준에러(STDERR)을 뜻하며, /dev/null은 출력을 버리는 역할을 한다.

 

그리고 cd .. -> cd .. -> cd bin 으로 간다.

그냥 ls만 해도 찾으면 눈에 보인다.

그리고 ./ExecuteMe를 해보면 실행 되는데, bash로 level2의 권한을 습득한다.

 

이 다음 my-pass를 입력하면 답이 나온다.

반응형

'System, Pwn > ftz' 카테고리의 다른 글

ftz level8  (0) 2019.08.19
ftz level5  (0) 2019.08.19
ftz level4  (0) 2019.08.17
ftz level3  (0) 2019.08.17
ftz level2  (0) 2019.08.17