2020. 10. 23. 23:51ㆍFTZ
[ Level 4 ]
level 4 로그인
ID : level4
PW : suck my brain
힌트에 나온 /etc/xinetd.d/ 로 이동
힌트에서 봤던 대로 backdoor 파일을 확인
service 가 finger 인 것과 user가 level5인 것을 알 수 있다.
또한 server에 적힌 경로로 서비스를 실행할 수 있다는 사실도 알 수 있다.
그렇다면 /home/level4/tmp/ 로 이동
/home/level4/tmp/ 디렉터리로 이동 후, ls -la 명령어를 통해 디렉터리 내의 파일을 확인한다.
위 사진처럼 아무런 파일이 없다는 것을 확인.
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 권한으로 실행하게 된다.
[ 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 |