힌트를 보니 이런 내용이 있다.

공유 메모리를 이용해서 코딩을 해서 푸는 방법인것같다.


다음과 같이 구글링을 통해 관련 함수를 찾아가며 코딩을 하였다.

컴파일 후 실행시켜 패스워드를 알아내었다.


Flag : what!@#$?

'IT > FTZ' 카테고리의 다른 글

[FTZ] level12  (0) 2016.07.10
[FTZ] level11  (0) 2016.07.10
[FTZ] level9  (0) 2016.07.10
[FTZ] level8  (0) 2016.07.10
[FTZ] level7  (0) 2016.07.10

다음 소스가 나왔다. 먼저 코드를 분석하면,

buf와 buf2의 선언과 40바이트 이하의 크키를 입력받아서 buf에 저장하고

buf2의 2바이트값이 go와 비교해서 같다면 printf로 굳스킬이라는 메세지를 띄운 후 bash쉘을 실행시켜주는 프로그램이다.

따라서 저 소스에 buf와 buf2의 거리를 구하는 코드를 짰다.

이것을 실행 시켜보니 두 주소값이 나왔고, 이 값을 뺀 결과 16이라는 값이 나왔다.

따라서 16번째와17번째가 buf2의 2바이트인것을 알 수있다.

Flag : interesting to hack!

'IT > FTZ' 카테고리의 다른 글

[FTZ] level11  (0) 2016.07.10
[FTZ] level10  (0) 2016.07.10
[FTZ] level8  (0) 2016.07.10
[FTZ] level7  (0) 2016.07.10
[FTZ] level6  (0) 2016.07.09

힌트를 보니 이런 내용이 나온다

용량이 2700인 파일을 검색해본 결과


/etc/rc.d/found.txt 에 있 level9의 shadow 파일이 있다는 것을 알았다.


  1 : 사용자명 
  2 : 패스워드 
  3 : 패스워드 파일 최종 수정일 
  4 : 패스워드 변경 최소일 
  5 : 패스워드 변경 최대일 
  6 : 패스워드 만료 경고 기간 
  7 : 패스워드 파기 기간 (패스워드 파기 후 계정 비활성 기간) 
  8 : 계정 만료 기간 
  9 : 예약 필드 


이라고 한다. 따라서 2번째 필드에 있는것이 암호부분이고, 이 내용들을 텍스트파일로 저장하여 '존 더 리퍼'로 돌려보았다.




Flag : apple

'IT > FTZ' 카테고리의 다른 글

[FTZ] level10  (0) 2016.07.10
[FTZ] level9  (0) 2016.07.10
[FTZ] level7  (0) 2016.07.10
[FTZ] level6  (0) 2016.07.09
[FTZ] level5  (0) 2016.07.09


힌트를 까보니 이러한 내용이 뜬다.

1. 패스워드는 가까운곳에..

2. 상상력을 총동원하라.

3. 2진수를 10진수로 바꿀 수 있는가?

4. 계산기 설정을 공학용으로 바꾸어라.


저 /bin/level7 을 실행해보니 패스워드를 입력하라고 하였고, 그화면에서 입력하니 아래화면이 나왔다.

힌트에 따라 이 문구를 2진수로 변환 후 10진수로 변환해보기로 했다.


--_--_-  -> 1101101 -> 109

--____-  -> 1100001 -> 97


---_-__  -> 1110100 -> 116


--__-_-  -> 1100101 -> 101



아스키코드 값으로 109 = m , 97 = a , 116 = t, 101 = e 따라서 mate가 된다.



Flag : break the world


'IT > FTZ' 카테고리의 다른 글

[FTZ] level9  (0) 2016.07.10
[FTZ] level8  (0) 2016.07.10
[FTZ] level6  (0) 2016.07.09
[FTZ] level5  (0) 2016.07.09
[FTZ] level4  (0) 2016.07.09


로그인을 하자마자 hint가 출력된다.

 인포샵 bbs의 텔넷 접속 메뉴에서 많이 사용되던 해킹방법이라고 한다.



계속 하면 이런 창이뜨며 접속을 시도해준다.


 인포샵 bbs의 텔넷 접속 메뉴에서 많이 사용되던 해킹방법은 작업을 중지하는 ctrl+c 명령어 이다.

ctrl+c를 하면 level6 쉘화면으로 돌아가게 된다.



Flag : come together


'IT > FTZ' 카테고리의 다른 글

[FTZ] level8  (0) 2016.07.10
[FTZ] level7  (0) 2016.07.10
[FTZ] level5  (0) 2016.07.09
[FTZ] level4  (0) 2016.07.09
[FTZ] level3  (0) 2016.05.20


힌트를 보니 /usr/bin/level5 프로그램은 /tmp 디렉토리에 level5.tmp 라는 이름의 임시파일을 생성한다고 한다.

먼저 저 경로로 가서 실행을 해보았지만, 아무것도 생성되지 않았다.


따라서 먼저 level5.tmp 라는 파일을 만들고 덮어씌우는 형식으로 해야할 것 같아서

touch level5.tmp로 파일을 만들고 실행해보았더니 플래그값이 나왔다.


Flag : what the hell

'IT > FTZ' 카테고리의 다른 글

[FTZ] level7  (0) 2016.07.10
[FTZ] level6  (0) 2016.07.09
[FTZ] level4  (0) 2016.07.09
[FTZ] level3  (0) 2016.05.20
[FTZ] level2  (0) 2016.05.20




먼저 힌트를 까보면 누군가가 /etc/xinetd.d에 백도어를 심어놓았다고 한다.


그래서 그 위치로 가보니 backdoor라는 파일이 하나 있었다.







열어보니 service finger 라는 것이 있었는데 


이것은  어떠한 서비스를 하기위한 initd 데몬이다.


자세히 보면 실행하는 유저가 level5 이고, 


실행경로는 /home/level4/tmp/backdoor 라고 한다.

그래서 저 경로로 가보았지만 아무것도 없었다.


따라서 실행될 프로그램을 직접 만들어 줘야한다.




이렇게 패스워드를 보여주는 프로그램을 짰다.


그리고 finger 서비스를 이용하여 level 5의 패스워드를 알아낼수 있다.



Flag : what is your name?

'IT > FTZ' 카테고리의 다른 글

[FTZ] level6  (0) 2016.07.09
[FTZ] level5  (0) 2016.07.09
[FTZ] level3  (0) 2016.05.20
[FTZ] level2  (0) 2016.05.20
[FTZ] Level 1  (0) 2016.05.20


hint를 까보면 이런식으로 뜬다.


more hints

- 동시에 여러 명령어를 사용하려면?

; 로 명령어를 끊어 줄수 있다.

- 문자열 형태로 명령어를 전달하려면?

""로 묶어 주면된다.




먼저 find 명령어를 사용해서 찾아보면, /bin/autodig 가 검색된다.


실행 시켜보니 Usage가 뜬다.


저 방식대로 실행해야 하고, 위의 hint를 보았을때 먼저 쉘을 따고, my-pass를 입력하는 순서로 해야한다.

./autodig /bin/bash;my-pass


이고, 문자열 형태로 명령어를 전달하기 위해 "" 로 묶어준다.


./autodig "/bin/bash;my-pass"


명령어를 입력하면, level4의 패스워드가 뜬다.




Flag : suck my brain

'IT > FTZ' 카테고리의 다른 글

[FTZ] level6  (0) 2016.07.09
[FTZ] level5  (0) 2016.07.09
[FTZ] level4  (0) 2016.07.09
[FTZ] level2  (0) 2016.05.20
[FTZ] Level 1  (0) 2016.05.20


hint를 확인해보면

" 텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데... " 라고 나온다.



id 명령어로 level3의 uid를 얻고, find 명령어로 찾아본다.

/usr/bin/editor을 실행해보면,



편집기에서 쉘을 불러오기 위해서는 여러가지 방법이 있는데,


그중에서 !bash 로 불러오는 방법을 사용하면,




level3의 쉘을 얻게 된다.


my-pass 명령어로 level3의 패스워드를 구한다.




Flag : can you fly?

'IT > FTZ' 카테고리의 다른 글

[FTZ] level6  (0) 2016.07.09
[FTZ] level5  (0) 2016.07.09
[FTZ] level4  (0) 2016.07.09
[FTZ] level3  (0) 2016.05.20
[FTZ] Level 1  (0) 2016.05.20


힌트를 열어보면 " level2 권한에 setuid가 걸린 파일을 찾는다. " 라고 쓰여있다.



먼저 level2의 uid를 알아내고



find 명령어를 이용해서 3002 uid를 가지고 있는 파일을 검색한다.


검색을 해보니 /bin/ExecuteMe 이 나온다.


저 경로로 들어가서 실행시켜보면, 




my-pass와 chmod를 제외한 명령어를 level2 권한으로 실행시켜준다고 한다.


쉘을 얻기 위해서 /bin/bash를 입력해서 level2의 쉘을 딴다.






my-pass로 패스워드를 구한다.


Flag : hacker or cracker


'IT > FTZ' 카테고리의 다른 글

[FTZ] level6  (0) 2016.07.09
[FTZ] level5  (0) 2016.07.09
[FTZ] level4  (0) 2016.07.09
[FTZ] level3  (0) 2016.05.20
[FTZ] level2  (0) 2016.05.20

+ Recent posts