profile image

L o a d i n g . . .

hint를 확인한 결과입니다.

 

/etc/xinetd.d/ 파일들 : xinetd 기반 서비스들의 개별 설정 파일들

더보기

/etc/xinetd.d/ 디렉터리는 xinetd 데몬이 참조하는 서비스 설정 파일들이 존재한다.

유닉스 계열에서는 데몬이란 시스템의 기능을 제공하거나 백그라운드에서 항시 실행되는 프로그램으로 뜻합니다. 예를 들어 telnet, http, sendmail 등을 데몬이라 할 수 있습니다.

 

이때 데몬의 실행 방식은 크게 stand_alone 방식과 xinetd 방식이 있습니다.

 

stand_alone 방식은 데몬이 시작되면 말 그대로 자기 스스로 시스템에서 상주하며 클라이언트 요청에 응답을 보내주는 방식으로, 항상 메모리에 상주해 있다는 것이 특징입니다.

 

ineted 방식은 스스로 독립적으로 시스템에 실행되는게 아니라 xinetd라는 슈퍼데몬이 시스템에 대해 대기하고 있다가 클라이언트 요청이 들어오면 xinted데몬에 의해 해당 서비스를 제공해줄 데몬을 실행시키는 방식입니다. 즉, 슈퍼 데몬이 해당 데몬을 불러오는 역할을 합니다.

 

ls -al 명령어를 통해 /etc/xinetd.d/에 backdoor 파일을 확인합니다.

 

backdoor 파일은 읽기만 가능해 cat 명령어를 통해 파일 내용을 읽어봅니다.

분석해보면, 서비스 이름은 finger이고 서비스에 대한 각 속성들이 정의되어 있습니다.

 

여기서 중요한 속성은 user 속성server 속성입니다. user 속성은 해당 서비스를 어떤 사용자의 권한으로 서비스할 것인지를 결정하고, sever 속성은 서비스 파일의 절대 경로를 지정합니다.

 

따라서 finger 서비스는 서비스를 실행하는 권한이 Level 5 권한이기 때문에 /home/level4/tmp/backdoor 파일을 Level 5의 권한으로 실행할 것입니다.

 

 

그런데 /home/level4/tmp/backdoor을 실행해보니 파일이 존재하지 않다고 뜹니다.

 

따라서 직접 level 5의 my-pass를 알려주는 backdoor를 C 파일로 생성합니다.

 

생성한 C파일을 컴파일 해줍니다.

gcc -o backdoor backdoor.c

 

finger 명령어 @localhost 를 실행해주면, finger 서비스가 실행되면서 level 5의 권한으로 backdoor 파일을 실행되어 level 5의 password가 나옵니다.

level5의 패스워드는 "what is your name?"

 

 

※ 참고 : finger 명령어란?

더보기

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

※ 사용법

finger [옵션]... [사용자명 ...] [user@host ...]

user와 host에 맞춰서 입력해주면 backdoor가 실행이 됩니다.

'Wargame > Hackerschool FTZ' 카테고리의 다른 글

[FTZ] 해커스쿨 FTZ level 6  (0) 2021.03.23
[FTZ] 해커스쿨 FTZ level 5  (0) 2021.03.23
[FTZ] 해커스쿨 FTZ level 3  (0) 2021.03.23
[FTZ] 해커스쿨 FTZ level 2  (0) 2021.03.23
[FTZ] 해커스쿨 FTZ level 1  (0) 2021.03.23
복사했습니다!