2015. 4. 11. 14:41ㆍSystem/F.T.Z
F.T.Z Level1 문제풀이
먼저 리눅스를 접해보지 않으신분들에겐 다소 명령어가 생소하실겁니다.
실습환경 : VMware Red Hat 9.0 (해커스쿨 F.T.Z 로컬 VM이미지)
한글 Putty 0.60
다운로드 : http://gmyankee.tistory.com/42
login as : level1
password : level1
ls 라는 명령어를 이용해 현재 위치하고 있는 경로의 디렉터리 목록을 살펴봅니다.
[level1@ftz level1]$ ls
hint public_html tmp
총 3가지가 있는데 hint 말그대로 힌트라니깐 cat 명령어를 이용해 hint 파일을 읽어봅시다.
[level1@ftz level1]$ cat hint
level 2 권한에 setuid가 걸린 파일을 찾는다.
SetUID란?
Set User ID 의 줄임말로, 사용자는 root 권한에 손댈수 없습니다. 읽기 쓰기 실행 권한이 부여되어있지 않다면
3가지 권한 모두 불가능 할텐데
패스워드 변경 같은 것은 권한이 없는데도 불구하고 실행이 됩니다.
그것이 SetUID 입니다. 사용자가 root권한을 빌려와서 해당 기능을 수행합니다.
SetGID도 유저와 그룹의 차이일뿐 기능은 같습니다.
find 명령어를 이용하여 setuid가 걸린 파일을 찾아보도록 하겠습니다.
[level1@ftz level1]$ find / -user level2 -perm -4300 2>/dev/null
-user : 사용자
-perm : 권한
-4300 : 권한 지정 값 (4000대는 SetUID, 6000대는 SetGID)
2>/dev/null : 쓸모없는 파일을 출력시키지 않는다.
Find 명령으로 검색을해보니
/bin/ExecuteMe 라는 파일이 나왔습니다.
[level1@ftz level1]$ ./bin/ExecuteMe
실행을 해보았지만 실행은 되지않습니다.
bin 디렉터리로 이동하여 ls 명령으로 해당 파일이 존재하는지 확인하였습니다
[level1@ftz level1]$ ls -al ExecuteMe
존재하고 있는 것을 알았으니
여기서 실행을 해봅시다.
[level1@ftz level1]$ ./ExecuteMe
갑자기 위와 같은 출력창으로 바뀝니다.
여기서 레벨2권한으로 원하는 명령어를 실행시켜준다는데
my-pass로 패스워드확인도 못하고 chmod로 권한도 변경할수없습니다.
/bin/bash 라는 명령을 이용해서 bash셸을 사용하겠다고 입력해봅시다.
level2권한의 셸의 진입한것을 보실수 있습니다.
이제 my-pass 명령어를 이용하여 패스워드를 확인하여 봅시다.
Level 2 Password is "Hacker or cracker".
'System > F.T.Z' 카테고리의 다른 글
F.T.Z Level5 문제풀이 (0) | 2015.04.15 |
---|---|
F.T.Z Level4 문제풀이 (0) | 2015.04.14 |
F.T.Z Level3 문제풀이 (0) | 2015.04.13 |
F.T.Z Level2 문제풀이 (0) | 2015.04.12 |
F.T.Z 로컬 이미지 + 한글 Putty (0) | 2015.04.11 |