환경: 개인이 ftz 서버를 직접 구축
id : level4
password : suck my brain
먼저 level4로 로그인 해준 다음에 홈디렉터리를 살펴보았다.
저기 hint가 대놓고 보인다.
안의 내용을 확인해봐야겠다.
누군가 /etc/xinetd.d/에 백도어를 심어놓았다고 한다.
백도어란 시스템에 무단 접근하기 위한 일종의 비상구라고 한다. 보안이 제거된 비밀통로이다.
xinetd.d는 데몬을 관리하는 데몬이라고 한다..
/etc/xinetd.d/로 이동해서 디렉터리를 한 번 살펴보았다.
저기 backdoor 파일이 보인다.
저 파일이 무슨 타입인지 한번 보고, 파일을 열어볼 수 있으면 열어보도록 하겠다.
backdoor은 아스키 텍스트로 이루어진 파일이었다.
그래서 열어보았다.
구글링을 통해 finger 서비스를 사용하면 /home/level4/tmp/backdoor 프로그램이 level5권한으로 수행된다는 것을 알았다.
setuid... 굳
/home/level4/tmp/에 backdoor 프로그램이 있는지 보러 가야겠다.
$ cd /home/level4/tmp/
확인해본 결과 backdoor프로그램은 없었다.
그래서 내가 직접 만들어 주기로 했다.
level5의 권한으로 backdoor프로그램이 수행된다고 했으니까 안에 패스워드를 알아내는 코드를 넣어줘야겠다.
vi 에디터로도 코드를 적을 수 있지만, 나는 그냥 cat으로 바로 입력을 했다.
입력 후 backdoor.c가 있는 것을 확인했다.
이제 컴파일을 해보자..
gcc를 이용하여 컴파일을 해주었다.
이제 finger 명령어를 이용하면 된다!
finger는 외부 서버의 유저들의 정보도 가져올 수 있는 기능이 있는데, finger [user]@[host] 명령어를 사용하면 된다고 한다.
바로 level5의 패스워드를 알려주었다.
'WAR GAME > FTZ' 카테고리의 다른 글
[FTZ] level6 풀이 (0) | 2020.03.12 |
---|---|
[FTZ] level5 풀이 (0) | 2020.03.12 |
[FTZ] level3 풀이 (0) | 2019.12.01 |
[FTZ] level2 풀이 (0) | 2019.09.08 |
[FTZ] level1 풀이 (0) | 2019.09.07 |