System/FTZ2017. 5. 20. 00:01

▲level3의 hint를 읽은 결과. 보기쉽게 밑에 다시썼다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//다음 코드는 autodig의 소스이다.
 
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
 
int main(int argc, char **argv){
 
    char cmd[100];
 
    if( argc!=2 ){
        printf"Auto Digger Version 0.9\n" );
        printf"Usage : %s host\n", argv[0] );
        exit(0);
    }
 
    strcpy( cmd, "dig @" );
    strcat( cmd, argv[1] );
    strcat( cmd, " version.bind chaos txt");
 
    system( cmd );
 
}
 
//이를 이용하여 level4의 권한을 얻어라.
 
//more hints.
//- 동시에 여러 명령어를 사용하려면?
//- 문자열 형태로 명령어를 전달하려면?
 
cs

▲소스코드를 보자면 인자값을 받아 dig @+인자값+ version.bind choas txt를 system함수로 실행시킨다.

즉, 인자값 부분에 쉘을 실행시키는 명령어가 들어가야 할 것으로 보여진다.
힌트를 보자면 동시에 여러 명령어를 사용하려면? 이 있는데 방법은 세미콜론(;)을 사용한다.

문자열 형태로 명령어를 전달하려면? 대표적인 방법으로 perl 스크립트가 있다.


▲일단 find 명령어로 autodig파일을 찾아내었다.


▲익스플로잇을 위해 perl 스크립트를 사용하였다.

간단하게 보자면 perl로 ;/bin/sh;라는 명령을 문자열로 인자값에 보냈다. ;은 명령어를

끝마칠 때 쓰는 것이므로 컴퓨터는

/bin/autodig ;/bin/sh; version.bind choas txt 로 알아듣게 된다.

즉 세개의 부분이 별개로 작용되어 /bin/sh명령이 실행되고 level4의 권한을 얻어 my-pass로

패스워드를 알아낼 수 있다.


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

[FTZ school] level 6  (0) 2017.05.20
[FTZ school] level 5  (0) 2017.05.20
[FTZ school] level 4  (0) 2017.05.20
[FTZ school] level 2  (0) 2017.05.19
[FTZ School] level 1  (0) 2017.05.19
Posted by BadSchool
System/FTZ2017. 5. 19. 21:48

▲level2에 진입하여 la -al을 입력하고 cat으로 hint를 보았다.

텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다고 한다.. 흠...

일단 level3의 쉘을 실행시키는 듯 하니 level1과 같이 level3의 권한을 가지고 있는 파일을 찾아보자


▲전과 같은 명령어를 입력하자 /usr/bin/editor이라는 경로가 나타났다.


▲실행시켜 보았더니 VIM이 켜졌다. VIM에는 특별한 기능이 있는데 바로 쉘을 실행시킬수 있는 기능이 있다.


▲콜론(:)을 누르고 !/bin/sh 로 쉘 실행 명령을 입력한 후 엔터를 쳐 주자


▲보이는 것과 같이 level3의 쉘이 한번 실행되었으며 my-pass를 입력하여 다음 패스워드를 알 수 있었다



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

[FTZ school] level 6  (0) 2017.05.20
[FTZ school] level 5  (0) 2017.05.20
[FTZ school] level 4  (0) 2017.05.20
[FTZ school] level 3  (0) 2017.05.20
[FTZ School] level 1  (0) 2017.05.19
Posted by BadSchool
System/FTZ2017. 5. 19. 20:38

주소 : ftz.hackerschool.org

포트 : 23

설정 : Telnet


▲xshell 로 처음 접속한 화면. 트레이닝과 레벨1중 하나를 진행할 수 있다.

나는 레벨1을 진행하였다.



▲들어가서 ls -al을 해보았다.

hint파일을 cat명령어로 읽어보니 level2권한의 setuid가 걸린 파일을 찾는 레벨이다.


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

명령어를 이용하여 찾아보았다.

설명해보자면, find 명령어로 level2유저의 setuid파일을 찾아보고 오류가 나는 값은 /dev/null(휴지통)으로 보내기 이다.

/bin/ExcuteMe라는 값이 한개 나왔다. 실행해보자.


▲my-pass와 chmod를 제외한 명령어를 하나 들어준다고 한다.

가볍게 sh를 실행해주자



▲그 후 my-pass 를 입력하면 간단하게 답이 나온다.



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

[FTZ school] level 6  (0) 2017.05.20
[FTZ school] level 5  (0) 2017.05.20
[FTZ school] level 4  (0) 2017.05.20
[FTZ school] level 3  (0) 2017.05.20
[FTZ school] level 2  (0) 2017.05.19
Posted by BadSchool