[FTZ] Level 4

2020. 10. 23. 23:51FTZ

[ Level 4 ]

level 4 로그인

ID : level4

PW : suck my brain

 


level4 로그인
힌트 확인!

힌트에 나온 /etc/xinetd.d/ 로 이동

/etc/xinetd.d 로 이동
ls -la 현재 디렉토리의 파일과 디렉토리 확인

힌트에서 봤던 대로 backdoor 파일을 확인

 

service 가 finger 인 것과 user가 level5인 것을 알 수 있다.

또한 server에 적힌 경로로 서비스를 실행할 수 있다는 사실도 알 수 있다.

그렇다면 /home/level4/tmp/ 로 이동

/home/level4/tmp/ 로 이동 & ls -la 명령어 입력

/home/level4/tmp/ 디렉터리로 이동 후, ls -la 명령어를 통해 디렉터리 내의 파일을 확인한다.

위 사진처럼 아무런 파일이 없다는 것을 확인.

vi 편집기로 backdoor.c 파일을 만든다.

C언어 시스템 함수로 my-pass를 실행할 수 있도록 코딩한다.

 

※ 시스템 함수란?

함수의 인수로 실행시킬 프로세스의 이름(혹은 명령어)의 이름을 받아 그 프로세스를 호출하는 함수이다.

( unistd.h 헤더파일을 꼭 불러주어야하며, system("[원하는명령어 or 프로세스이름"]); 처럼 사용할 수 있다. )

이후 gcc 명령어를 통해 backdoor.c의 실행파일을 만들어 준다.

 

※ gcc 란?

gcc GNU Compiler Collection의 약자이며,

CNU에서 개발된 ANSI C 표준을 따르는 C언어 컴파일러이다.

gcc -o는 실행파일의 이름 지정하는 옵션이다.

( gcc -o [실행파일이름] [소스파일이름] 처럼 사용할 수 있다. )

이후 아까 보았던 backdoor의 service인 finger를 실행시킨다.

 

finger @localhost를 입력하면, 백도어가 실행되고,

backdoor.c에서 코딩했던 시스템 함수로 my-pass 명령어를

level5 권한으로 실행하게 된다.

level5의 Password를 알아내었다.


[ Level 4 Clear ]

'FTZ' 카테고리의 다른 글

[FTZ] Level 6  (0) 2021.01.05
[FTZ] Level 5  (0) 2020.10.27
[FTZ] Level 3  (0) 2020.09.30
[FTZ] Level 2  (0) 2020.09.28
[FTZ] Level 1  (0) 2020.09.23