일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- vi 외부 명령어
- #IntelManual #segment Descriptor #세그먼트 디스크립터 #MINT64 #Sqix
- vim
- #Best of the Best #OS #MINT64 #Sqix
- Sqix
- #IntelManual
- #MINT64 #Sqix
- libpcap
- #
- 인터럽트
- Find
- vi
- >
- libtins
- C++11
- BEST of the BEST
- KASAN
- 오버워치
- ftz
- 오버워치 세이버메트릭스
- linux
- Overwatch League SaberMetrics
- command
- #Qt Creator
- FTZ 레벨2
- Network
- Today
- Total
Sqix
FTZ Level4 본문
힌트는 "누군가 /etc/xinetd.d/에 백도어를 심어놓았다.!" 입니다.
디렉토리에 들어가 보니 level4 권한을 달고 있는 backdoor가 있네요.
file 명령어로 backdoor를 확인하여 보니, ASCII text (일반 텍스트 문서)라고 합니다.
cat하여 보니 다음과 같은 설정이 나오네요.
level5의 권한을 가지고 있고, /home/level4/tmp/backdoor에 실행 서버가 있다고 합니다.
사실 이건 xinetd(internet daemon) 디렉토리이고, 이 파일은 finger 서비스의 정보입니다.
즉, finger 서비스를 실행하면 level5권한으로 /home/level4/tmp/backdoor 파일을 실행한다는 것입니다.
하지만 아무것도 없네요. 여기다 backdoor를 만들고 finger 서비스를 실행해야 할 것 같습니다.
처음엔 쉘 스크립트를 작성했다가 .sh가 붙는다는 것을 깨닫고 C로 작성을 하게 되었습니다.
#include <stdio.h>
int main(void)
{
system("my-password");
return 0;
}
컴파일하면 backdoor 파일이 생성됩니다.
finger service는 79번 포트를 사용합니다. #netstat -na 명령어를 이용해서 확인한 결과, 79번 포트는 열려있네요.
그렇다면 실행하여 보도록 합시다.
사실 처음에는 /bin/sh를 실행하려고 했지만, 실패했습니다.
interactive shell이 아니라서 실패한 것 같아서 bash shell로 쉘을 바꾸고 -i 옵션을 주어 실행했지만 실패..
어떻게 해야 쉘을 얻을 수 있을까요.. 궁금하네요
'Wargame > FTZ' 카테고리의 다른 글
FTZ Level6 (0) | 2018.06.12 |
---|---|
FTZ Level5 (0) | 2018.06.12 |
FTZ Level3 (0) | 2018.06.12 |
FTZ Level2 (0) | 2018.06.11 |
FTZ Level1 (0) | 2018.06.11 |