2019. 5. 23. 02:08ㆍFTZ
PuTTY를 실행한다.
어김없이 이번에도 힌트가 있다.
백도어란 무엇일까?
cd를 사용하여 /etc/xinetd.d의 위치로 왔다.]
자세히 보니 왼쪽 맨 위에 "backdoor"가 있다.
finger서비스로 실행되는 backdoor이다.
우리는 user와 server 경로 부분을 자세히 살펴보아야 한다.
user=level5고 저희는 지금 level4니까 SetUID를 써서 level5의 권한으로 실행해준다는 말이다.
서버의 위치가 /home/level4/tmp/backdoor이라고 한다.
finger 서비스를 시작하면 backdoor라는 파일이 실행되는 것 같다.
그렇다면 저 경로로 가보자.
저 경로에 실제 이 경로로 가보면 정말 아무것도 없다.
그렇다면 이제 우리가 만들어서 level5의 권한을 취득하면 된다!.
vim을 킨다.
vim에서 무언가를 작성할 때에는 insert키를 누르고,
저장을 할 때는 : -> wq의 순서로 입력하면 된다.
c언어 파일을 만들어주고 그 안에 내가 원하는 동작인
"my-pass"(비밀번호를 얻는 명령어)를 실행하게 한다.
그 후 gcc를 이용해 backdoor라는 이름으로 컴파일을 시켜준다.
이제 여기서 finger 서비스를 시작하면 패스워드가 나온다.
figer란 무엇일까?
->리눅스에서 사용자의 계정 정보를 확인하는 명령어이다.
finger user명
-> user을 적고 host명을 명시하지 않으면, finger는 로컬에 접속하게 된다.
finger @host명
host명만 적고 user를 명시하지 않으면, 해당서버의 접속해 있는 모든 유저의 정보를
출력한다.
finger user명 @ host명
-> user명과 host명을 이런식으로 입력하면 원격 서버의 사용자 계정 정보를 확인한다.
finger 명령어는 지정된 계정사용자 정보를 /etc/passwd 파일에서 읽어서 보여주는 명령어이다.
이제 여기서 finger를 시작하면 level5의 답이 나온다.
+아직 왜 finger @localhost라고 쓰는지 의문인 사람이 많을 것이라고 생각한다.
finger @localhost를 하게되면
로컬로 finger요청이 가게되고 시스템에선 finger요청을 받았으니
명시한 /home/level4/tmp/backdoor를 실행합니다.
다시 말해 finger 명령어를 쳐서 다른 호스트에 접속했을 때 서버가 작동하는 것이 아닌
finger 요청이 들어왔을 때 server가 동작합니다.
'FTZ' 카테고리의 다른 글
Layer7 09과제 -6 -F.T.Z level 6 풀이- (0) | 2019.05.23 |
---|---|
Layer7 09과제 -5 -F.T.Z level 5 풀이- (0) | 2019.05.23 |
Layer7 09과제 -3 -F.T.Z level 3 풀이- (0) | 2019.05.23 |
Layer7 09과제 -2 -F.T.Z level 2 풀이- (0) | 2019.05.23 |
Layer7 09과제 -1 -F.T.Z level 1 풀이- (0) | 2019.05.23 |