티스토리 뷰

LEVEL4에 hint는 "누군가 /etc/xinetd.d/에 백도어를 심었다"라고 나옵니다.


문제를 풀기 전에 일단, xinetd 데몬의 설정 구조를 알아봅시다.

cat /etc/xinetd.conf를 입력하면 밑의 화면이 나오는데, 하나씩 살펴보면 


instances = 60: xinetd 데몬에 의해 실행되는 네트워크 서비스 데몬의 최대 동시 접속 허용을 위한 데몬의 기동 수치

log_type = SYSLOG authpriv: 시스템 로그를 "보안 및 승인에 관한 메시지 등급"으로 저장

log_on_success = HOST PID: 접속에 성공했을 때 원격호스트 IP와 xinetd PID를 로그에 저장

log_on_failure = HOST: 접속에 실패했을 때 원격호스트 IP를 로그에 저장한다는 의미로, 접속 장애의 원인을 분석할 수 있는 최소한의 근거를 이력으로 남김

cps = 25 30: 동시 접속이 25개가 되면 30초 동안 서비스를 비활성화


문제에 다시 돌아가서 힌트를 다시 한번 보면 /etc/xinetd.d/에 백도어를 심어 놓았다고 돼 있으므로, 해당 디렉터리의 내용을 확인해 보겠습니다. 보시다 시피 이 디렉터리에는 네트워크 서비스 데몬이 모여있습니다. 


cat 명령어로 자세하게 backdoor을 보겠습니다. 

service finger: 서비스의 이름

flags = REUSE: 서비스 포트가 사용 중인 경우 해당 포트의 재사용을 허가

socket_type = stream: TCP/IP 프로토콜을 선택

wait = no: 이미 서비스가 연결된 상태에서 다른 요청이 오면 바로 응답함. 다르게 표현하면 telnet은 동시에 다수의 접속이 가능함.

user  = level5: 해당 데몬이 level5 계정의 권한으로 실행됨

server = /home/level4/tmp/backdoor: xinetd에 의해 실행될 데몬 파일

log_on_failure += USERID: 정상적인 기동에 실패한 경우 USERID를 로그에 기록


위에서 service가 finger라고 나왔으니, finger의 서비스 포트 번호를 알아 내기 위해서 아래의 명령어를 입력하면, '79'라는 tcp와 upd 포트가 나옵니다. 위에서 socket_type이 stream이니, tcp라는 것을 알 수가 있습니다.


ftz.hackerschool.org 서버에 열려 있는 포트를 확인한 결과 79/tcp 포트가 열려 있음을 알 수 있다. 


/etc/xinetd.d/backdoor에서 server가 /home/level4/tmp/backdoor 라는 것을 기억하시나요? 찾아 봤더니 해당 파일을 검색해 보면 파일이 없다. 즉, 데몬을 시작하기 위한 설정 파일이 없으므로 네트워크 백도어가 제대로 구동되지 않는다.


79/tcp 포트에 접속 요청이 있을 때 데몬을 실행하기 위해 아래와 같은 backdoor을 임의로 생성해 주어야 한다. 

아래의 소스는 system 명령어로 id를 입력하는 것을 목표로 하고 있다.


backdoor.c를 gcc로 컴파일해서 backdoor 실행파일을 만든다.(tmp 디렉터리에서 만들어야 합니다)


backdoor도 생성했겠다, 이제 finger 79/tcp 포트로 접속을 해봅니다. id값이 나오네요. 


이제 궁금한 것은 password 이므로 소스코드를 수정합니다. id 뒤에 my-pass를 입력하고 저장 합니다.


깔끔하게 나오네요.


'시스템해킹 > FTZ' 카테고리의 다른 글

FTZ LEVEL6 문제풀이(시스템 인터럽트)  (0) 2015.07.21
FTZ LEVEL5 문제풀이(Race condition)  (0) 2015.07.20
FTZ LEVEL3 문제풀이  (0) 2015.07.15
FTZ LEVEL2 문제풀이  (0) 2015.07.15
FTZ LEVEL1 문제풀이  (0) 2015.07.14
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함