알맹이방
FTZ level 4 본문
level 4
ls -al 명령어를 쳐준 후 cat 명령어로 hint를 엽니다.
누가 백도어를 심어놓았다고 합니다.
이번엔 백도어를 이용해서 my-pass를 찾나보군요
setuid가 걸린 프로그램을 찾아줍니다.
find / -user level5 -perm -4300 2>/dev/null
을 이용했는데 아무것도 안 나왔습니다.
그래서 그냥 위에서 알려준
/etc/xinetd.d/로 가봤습니다.
디렉토리를 열어봤습니다.
오른 쪽에 backdoor 라고 쓰여있는 게 보이나요?
cat 명령어로 열어보겠습니다!
service finger 어쩌구 저쩌구가 뜹니다.
여기서 저것들이 뭔지 구글링 해보니
service finger : 서비스 이름
disable = no : xinetd의 제어를 받는가 안 받는가 ( yes = 제어X, no = 제어O)
flags = REUSE
socket_type = stream : TCP/IP소켓. stream(TCP) or dgram(TCP)
wait = no : yes = xinetd가 요청되어 있는 한 데몬이 끝날 때까지 다른 요청을 받지X
no = 각 요청에 대해 데몬이 동작
user = level5 : 데몬의 유저아이디
server = /home/level4/tmp/backdoor : 서비스가 실행될 때 어떤 위치의 프로그램을 불러올지
log_on_falure += USERID
그렇다. 뭔지 잘 모르겠다.
하지만 finger라는 프로그램을 실행하면 /home/level4/tmp/backdoor의 경로로 실행된다는 것이다.
바로 user=level5
level5의 권한으로!
그렇다면 우리는 마지막에 실행되는 backdoor에 my-pass를 심으면 되는 것이다.
finger를 실행해보자.
엥 my-pass가 안 떠서 뭔지 구글리 찬스...
아까 봤던 disable에 no였는데 이 의미가 외부에서 실행시킬 수 있다는 의미라고 한다.
따라서 외부의 호스트로 figner @localhost라고 명령을 내리면
my-pass가 뜬다!
<끝>
'SISS (2017-2018) > FTZ' 카테고리의 다른 글
FTZ level 6 (0) | 2018.02.10 |
---|---|
FTZ level 5 (0) | 2018.02.10 |
FTZ level 3 (0) | 2018.01.21 |
FTZ level2 (0) | 2018.01.11 |
FTZ level1 (0) | 2018.01.10 |