-
[FTZ] F.T.Z level4 풀이 (write up)정보보안/CTF write-up 2020. 4. 30. 22:07
[level4]
level4를 풀기 위해서는 demon과 xinetd 방식을 아셔야해요.
[Linux] Daemon 데몬, xinetd 방식
리눅스 부팅 순서 부트로더 실행 커널 이미지를 메모리에 로딩 /etc/inittab에서 init 프로세스 실행 xinetd 데몬에 의해 네트워크 데몬이 가동 부팅 완료 리눅스의 프로세스에는 system process와 user proce
ludere.tistory.com
그럼 풀이 시작하겠습니다.
먼저 level4에 있는 목록을 보겠습니다. 힌트 파일이 있어요.
hint 파일을 열어보니 /etc/xinetd.d/에 백도어가 있다고해요.
/etc/xinetd.d/ 디렉토리를 리스트해서 보니 backdoor라는 파일이 하나 있어요.
이를 열어보니, finger 서비스로 작동되는 데몬을 확인할 수 있어요.
/home/level4/tmp/backdoor 에 backdoor 파일이 있다고해서, 열어보니 아무것도 없네요..
/etc/services에 어떤 포트가 열려있는지 확인할 수 있어요. 파이프 grep 명령어를 써서, finger 부분만 출력할 거에요.
netstat으로 현재 포트들을 볼 수 있는데, 79번 포트가 LISTEN 상태인 것으로 보아 활성화 되어있다는 것을 알 수 있어요.
backdoor 가 없다면 직접 만들어봐야겠습니다.
우선 level5 권한으로 정상작동하는지 확인하기 위해 id를 실행하는 백도어에요.
gcc로 backdoor을 컴파일 합니다.
finger로 localhost에 접속하면 uid, gid가 level5로 설정되는 것을 확인할 수 있어요.
이번에는 my-pass를 실행해볼거에요.
다시 컴파일 후에 실행해보면 비밀번호가 나오는 것을 확인할 수 있습니다.
"my-pass" 대신 "/bin/bash"로
my-pass가 아닌 쉘을 직접 따는 것은 어떨까요?
my-pass를 입력하기 전 'sh', 'bash', '/bin/bash', '/bin/sh' 모두 입력해봤는데, 안 되더라고요,,,
위에 스크린샷이, '/bin/bash'를 넣고 backdoor를 만든 후에 실행해본거에요.
혹시 쉘이 작동할까 싶어서 입력해보니까 아무것도 나오지가 않아요,,,
외부에서 nc로 접속하면 된다고는 합니다.
반응형'정보보안 > CTF write-up' 카테고리의 다른 글
[Write up] FTZ level5 풀이 (0) 2020.07.20 Chujowy CTF Write up _ beginner – Insanity1 (0) 2020.07.20 [FTZ] FTZ level3 문제 풀이 ( write up ) (0) 2020.04.25 [FTZ] FTZ level2 풀이 ( write up ) (0) 2020.04.24 [ FTZ ] Level1 문제 풀이 / write up (0) 2020.04.24