-
[해커스쿨] FTZ level 4 풀이 <Backdoor>Pwnable/FTZ 2020. 7. 18. 14:11
(FTZ 풀이는 1학년 겨울방학때 풀고 노션에 적어둔 풀이를 본 티스토리 블로그에 옮기는 것임. - 2019.12-2020.02)
1.
/etc.xinetd.d/에 백도어가 걸렸다니까 한번 가보자.
* 백도어 (뒷문, 개구멍)
- '뒷문', 개구멍'이라는 의미로, 시스템 관리자가 시스템 유지 보수를 할 때 좀 더 편하게 접근하기 위해 만들어 놓은 보안상의 구멍
- 해커들은 이를 이용해 루트 권한을 획득한 후 재침입을 위해 사용하곤 함
2.
/etc/xinetd.d 디렉토리에 들어가서 ls 명령어로 backdoor 파일이 있다는걸 확인했다!
rm 명령어로 backdoor를 지워주려고 했지만 되지 않는다..
어 근데 생각해보니 나는 보안을 지키는 쪽이 아니라 해킹을 하는 쪽이었다.^^,,
그렇다면 이 backdoor를 이용하여 root권한을 획득하면 될 것이다.
우선 cat 명령으로 backdoor를 실행시켰다.
finger 서비스로 실행되는 백도어이며, level5의 권한으로 /home/level4/tmp/backdoor를 실행시키는 것 같다.
해당 경로로 이동하여 확인 해보자!
아무것도 없다.... 직접 my-pass를 실행하는 파일을 만들어야 할 것 같다.
3.
backdoor 실행시 system 함수를 사용하여 level5의 권한으로 실행되므로, my-pass 명령어로 level5의 패스워드를 출력하는 backdoor.c 파일을 만들었다.
i를 눌러 insert 모드에서 작성하고, 코드작성이 끝난 후에는 esc를 눌러 명령모드에서 :wq를 입력하면 저장된다.
backdoor라는 이름으로 컴파일 해준다~
finger서비스 구동 시 xinetd가 실행될 파일인 backdoor를 만들었으니, finger 서비스를 실행시켜보자.
finger 서비스를 구동하자 level5의 권한으로 my-pass 명령이 실행되어 level5의 패스워드가 출력됐다. (서비스 구동하는 법을 몰라서 구글링했당)
바로 level5 풀러 고고우
'Pwnable > FTZ' 카테고리의 다른 글
[해커스쿨] FTZ Level 3 풀이 <;, "">** (0) 2020.07.17 [해커스쿨] FTZ Level 2 풀이 <:!sh> (0) 2020.06.26 [해커스쿨] FTZ Level 1 풀이 <SetUID> (0) 2020.06.26 FTZ_trainer 6 ~ 10 (0) 2019.12.31 FTZ_Trainer 1 ~ 5 (0) 2019.12.30