정보보안/FTZ 20

[FTZ]level9

내용을 보면 버퍼오버플로우에 관한내용이다. buf2에 go가 있으면 level10 권한의 쉘을 준다. test.c파일을 직접 만들어서 gdb로 분석을 해보았다. 코드에 해당 배열의 주소를 출력하게 하고 끝부분에 breakpoint를 걸어서 입력한 값이 어떻게 들어가고 있나 확인을 해보니 위와 같이 나왔다. 0xbfffeb40 : buf주소 0xbfffeb50 : buf2주소 두 배열은 크기는 10이지만 10이상의 숫자를 넣으면 다음 배열까지 영향을 줄 수 있음을 알 수 있다. 따라서 "A"*16 + "go"를 보내면 buf는 A로 가득차고 buf2는 go가 들어가게 될것이다.

정보보안/FTZ 2022.07.21

[FTZ]level8

shadow파일이 서버 어딘가에 있고 용량이 2700이다. 다음 명령어로 크기가 2700인 파일을 찾으려 했지만 나오지 않았다. 검색해보니 c를 붙여야 2700byte로 인식한다고한다. txt를 확인해보니 level9의 비밀번호가 출력되었다. 그리고 검색을 통해 shadow 파일의 각 속성을 알아 볼 수 있었다. 1번은 id이고 2번은 passwd이다 그래서 passwd 를 그대로 입력했는데 답이 아니었다. 검색을 다시 해보니 이는 암호화 되어있는 것이다. 첫번째 $ $는 Identifier로 어떤 암호화 방식을 사용할지 이다. Identifier가 1이면 MD5-crypt 를 사용한 것이고 두번째 $ $는 Salt값을 가지고 압호화를 한 것이라고 한다. 대부분의 사람들이 사용한 John the Ripp..

정보보안/FTZ 2022.07.19

[FTZ]level4

그렇다고 한다. 해당 주소로 가보니 backdoor가 있다. finger service 라는 새로운 내용이 나와서 검색해보았다. 하지만 잘 모르겠어서 다른 write up 을 참고 하게 되었다. finger service 자체는 user의 정보를 출력하는 명령어 인데 다음 내용이 user 의 권한으로 server에 있는 내용을 실행할 수 있게 하는 것이다. 따라서 /home/level4/tmp에 backdoor.c를 위와 같이 작성하고 backdoor로 컴파일을 해주고 finger의 사용법대로 실행해주니 Password를 출력했다.

정보보안/FTZ 2022.07.17

[FTZ]level3

level 3의 hint를 보면 autodig에 대해서 보여준다. argc, argv는 프로그램에 넘겨주는 인자로 argc는 넘기는 정보의 개수 argv는 넘겨주는 문자열 배열을 의미한다. argv[0]은 항상 실행 경로이다. 코드를 보면 입력받은 값을 dig@"asdf" version.bind chaos txt 형태로 system으로 넘기는것 같다. autodig 라는 프로그램이 있는것을 알았으니 위치를 찾아보았다. 실행을 하니 autodig의 Usage를 출력하고 있다. /bin/autodig host 형태로 사용하는 것이다. 위의 힌트중 - 동시에 여러 명령어를 사용하려면? ;를 이용한다. ex) ls -al;id; - 문자열 형태로 명령어를 보내주려면 ""를 이용한다. 위 둘을 이용하여 /bin/..

정보보안/FTZ 2022.07.14

[FTZ]level2

전 문제는 혼자힘으로 검색과 함께 해낸것 같지만 여기서 부턴 아직 힘들 것 같다. 이게 무슨 소리일까 싶었다. 검색을 해보니 txt파일을 만들고 :!ls -al 를 vim에서 사용하니 위와 같이 실행되는 것을 알 수 있었다. 그 후 level 1처럼 level3의 권한을 가지고 있는 파일을 찾아보면 /usr/bin/editor 라고 한다. 2 > /dev/null은 에러를 없애갰다는 것이다. 직접 실행해보면 vim이 나온다. 아마 level3 의 vim 실행파일 이라고 생각한다. :!my-pass를 입력하면 답이 나온다.

정보보안/FTZ 2022.07.14

[FTZ] Level1

FTZ를 공부해 보려고 한다. level1/ level1 입력 level2 권한을 가지고 setuid걸린 파일을 찾으라고 한다. 이 폴더 안에 있는건 줄알고 각 파일들 폴더들 뒤져보았지만 없었다. 그래서 전체 검색으로 찾아보았다. find / -user level2 -perm -4000 user권한이 level2 이면서 검색을 해보니 setuid가 특수권한 숫자가 4000이라고 하여 다음과 같이 명령어를 입력하면 level1의 권한을 가진 파일 하나가 보인다. /bin/ExecuteMe /bin/bash를 실행한후 my-pass를 실행하면 답을 얻을 수 있다.

정보보안/FTZ 2022.07.14