id : level4
pw : suck my brain
<나의 풀이 기록>
1.
이번에도 힌트 파일을 찾아 내용확인부터 시작한다.
/etc/xinetd.d/에 백도어를 심어놓았다고 하니 해당 경로로 이동해 확인해보았다.
2.
가장 먼저 눈에 띄는 backdoor파일.
내용을 확인해봤더니 위와 같은 내용이 출력됐다.
자세히 읽어보니 나머지 내용은 모르겠고, user가 level5인것, server가 /home/level4/tmp/backdoor에 존재한다는 것이 실마리인 것 같다. 우선 server위치로 이동해보았다.
3.
그런데 server위치에 backdoor파일이 없었다. 여기서부터 어떻게 해야 할지 몰랐다. 인터넷의 도움을 받아보니 직접 backdoor프로그램을 만드는데, my-pass명령을 실행하는 프로그램을 짜서 비밀번호를 얻어내는 방법인가보다.
4.
c언어로 backdoor파일을 생성하고 my-pass명령을 실행하는 내용을 담는다.
gcc -o backdoor backdoor.c 로 컴파일하고 실행파일을 만든다.
그 후 finger를 이용해 실행하는데 비밀번호가 출력되지 않았다. 다들 이렇게 하던데 나는 비밀번호만 나오지 않았다.
왜이러는겨...
하지만 포기하지 않고! 다시 backdoor 파일을 진심을 다해... 작성하고 컴파일 했다. 파일 목록을 확인하니 c소스파일과 그 위에 실행파일이 생긴 것을 볼 수 있다.
밑에 backdoor.exe파일은 앞에서 시도해봤는데, 정상적인 결과가 나오지 않았다.
5.
backdoor 파일 생성 후 finger 기능을 통해 비밀번호를 얻었다.
finger : 사용자 계정 정보, 최근 로그인 정보, 이메일, 예약 작업 정보 등을 볼 수 있는 명령어
finger user@host 형식으로 사용할 수 있는데, 위처럼 @localhost는 본인을 가리킨다고 한다.
backdoor파일의 user는 level5임을 위에서 확인했기 때문에 finger명령어로 이 파일이 level5의 권한으로 열리는 것이다.
<풀이 요약>
1. hint 파일 내용 확인
2. /etc/xinetd.d/로 이동해 backdoor파일 내용 확인
3. server의 위치 /home/level4/tmp/backdoor로 이동
4. backdoor파일 직접 생성
5. finger 기능 통해 비밀번호 확인
이번엔 난이도가 조금 낮았던 것 같다. level3이 너무 어려워서 그랬나... 나오는 경로들대로 따라가서 파일을 찾으면 상당부분 진행되었다. 없는 파일은 my-pass명령을 넣어 만드는 것이 조금 새로웠지만 생각해내지 못할 정도는 아닌 것 같다. 새로 배운 finger 기능에 대해서도 더 알아보도록 해야겠다.
'해킹 공부 > 시스템 해킹' 카테고리의 다른 글
FTZ 해커스쿨 level6 - 리눅스 시그널 (0) | 2021.11.02 |
---|---|
FTZ 해커스쿨 level5 - 심볼릭 링크 (0) | 2021.10.31 |
FTZ 해커스쿨 level3 - 다중명령어 (0) | 2021.10.02 |
FTZ 해커스쿨 level2 - VIM (0) | 2021.09.26 |
FTZ 해커스쿨 level1 - setuid (0) | 2021.09.26 |