시스템/시스템 보안

[문제 풀이로 배우는 시스템 해킹 테크닉] level4. xinted 백도어

비니화이팅 2017. 12. 3. 01:13

* 로컬 백도어 : 로컬 시스템을 통해 백도어를 이용

* 원격 백도어 : 네트워크를 통한 원격으로 백도어를 이용


hint파일을 열어 힌트를 얻어본다.


아래와 같은 힌트를 얻을 수 있다.


/etc/xinted.d에 백도어가 있다는 뜻이므로 해당 디렉터리의 내용을 살펴본다.

backdoor라는 서비스가 눈에 띈다.


backdoor 서비스의 설정을 확인해 본다.

 설정 항목별 의미

 service finger

 서비스의 이름

 /etc/services 파일에 있는 서비스명으로 선택하는 것을 권장

 disable = no

 데몬을 비활성화하지 않음

 flags = REUSE 

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

 socket_type = stream 

 TCP/IP프로토콜을 선택

 wait = no 

 이미 서비스가 연결된 상태에서 다른 요청이 오면 바로 응답함

 (동시에 다수의 접속이 가능) 

 user = level5 

 해당 데몬이 level5계정의 권한으로 실행

 server = /home/level4/tmp/backdoor 

 finger서비스를 이용해 실행될 데몬 파일

 log_on_failure += USERID 

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

level5계정의 권한으로 finger라는 서비스를 이용해 /home/level4/tmp/backdoor파일이 실행된다.


그러나 /etc/level4/tmp/backdoor 파일이 존재하지 않는다.

즉 backdoor 서비스의 실행될 실행 파일이 설정돼 있지 않은 상태이기 때문에 목적에 맞는 명령어를 실행할 수 있는 프로그램을 /etc/level4/tmp/backdoor라는 파일로 만들어야 한다.


my-pass명령어를 실행할 수 있도록 소스코드를 작성한다.


finger 서비스 포트에 접속하면 level5권한으로 my-pass 명령이 실행된다.