일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 루트 브리지
- 코드엔진 풀이
- 스패닝 트리 알고리즘
- 데지그네이티드 포트
- 링크 대역폭
- 브리지 ID
- 루트 포트
- 서브넷팅
- 코드엔진 basic 5
- BPDU
- 콜리젼 도메인
- Root Bridge
- 네트워크 장비
- 시스템해킹
- 서브넷 마스크
- Path Cost
- 치트엔진 풀이
- 코드엔진
- FTZ level3
- code engine
- ip주소
- 브리지 우선순위
- code enigne
- 서브넷
- Non Root Bridge
- TCP/IP
- 루핑
- 세그먼트
- 네트워크
- 해커스쿨 FTZ
- Today
- Total
IT 블로그 !!
해커스쿨 FTZ Level1 풀이 본문
안녕하세요 해커스쿨 FTZ문제풀이를 포스팅하려 합니다.
FTZ를 풀어보기 전에 FTZ trainer를 해보고 풀어보시는 것을 추천드립니다.
FTZ trainer는 기본적인 리눅스 명령어를 배우기 때문에 trainer를 하고 FTZ를 풀면 아무것도 모른상태에서 푸시는 것 보다 더 쉬울것이라고 생각됩니다.
준비물 : Vmware workstation
Redhat linux 9.0
Xshell OR Putty
위에서 말한 준비물을 다 준비 하시고 실행을 시키시면 이런 창이 뜨게 되는데요.
Level1의 사용자 이름과 비번을 입력해야합니다.
Level1같은 경우는
ID : level1
Password : level1
위처럼 입력하게되면
이렇게 로그인이 됩니다. 이제 본격적으로 문제풀이에 들어가보겠습니다.
현재 디렉토리에 무슨 파일이 있는지 확인해봅시다.
현재 디렉토리내에 hint파일이 있다는 것을 알 수 있습니다.
hint파일에는 무슨 내용이 있는지 살펴봅시다.
hint파일을 열어보니
'level2 권한에 setuid가 걸린 파일을 찾는다'
라고 되어있습니다.
level1디렉토리 내에 level2권한에 setuid가 걸린 파일이 있는 듯 합니다.
Setuid란 무엇일까요?
-------------------------------------------------------------------------------------------------------------------------------------------------
Setuid : 리눅스의 특수권한
일시적으로 자신의 ID를 변경하는 것을 이야기한다.
Setuid가 설정되어있는 파일을 실행할 때 일시적으로 파일 소유자의 권한을 얻어서 실행할 수 있도록 한다.
예를 들어 root권한으로 지정된 프로그램에 Setuid가 지정되어있으면 실행할 때
root권한으로 실행하게 된다.
--------------------------------------------------------------------------------------------------------------------------------------------------
이제 level2 권한에 setuid가 걸린 파일을 찾아내면 되겠지요.
find 명령을 통해서 간단하게 찾아낼 수 있습니다.
Setuid가 걸린 파일이므로 -perm옵션과 -user옵션을 사용합니다.
-user level2 ==> level2 or level1의 권한
-perm -4000 ==> Setuid or Setgid가 걸린 파일찾기
2>/dev/null은 이전 ftz trainer에도 나오지 않았습니다.
2 : 표준 에러를 의미합니다.
> : 표준출력으로 나온 결과물을 화살표 방향으로 보낸다는 뜻입니다.
/dev/null : 휴지통을 의미합니다.
즉 2>/dev/null은 에러메세지들은 모두 출력하지 말아라 라는 뜻입니다.
이렇게 입력한 후 Enter를 누르면
/bin/ExecuteMe 가 뜹니다. cd 명령어를 통해 이동해 보도록 하자.
cd명령어로 /bin/ExecuteMe 로 이동하려 하니 디렉토리가 아니라고 합니다.
그렇다면 /bin폴더로 이동하고 ExecuteMe를 검색해보니 파일이 있다고 합니다.
이제 ./명령어로 파일을 실행해봅시다.
파일을 실행해보니 이러한 메세지가 뜹니다.
my-pass와 chmod를 제외하라고 합니다.
/bin/bash 쉘을 실행하면 my-pass가 사용 가능합니다.
이전까지는 level1@ftz level1이었는데
지금은 level2@ftz level2로 되어있습니다.
이제 my-pass를 치면 다음 leveld의 비밀번호를 알 수 있습니다.
level2 비번은 hacker of cracker 입니다.
이렇게 level1을 풀어보았는데요 그렇게 어렵지는 않았습니다.
다음에는 level2를 풀어보도록 하겠습니다.
'Pwnable > FTZ' 카테고리의 다른 글
FTZ 4번 풀이 (0) | 2018.09.21 |
---|---|
FTZ 3번 풀이 (0) | 2018.09.21 |
해커스쿨 FTZ Level2 풀이 (0) | 2018.08.31 |