* 로컬 백도어 : 로컬 시스템을 통해 백도어를 이용
* 원격 백도어 : 네트워크를 통한 원격으로 백도어를 이용
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 명령이 실행된다.