FTZ level1

2022. 2. 21. 12:38Site/FTZ

level1을 풀이를 해본겠습니다

공부를 하면서 배우는 입장이니 틀린것이 있어도 양해 부탁드립니다

level1은 SetUID가 걸린 파일을 찾는 문제입니다

*SetUID : 리눅스의 특수권한중 하나로 일시적으로 자신의  ID를 변경함*


ls을 명령하여 hint라는 파일을 발견하였습니다

 

cat hint를 명령하여 hint파일의 구체적인 내용을 확인해보니

level2 권한에 setuid가 걸린파일찾으라는 문구가 나왔습니다

setuid가 걸린 파일을 찾기 위해 find / -perm -4000 -user level2를 입력합니다

*

find : 파일을 찾기위한 명령어

/ : 전체디렉토리

perm : 해당파일, 폴더의 권한

-4[SetUID]0[r]0[w]0[x] cf)8진수값 앞자리는 특수권한이 들어온다. 2[SetGID], 1[sticky bit] / 추가적으로 공부해서 정리하여 올려야겠습니다ㅠ 

-user level2 : 파일의 소유권자가 level2인 파일을 찾는다

*

 

그런데 Permission denied라는 문구가 뜨면서 권한거부 에러메시지가 뜹니다

권한이 에러메세지가 출력되어 우리가 원하는 파일을 찾기 힘드므로

이를 해결하기 위해서는 2>/dev/null을 입력해 주시면 됩니다

*

2 : STDERR[표준에러] : 에러메시지를 출력함

/dev/null : 에러메세지를 출력하지 말것[쉽게생각하면 휴지통을 의미함]

에러메세지를 > 출력하지 말것 이라고 해석하면 될것같습니다

*

입력을 하면 /bin/ExecuteMe라고 뜹니다

파일의 속성을 확인해보니 소유주가 level2이고 -rwsr로 setUID가 설정된것을 볼수있습니다

cd /bin/ExecuteMe를 사용하여 접근한결과 위의 문구가 뜨며 ExecuteMe가 디렉토리가 아닌것을 알수가 있습니다

 

cd /bin 폴더로 이동하고 ls Executeme라고 명령하여 ExecuteMe의 파일 존재를 확인할 수가 있습니다

./[실행파일]Executeme를 명령하여 파일을 실행시키면 위 화면이 뜹니다

*

my-pass : 권한의 패스워드를 알려달라는 명령어

chmod : 파일, 디렉토리의 권한(permission)을 변경하는 역할

*

 

my-pass와 chmod가 막혀있으니 쉘[bash]을 사용하여 my-pass를 명령해야됩니다

*

쉘 : 사용자의 명령어를 해석하고 실행시켜주는 프로그램[bash는 쉘의 한 종류이다]

*

 

whoami를 통해 현재 ID정보를 확인해 보니 level2로 변경된것을 볼수있습니다

my-pass를 사용할수있게 되었기 때문에 입력해서 암호를 확인하면 끝입니다

 

기존의 Trainer에서 안나온 부분들도 있었기 때문에 복습하면서 새로운 개념들을 정리하면서 공부좀해야될것같습니다ㅠㅠ

'Site > FTZ' 카테고리의 다른 글

FTZ level3  (0) 2022.02.22
FTZ level2  (0) 2022.02.21
FTZ Trainer10  (0) 2022.02.20
FTZ Trainer8 + FTZ Trainer9  (0) 2022.02.20
FTZ Trainer7  (0) 2022.02.19