일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 리눅스
- Gentoo
- 루트미
- 모인해외송금
- FTZ
- rootme
- 포너블
- network
- wargame
- 모인유럽서포터즈
- pwnable.kr
- 해커스쿨
- Challenge
- Linux
- 프랑스송금
- 모인유럽송금
- 네트워크해킹
- 백도어
- 해외송금
- 프랑스교환학생
- 웹해킹
- 유로송금
- 보안
- EPITA
- client
- 해킹
- pwnable
- 프랑스 교환학생
- WebHacking
- web
- Today
- Total
Securing Keys
[FTZ] Level 4: xinetd.d 내 서비스를 이용한 백도어 본문
이번에도 역시 level4로 로그인 하자마자 홈 디렉터리를 확인했다
이번 힌트는 /etc/xinetd.d/에 백도어가 존재한다는 힌트였고,
실제로 확인해보니, GID가 level4인 backdoor 파일이 존재하였다
/etc/xinetd.d 내에 있는 백도어라면
로컬이 아닌 다른 네트워크를 이용하는 서비스 포트와 관련되어
원격에서도 사용이 가능할 백도어일 것이다
소스코드를 확인해보니 위와 같았다
finger라는 서비스를 이용하는데
(disable = no) 이 서비스는 활성화되어 있고
(flags = REUSE) flag는 재사용하며
(socket_type = stream) 스트림 기반 데이터 전송을 하고
(wait = no) xinetd는 연결이 된 경우에 서비스 요청을 받으며
(user = level5) 실행중인 서비스의 사용자는 level5로 선택하고
(server = /home/level5/tmp/backdoor) /home/level4/tmp/backdoor 파일이 실행된다
따라서 /home/level4/tmp/backdoor 파일을 확인해보았다
위와 같이 파일이 존재하지 않는다
그렇다면 직접 이 파일을 만들어준다면 어떨까?
vim을 통해 my-pass 명령어를 실행해주는 간단한 소스코드를 짜보았다
그 상태로 finger 서비스를 실행하면 level5의 패스워드를 얻어낼 수 있다
그런데 이 backdoor.c 소스코드를
system("/bin/bash");로 변경하면
명령어가 입력은 되지만 결과가 출력은 되지 않는 것을 확인할 수 있다
nc를 이용해서 접속하면 쉘이 실행되는 것을 확인 가능하다
하지만 ftz.hackerschool.org 서버에서는 nc와 같은 원격 접속 프로그램을 지원하지 않으므로
자신의 PC에서 원격으로 접속하면 확인 가능하다
'IT > Linux' 카테고리의 다른 글
[Linux] pwnable.kr fd 풀이 (0) | 2022.04.02 |
---|---|
[vim] 리눅스 텍스트 에디터 vi 초기 설정하기 (1) | 2020.09.10 |
[FTZ] Level 3 응용: 항상 접근 가능한 백도어 쉘 만들기 (0) | 2020.08.30 |
[FTZ] Level 3: SUID가 걸린 함수에 인자 전달로 명령 실행 (0) | 2020.08.30 |
[FTZ] Level 2: SUID가 걸린 vim에서 명령 실행 (0) | 2020.08.30 |