
힌트다
누군가 /etc/xinetd.d/에 백도어를 심어놓았댄다........ 일단 보자

얍얍 있다. 실행파일은 아니고... 텍스트파일 같다 한번 까보자.

와웅 저게 뭐지....... 구글링을 통해 알아보자
service finger //서비스 이름
{
disable = no //xinet의 제어를 받을래?
flags =REUSE
socket_type =stream //사용하는 TCP/IP 소켓
wait =no
user =level5 // 데몬의 uid
server =/home/level4/tmp/backdoor // 서비스가 실행될때 부름
log_on_failure += USERID //
}
대충 이정도이다.
xinetd란 서비스에 접속을 요청할시에 xinetd가 중간에 개입하여 허가된 사용자인지를 검사한다. 허가된 사용자가 맞다면, 해당 서비스를 요청해주는 일종의 검문소역할이라고 생각하면 된다.
자 이제 저 문구를 자세히 보자
서비스가 실행될때 /home/level4/tmp/backdoor 을 실행한다.
우리가 이 backdoor 파일을 조작하여 패스워드를 출력할 수 있지 않을까?
해보자! 먼저 저 경로를 따라간다.

vi를 이용하여 backdoor 파일을 만들어 주자!!!!
C언어 명령어를 이용하여 my-pass 를 실행시킬 수 있도록 만들어 주자.
흠 이제 finger 명령어를 치면 플래그가 나올까?

흠흠흠 잘 되지 않았다.
그 이유는 기본 finger 서비스의 경우 disable 옵션이 yes 라서 외부에서 접속할 경우엔 실행되지 않는다. 하지만 backdoor 서비스는 disable이 no 로 설정이되어있어 외부에서 접속할 경우엔 backdoor 서비스가 실행 된다.
finger 명령어는 외부 서버의 유저들의 정보도 가져올 수 있는 기능이 있는데,
finger [user]@[host] 명령어를 사용하면 된다.
백도어가 실행되어야지만 우리가 원하는 결과를 실행시킬 수 있으므로
finger @localhost 를 하면 우리가 지정한 backdoor 가 실행된다.

얄루 나왔다!