level4

 

 먼저 힌트를 확인했다. /etc/xinetd.d/에 백도어를 심어놓았다고 해서 해당 폴더로 이동했다.

 

 xinetd(extended Internet daemon)는 오픈 소스 슈퍼 서버 데몬으로서 많은 유닉스 계열 시스템에서 돌아가며 인터넷 기반 연결을 관리한다. 이것은 오래된 inetd의 대체로서 더 강력한 보안을 제공하며, 대부분의 현대 리눅스 배포판에서는 이것을 사용한다.

 

 폴더의 파일 리스트를 확인하니 백도어가 존재했다. 백도어 파일을 확인해보니 finger 서비스가 등록되어 있었다. 이때 중요하게 볼 것은 user와 server이다. user는 서버 프로세스를 실행할 수 있는 사용자의 아이디를 나타내고, server는 해당 서비스를 실행할 데몬 프로그램의 위치를 나타낸다. 즉 해당 위치에 my-pass 명령어를 실행하는 프로그램을 작성하고, 서비스를 실행하게 되면 level5의 권한으로 my-pass 명령이 실행되게 된다. 

 

 /home/level4/tmp 폴더에 backdoor.c 프로그램을 작성했다. my-pass 명령을 실행하는 간단한 프로그램이다. 

 

 컴파일을 진행하여 backdoor 프로그램을 작성하였다. 

 

 이 다음부터는 구글링을 하여 문제를 풀었다. backdoor 서비스를 실행시키기 위해서는 finger을 구동시켜야 한다고 했다. 참고하여 finger을 실행시키니 password가 출력됐다. 

 

 

 

what is your name?

728x90

'CTF > 시스템' 카테고리의 다른 글

해커스쿨 FTZ level16  (0) 2020.08.20
해커스쿨 FTZ level5  (0) 2020.08.15
해커스쿨 FTZ level3  (0) 2020.08.06
해커스쿨 FTZ level2  (0) 2020.08.01
해커스쿨 FTZ level1  (0) 2020.07.23