US0
[FTZ] Hacker School FTZ LEVEL1 <ls, find 활용> 본문
FTZ level1 <ls, find 활용>
로컬 서버로 구축한 FTZ서버와 연결해준다.
ID : level1
PW : level1
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ
먼저 level1로 들어왔으니 검색하기위해 ls명령어를 사용해서 어떤 파일들이 있는지 살펴보자!!!
옵션 -l 을 줄건데 -l 옵션을 주게되면 파일 퍼미션(권한)확인과 이파일이 디렉토리인지, 파일인지 확인 할 수가 있다.
*******************************************************************************************************************************************
ls -l 에 관한 추가설명!!
맨 앞글자에 d는 디렉토리라는 뜻이다 흔히 우리가 아는 폴더라고 생각 하면 된다. 이 부분이 -(하이푼) 표시로 되어있으면
그냥 파일이라는 뜻!!!
그다음 rwxrwxrwx 이렇게 9글자로 이루어진 글자가 있는데 이것은 권한을 나타낸다
r : read(읽기) / w: write(쓰기) / x : execute(실행) 를 나타낸다
rwx가 3번 반복되어있는데 이렇게 나눠보면
d rwx rwx rwx
디렉토리인지 소유자 권한 그룹 권한 other(소유자도 아니고 그룹도아닌)
이렇게 권한이 각 사용자 별로 나뉘어진다.
따라서 hint 파일은 -rw-r--r-- 이라고 되어있는데 소유자는 root 이다 따라서 이 hint파일은 root권한일때 read, write를 할수 있지만 그룹에 해당하거나 아무 권한도 없는 사용자일경우 읽기모드 밖에 지원이 되지 않는다.
*******************************************************************************************************************************************
다시 level 1 진행~~그랬더니 hint라는 파일을 발견했는데 cat 명령어를 사용해서 hint파일을 읽어보자
(cat은 파일 읽는 명령어; read에 해당한다.)
level2 권한으로되어있는 setuid가 걸린 파일을 찾아보라고 나온다.
그럼 우린 find 명령어를 통해 위의 힌트와 같이 level2로 되어있고 setuid가 걸린 파일을 찾아 볼 수 있다.
그 명령어는...
이렇게 되는데
find / -user level2 -perm -4000이라고 치면
주루루루루루룩 나오면서 저렇게 해당되는 파일 목록이 나온다 permission denied는 권한이없다 이런 뜻이니 그냥 무시해도 된다.
근데!! 여기서 find 명령어에 들어간 옵션들이 궁금할 것이다!!
일단 find / -user level2 -perm -4000 에서 앞의 find / 는 '찾는다 최상위 디렉토리(/)에서부터' 라는 말이다
그 뒤에 나오는 -user level2는 level 2(<<이게 사용자 이름) 사용자에 해당하는 파일을 찾는것이고
뒤에나오는 -perm -4000을 살펴 보자
-perm 뒤에는 mode라고 부르는데
-perm mode //정확히 같은 퍼미션을 가진 파일찾기
-perm +mode //퍼미션 비트 모드중에 조건이 하나 만 이라도 포함이 될 경우 파일 찾기
-perm -mode //퍼미션 비트 모드중 조건이 충족 될 경우 파일 찾기
*******************************************************************************************************************************************
퍼미션 비트란!!! 아까 말한 drwxrw-r-- 이런거를 비트로 나타낸거를 말한다 rwxrwxrwx를 각각 3개로 나눠서 111 111 111 이렇게 표현하는것인데
rwxrwxrwx
111 111 111 <<이렇게 1비트씩 할당된다고 생각하자 그리고 이진수로 표현!!
예를 들면 rwxrwxrwx -> 777 rwxrw-r-- -> 764 이런식으로 생각하면된다
이렇게 3가지 경우가 있다.
따라서 우리는 퍼미션 비트모드중 조건이 충족 될경우 찾아야하니 -4000 옵션을 넣어주었다.
(4는 setuid값을 가진 파일을 뜻함!! 여기에 관해선 나중에 따로 설명)
*******************************************************************************************************************************************
다시 진행~~~~~
그럼 우린 /bin/ExcuteMe 라는 파일을 발견 했다. /bin/ 디렉토리에 있는 파일은 어디서든 실행이 가능하니 바로 ExcuteMe 실행!!!!!
이렇게 나온다 ㅇㅂㅇ
그랬더니 갑자기 level2 사용자가 되었다 ㅇ.ㅇ.... 원하는 명령어 하나만 실행 해준다고 한다 my-pass(내 비밀번호 확인) , chmod(권한 바꾸기)
사용 금지니까 /bin/bash를 통해서 쉘을 따주자!! 그럼 level2 권한으로 어떤 명령어 이든지 실행할 수. 있다.
level 2 쉘을 땃으니 이제서야 my-pass를 실행시켜 level2의 비밀번호를 확인해보자(level2 쉘로 my-pass 를 하니 level2의 비밀번호가 나온다.)
level 1 Clear!!!!!
level 2 pw: hacker or cracker