힌트다


누군가 /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 가 실행된다.



얄루 나왔다!

'pwnable > FTZ' 카테고리의 다른 글

level6  (0) 2016.08.03
level5  (0) 2016.08.03
level3  (0) 2016.08.03
level2  (0) 2016.08.03
level1  (0) 2016.08.02

+ Recent posts