분류 전체보기
-
[F.T.Z] Level 8Wargame/F.T.Z 2022. 9. 21. 21:25
Level 8을 풀어보자. Level 8에 접속을 하고 힌트를 보면 Level 9의 shadow 파일의 위치를 찾아야 한다. 그나마 용량이 2700이라는 힌트가 있으니, 그걸 토대로 파일을 찾아보자. 그런데, 그 파일의 용량이 어떤 단위인지 모른다.. 단위를 하나하나 다 넣어보는 방법밖에 없겠다. 이렇게 파일을 찾은 결과로는 총 7개가 나타난다. 파일들을 하나하나 읽어보니, 그 중 /etc/rc.d/found.txt 파일이 Level 9의 shadow 파일이라는 것을 알 수 있었다. shadow 파일을 읽어 비밀번호를 알아내기 위해 John-the-Ripper 툴을 사용해보도록 하자. 우선 아래의 URL에 들어가 John-the-Ripper의 tar.gz 파일의 링크 주소를 복사한다. https://ww..
-
[F.T.Z] Level 7Wargame/F.T.Z 2022. 9. 21. 00:37
Level 7을 풀어보자. Level 7은 시작이 앞의 것들과 같다. hint 파일을 읽으면 실행해야 하는 파일과, 해야할 행동, 그리고 힌트들이 나타난다. hint에서 나온 파일을 실행해보자. 비밀번호를 입력하라고 하니 일단은 아무거나 입력을 했다. 그랬더니 /bin/wrong.txt 라는 파일이 없다는 말과 함께 종료됐다. 사실 이 문제는 오류가 있다. (그것도 모르고 날아간 내 시간..) 도저히 답이 나오지 않아 Level 7을 검색했는데 오류에 대한 이야기가 나왔다. (다행히 답은 따로 게시해 주셨다.) 비밀번호를 입력했을 때 나오던 저 파일을 만들고, '--_--_- --____- ---_-__ --__-_-' 이 내용을 추가하면 된다. 그 후 비밀번호를 입력하면 아래 사진처럼 출력된다. 이제 ..
-
[F.T.Z] Level 6Wargame/F.T.Z 2022. 9. 21. 00:21
Level 6을 풀어보자. Level 6은 접속을 하자마자 친절하게도(?) 힌트가 뜬다. 인포샵 bbs가 뭐지..??라는 생각과 함께 일단 다른 것이 있는지 확인하기 위해 엔터키를 입력했다. 그런데 화면이 전환되며, 텔넷 접속 서비스라는 타이틀과 함께 3개의 선택지나 나타난다. 언젠가 책에서 예전에 사용했다고만 보았던 것들이 나타났다. 일단은 접속을 시도해보는데, 번호에 상관없이 모든 bbs에 접속을 하면 putty가 종료된다. 3번의 강제 종료 후 어떻게 해결을 해야할 지를 생각했다. (생각이 늦다.) 접속을 하고, 힌트가 나타난 후 프로그램이 실행되기 전에 Ctrl+C를 눌러보았다. 그랬더니 다른 Level에 접속을 했던 것처럼 정상적인 프롬프트가 나타났다. 디렉터리의 파일들을 확인해보니 passwo..
-
[F.T.Z] Level 5Wargame/F.T.Z 2022. 9. 18. 11:18
Level 5를 풀어보자. Level 5의 hint를 읽어보면 임시파일을 이용해 권한을 획득하라고 한다. 우선 hint에서 언급한 파일을 확인해본다. 파일을 실행하면 /tmp에 임시파일이 생성된다고 하니 실행을 해보자. 그 다음 /tmp 디렉터리를 확인했지만, 생성된 파일이 없다.. 어떻게 해결해야 되는지를 확인해보기 위해 파일 확인을 더 해보았지만, 답이 없다. cat은 물론이고, vi도 되지 않고 gdb도 마찬가지다. 그래서 링크를 이용하기 위해 pass.txt 파일을 만들고 프로그램을 실행하면 생성된다는 level5.tmp 파일과 연결했다. 그 후 프로그램을 다시 실행시키니 파일의 크기가 변한 것을 확인할 수 있었다. 만들었던 pass.txt 파일을 읽어보니 비밀번호가 나타났다. 문제풀이 후 분석이..
-
[F.T.Z] Level 4Wargame/F.T.Z 2022. 9. 18. 09:59
Level 4를 풀어보자. Level 4의 hint를 읽어보면 백도어가 심어져 있다는 설명이 나타난다. /etc/xinetd.d 디렉터리에 어떤 파일들이 있는지 확인을 해보니 backdoor라는 파일이 있다. 해당 파일에 대해 알아보기 위해 읽어보도록 하자. backdoor 파일을 분석해보는 것이 우선 과제인 듯하다. service finger를 보니, 이 파일은 finger로 xinetd 설정을 하고 있다는 것을 알 수 있다. disable = no이기 때문에 서비스를 하고 있다. flags = REUSE는 서비스 포트가 사용중일 때, 해당 포트의 재사용을 허가한다. socket_type = stream은 TCP일 경우 사용한다는 정도로 알면 된다. (UDP일 경우 dgram) wait = no는 다중..
-
[F.T.Z] Level 3Wargame/F.T.Z 2022. 9. 18. 08:34
Level 3을 풀어보자. 이번 문제를 풀기 위해서는 c언어로 작성된 코드를 해석할 수 있어야 한다. Level 3의 hint 파일을 살펴보면 소스 코드가 나타난다. 그리고 소스 코드의 하단에 이것을 이용해 문제를 해결할 때 도움이 될 more hints가 두 개 있다. hint 파일을 해석하면 우선 char 형으로 선언된 cmd에 100의 공간을 부여한다. argc가 2가 아니라면 if 문을 수행하여 printf의 두 줄을 출력하고 실행을 종료한다. argc가 2라면 strcpy로 "dig @"를 cmd에 복사한다. 그 후 strcat으로 argv[1]의 문자열을 cmd에 이어 붙인다. 또 " version.bind chaos txt" 문자열을 cmd에 이어 붙인다. 마지막으로 cmd 배열의 내용들을 ..
-
[F.T.Z] Level 2Wargame/F.T.Z 2022. 9. 18. 08:10
Level 2를 풀어보자. Level 2에 접속을 하여 hint 파일을 확인하면 텍스트 파일 편집 중 쉘의 명령을 실행할 수 있다고 나타난다. 텍스트 파일 편집을 위해 hint 파일에 대한 vi 명령어를 실행한다. putty를 접속할 때 따로 설정을 하지 않아 한글이 깨져 있다. vi 에디터 편집기에서 바로 명령어를 실행하기 위해서는 ![명령어]를 입력하면 된다. 우선 !cat hint 로 힌트 파일을 다시 한 번 읽는 명령어를 내려보자. vi 에디터에서 내린 명령이 실행되는 것을 확인할 수 있다. Level 1을 해결했을 때처럼 Level 3이 소유자고, setuid가 설정된 파일을 찾기 위해 find 명령어를 실행했다. 하나의 파일이 나타났고, 이를 실행해보았다. 구글링을 해보니 원래 이 파일은 에디..
-
[F.T.Z] Level 1Wargame/F.T.Z 2022. 9. 18. 07:53
F.T.Z 워게임을 시작해보자. Trainer 레벨이 1부터 10까지 있지만, Bandit을 먼저 완료했으므로 본 워게임에 바로 들어가도록 하자. Level 1에 접속을 하고 디렉터리를 살펴보면 hint 파일이 있다. find 명령어로 소유자가 Level 2이며, setuid 권한을 가진 파일을 찾아본다. /bin/ExecuteMe라는 이름의 파일이 하나 검색된다. 파일을 실행하면 아래와 같은 문구가 나타난다. 비밀번호를 알려주는 my-pass 명령어나 권한을 변경하는 chmod 명령어는 제외하고 명령을 실행해준다. 쉬운 길이 있지만 역시 돌아가게 만든다. 일시적으로 Level 2의 권한으로 명령어를 실행하는 것이기 때문에 level2의 셸에 머물도록 하자. bash 명령어(sh도 가능)로 Level 2..