Cha4SEr Security Study

[FTZ-Level4] 풀이 본문

System/FTZ

[FTZ-Level4] 풀이

Cha4SEr 2019. 12. 23. 14:34

ID : level4

PW : suck my brain

 

[그림 1]

 

누군가 /etc/xinetd.d/에 백도어를 심어놓았다고 한다.

 

여기서 백도어란 악의적인 사용자가 시스템의 보안 허점을 응용하여 고의로 만들어진 프로그램을 말한다.

 

또한 Xinetd 는 데몬을 관리하는 데몬 즉, 슈퍼데몬을 말한다.

 

슈퍼데몬이 메모리에 상주 해 있으면서 슈퍼데몬에서 관리하는 데몬이 호출될 경우 그 데몬을 잠깐 올렸다가 

처리가 끝나면 다시 종료시키는 방식이다.

(데몬 : 리눅스 서버에서 네트워크 서비스를 처리하는 프로그램)

 

자 그럼 일단 저 디렉토리에 어떤파일이 있는지 들여다보고 백도어 파일을 보자

 

 

 

[그림 2]

힌트대로 일단 backdoor파일이 있다 내용을 확인할 수 있으니 확인해보쟝

 

[그림 3]

 

service finger라는 것의 내용이 나온다.

finger란 리눅스에서 사용자의 계정 정보를 확인하는 명령어이다. 

여기서 각각의 내용을 살펴보자

 

 

======== finger ======== 

 

sevice finger                                                // 서비스 이름
{
disable             = no                                   // 서비스 사용 유무
flag                 = REUSE                              // 해당 서비스 포트가 사용중인 경우 재사용 허가
socket_type       = stream                             // TCP = stream, UDP = dgram
wait                 = no                                  // stream인 경우 반드시 no 설정
user                = level5                               // 사용자 권한
server              = /home/level4/tmp/backdoor // 실행할 데몬 파일 명
log_on_failure  += USERID                            // 문제 발생 시 유저 아이디를 로그파일에 추가
}

 

 

정리해보면 finger 서비스를 실행시키면 level5의 사용자 권한으로 서비스가 실행되며(user)

/home/level/tmp/backdoor 라는 파일이 실행된다.(server)

 

SetUID와 다른듯 비슷한 느낌인것 같다. 아마 저 backdoor 파일에서  my-pass 를 실행할 수 있으면 

정답이 나오지 않을까? 라는 생각을 할 수 있따.

 

그럼 저 파일이 어떻게 생겼는지, 수정할 수 있는지 확이해보자.

 

 

[그림 4]

잉 파일이 존재하지 않는다. 그러면 직접 만들어보자!

만만한 vi 에디터를 이용해 my-pass 명령을 실행시키는 c언어 코드를 짜보자 정말 간단하다.

 

vi backdoor.c

 

[그림 5]

 

이제 이 파일을 컴파일을 하고 잘 되었는지 확인해보자.

 

[그림 6]

gcc 명령어를 통해 컴파일하고 정상적으로 된것을 확인했다.

그럼 이제 finger 서비스를 실행시키면 저 backdoor 파일이 실행되고 my-pass 명령이 실행되겠징?

한번 해보자

 

시작할때는 finger @lovalhost 라고 입력하면된다.

 

[그림 7]

 

 

 

★ 요약 

 

-  슈퍼데몬 Xinetd와 백도어에 대한 이해

-  server는 서비스 가동 시 실행되는 파일 명 (백도어 파일)

 

 

이로써 Level4를 다 풀었따!

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

[FTZ-Level6] 풀이  (0) 2019.12.28
[FTZ-Level5] 풀이  (1) 2019.12.26
[FTZ-Level3] 풀이  (0) 2019.12.23
[FTZ-Level2] 풀이  (1) 2019.12.22
[FTZ-Level1] 풀이  (0) 2019.12.22
Comments