level4의 힌트이다. /etc/xinetd.d/에 백도어가 있다고 한다.
ls로 찾아보니 가장 위에 backdoor이라는 파일이 있다.
cat으로 내용을 확인해 보니 잘은 모르겠지만
service finger
user level5
server /home/level4/tmp/backdoor
이 보인다.
대충 finger이라는 서비스를 이용하고 유저는 level5이며 /home/level4/tmp/backdoor을 서버로 설정한것으로 보인다.
현재 pwd가 /home/level4이므로 tmp로 cd하고, backdoor이라는 실행파일을 만들기 위해 code.c를 생성하였다.
처음에 코드를 이렇게 짜고
gcc -o backdoor code.c를 하였다.
그리고 finger을 실행하니
접속해있는 사람들만 뜬다.
finger의 사용법을 보려고 해도
finger 의 usage는 finger [-lmps] [login ...]뿐이다.
구글링한 결과 finger에 host를 정해줄 수도 있다고 한다.
finger @localhost를 실행하면
결과가 나온다.
PS. 사실 finger @localhost를 사용해도 비밀번호가 나오지 않았다. 그런데 저 위에 사용자목록에 level3가 없어지지 않길래 한번 시스템을 재부팅했더니 같은 명령어로 정답이 나왔다. 정답을 얻은 뒤에 똑같은 명령어를 다시 실행해 보았는데 또 출력되지 않는다. finger서비스를 한번 실행하면 그 다음부터는 백도어가 실행되지 않는건지 모르겠다.... ㅠㅠ