FTZ level4 write up

포너블 2020. 2. 26. 19:51

level3에서 level4의 비밀번호를 알았으니 그걸로 접속을 한다.

l

cat 명령어를 사용하여 힌트를 본다. 

/etc/xinetd.d/에 백도어를 심어놓았다는 힌트를 확인할 수 있다.

Backdoor?
말 그대로 해석하면 '뒷문'
:정상적인 인증 절차를 거치지 않고 컴퓨터와 암호 시스템 등에 접근할 수 있도록 하는 장치이다.
이 backdoor을 악의적으로 사용할 시, 누군가 접속 기록 및 로그인 정보 등 시스템 사용 내역을 모두 볼 수 있으며
더욱 심하면 금융 정보를 탈취해 금전적인 피해까지 얻을 수 있다.

 

우선 힌트에서 나왔던 경로로 찾아가 backdoor가 어떻게 실행되는지 확인해본다.

xinetd가 중간에 개입하여 허가된 사용자인지 검사한다. 허가된 사용자가 맞다면 해당 서비스를 요청해준다.
중요하게 보아야 할 부분은 user와 server이다.
즉,  finger서비스를 사용하면 level5의 권한으로 /home/level4/tmp/backdoor을 수행한다는 것이다.

최상위 디렉토리로 간 후에 /home/level4/tmp/backdoor을 쳐보면

level4의 패스워드 값이 나온다. 하지만 우리가 알아야 할 것은 level5의 패스워드 값!

그러니까 이 경로에 있는 파일을 my-pass를 출력하는 프로그램으로 바꾼다면 level5의 패스워드 값도 알 수 있지 않을까?

vi backdoor.c 를 쳐서 my-pass를 출력하는 C언어 파일을 만든다!

:wq 를 쳐서 저장을 한 후에 

gcc -o backdoor -s backdoor.c 

 

backdoor 이라는 이름으로 컴파일을 한다.

그후 finger서비스를 실행하면 level5의 비밀번호를 획득할 수 있다.

finger 명령어는 외부 서버의 유저들의 정보도 가져올 수 있는 기능이 있다.
finger [user] @[host] 명령어를 사용하면 된다.
backdoor을 실행시켜야 원하는 기능을 시킬 수 있으므로
finger @localhost를 해야 우리가 지정한 backdoor가 실행이 된다.

 

'포너블' 카테고리의 다른 글

FTZ level6 write up  (0) 2020.02.26
FTZ level5 write up  (0) 2020.02.26
FTZ level3 write up  (0) 2020.02.25
FTZ level2 write up  (0) 2020.02.25
FTZ level1 write up  (0) 2020.02.25

설정

트랙백

댓글