본문 바로가기

IT전공관련

해킹스쿨 FTZ-4 문제풀이

   LEVEL-4 문제풀이



일단 이번에도 먼저 hint 파일이 있는 지 확인한다

               

역시 존재한다 그럼 한번 cat으로 실행시켜보자!

                 


그랬더니 이렇게 뜬다. 먼저 백도어란

말그대로 뒷문이라는 뜻으로 해커들이 먼저 뚫고    다시 들어가기 위해 만들어 놓은 

 보안구멍이라고 볼수있다.

 그래서 직접 한번 들어가보니

진짜 이렇게 첫번째에 backdoor파일이 있는 것을

확인했다. 그래서 직접 한번 backdoor파일을

      cat명령어를 통해 열어보았다.

            

그랬더니 이런것이 떴는데 일단 finger이 무슨말인지 

                      몰라서 찾아보았다. 

finger이란? 

리눅스에서 사용자의 계정정보를 확인하는 명령이다.

사용법:

-$ finger
finger만 치면 현재 시스템에 로그인 되어 있는 사용자들을 보여준다.

-$ finger user명
user를 적고 host명을 명시하지 않으면, finger는 로컬에 접속하게 된다.

-$ finger @host명
host명만 적고 user를 명시하지 않으면, 해당서버의 접속해 있는 모든 유저의 정보를 출력한다.

-$ finger user명 @host명
-$ finger @host명 user명
user명과 호스트명을 이런식으로 기입하면 원격서버의 사용자계정정보 확인하는 것이 된다.



출처: http://geundi.tistory.com/45 [Geundi]



그 다음 저 이미지에서 중요한 사실을 알아보자면,

먼저 level5의 권한으로 프로그램을 실행시켜준다는 말과

server이 무엇인지는 잘모르겠지만, 

/home/level4/tmp/backdoor를 실행시킨다는 

말 인것 같다는 것이다.

그래서 여기서 한가지 방법이 생각이 났다.

      바로 finger가 실행시키는 밑에

  /home/level4/tmp/backdoor 파일에

password를 알려주는 명령을 넣어 놓는 것이다.

그래서 파일을 봤더니 

 이렇게 파일이 존재하지 않아서

 새로 만들었다.

이렇게 vim을 이용해서 작성하였다.

따라서 finger를 실행시키면

my-pass를 통해 패스워드를 출력할것이다.

그 다음 gcc -o을 통해

backdoor를 backdoor.c의 실행파일로 만들었다.


이제 위에서 알아냈던  finger명령어를 통해

    패스워드를 찾아내기만하면, 끝인데

 여기서 하나의 문제점이 생겼다

바로 왜 finger명령어만 치면 안되는가...

이것때문에 상당히 많은 고민을 했는데,

구글링을 통해 알수있었다.

먼저 답은

이것이다.

자 이제 왜 finger @localhost를 입력해야만

backdoor이 실행되는 지를 알아보자

그 이유는 구글링에 따르면

이렇다고 한다..

(이번꺼는 어려워서 많이 헤맸었던것 같다...)



'IT전공관련' 카테고리의 다른 글

해커스쿨 FTZ-5 문제풀이  (0) 2017.08.15
리눅스 구조 & DNS & 마운트  (0) 2017.08.15
해커스쿨 FTZ-3 문제풀이  (0) 2017.08.15
리눅스 명령어 정리  (0) 2017.08.15
해커스쿨 FTZ-2 문제풀이  (0) 2017.08.15