Securing Keys

[FTZ] Level 4: xinetd.d 내 서비스를 이용한 백도어 본문

IT/Linux

[FTZ] Level 4: xinetd.d 내 서비스를 이용한 백도어

GRACE_MJ 2020. 8. 30. 16:29

 

 

 

이번에도 역시 level4로 로그인 하자마자 홈 디렉터리를 확인했다

이번 힌트는 /etc/xinetd.d/에 백도어가 존재한다는 힌트였고,

실제로 확인해보니, GID가 level4인 backdoor 파일이 존재하였다

 

/etc/xinetd.d 내에 있는 백도어라면

로컬이 아닌 다른 네트워크를 이용하는 서비스 포트와 관련되어

원격에서도 사용이 가능할 백도어일 것이다

 

 

 

 

 

소스코드를 확인해보니 위와 같았다

 

finger라는 서비스를 이용하는데

(disable = no) 이 서비스는 활성화되어 있고

(flags = REUSE) flag는 재사용하며

(socket_type = stream) 스트림 기반 데이터 전송을 하고

(wait = no) xinetd는 연결이 된 경우에 서비스 요청을 받으며

(user = level5) 실행중인 서비스의 사용자는 level5로 선택하고

(server = /home/level5/tmp/backdoor) /home/level4/tmp/backdoor 파일이 실행된다

 

 

 

 

 

따라서 /home/level4/tmp/backdoor 파일을 확인해보았다

위와 같이 파일이 존재하지 않는다

그렇다면 직접 이 파일을 만들어준다면 어떨까?

 

 

 

 

 

vim을 통해 my-pass 명령어를 실행해주는 간단한 소스코드를 짜보았다

 

 

 

그 상태로 finger 서비스를 실행하면 level5의 패스워드를 얻어낼 수 있다

 

 

 

 

 

 

그런데 이 backdoor.c 소스코드를

system("/bin/bash");로 변경하면

명령어가 입력은 되지만 결과가 출력은 되지 않는 것을 확인할 수 있다

 

nc를 이용해서 접속하면 쉘이 실행되는 것을 확인 가능하다

 

하지만 ftz.hackerschool.org 서버에서는 nc와 같은 원격 접속 프로그램을 지원하지 않으므로

자신의 PC에서 원격으로 접속하면 확인 가능하다

Comments