level4 를 풀어보자.
슬슬 다들 처음 과정은 익숙할 것이다.
어떤 파일이 있는지 알아보고, 힌트를 출력한다.
누군가 /etc/xinetd.d/ 에 백도어를 심어놓았다고 한다.
해당 경로로 이동해 확인해 본다.
cat 명령어를 사용해 backdoor를 보자.
finger 서비스를 이용해 level5의 권한으로 /home/level4/tmp/backdoor 를 실행시킬 것 같다.
그렇다면 /home/level4/tmp/backdoor 파일이 있는지, 어떤 파일인지 확인해보자.
그렇다면 우리가 backdoor 파일을 만들어야 할 것 같다.
vi 편집기를 이용해 암호를 알아 낼 수 있는 backdoor.c 를 만든다.
위와 같이 system과 my-pass를 활용해 암호를 알아낼 코드를 짠다.
i 를 눌러 삽입모드로 코드를 작성하고 esc를 누르고 명령모드로 :wq 를 입력하면 된다.
backdoor.c 라는 파일이 생겼으니 gcc 명령어를 이용해 backdoor 라는 이름으로 컴파일한다.
자 이제 처음에 주어진 finger 서비스를 사용하면 끝!
level5 암호 : what is your name?
-----------------------------------------------------------------------------------------------------------------------------------
# finger 명령어는 리눅스 체계에서 계정 정보를 확인하는 명령어이다.
-s : 사용자의 로그온 이름, 실제이름, 터미널 이름, 로그온 시간 등을 보여준다.
-l : -s 옵션 정보에 몇 가지를 추가하여, 여러 줄에 걸쳐서 보여준다.
-p : -l 옵션 정보에서 .plan과 .project 파일을 보이지 않는다.
옵션이 주어지지 않으면, 기본적으로 -l 옵션을 사용한 것으로 간주된다.
-----------------------------------------------------------------------------------------------------------------------------------
'[Pwnable] 해커스쿨 FTZ' 카테고리의 다른 글
[해커스쿨 FTZ] Level6 (0) | 2020.03.02 |
---|---|
[해커스쿨 FTZ] level5 (0) | 2020.03.02 |
[해커스쿨 FTZ] Level3 (0) | 2020.02.29 |
[해커스쿨 FTZ] level2 (0) | 2020.02.18 |
[해커스쿨 FTZ] Level 1 (0) | 2020.02.18 |