DoR@Hee의 끄적끄적

ftz 해커스쿨 level1 본문

WarGame/ftz.hackerschool.org

ftz 해커스쿨 level1

DoR@Hee 2019. 3. 11. 20:57


접속 후 파일목록을 확인하기 위해서

ls -al 를 입력했더니 hint라는 파일이 보인다. 확인해보도록 한다.



cat명령을 이용해서 hint 파일에 내용을 보니

"level2 권한에 setuid가 걸린 파일을 찾는다."


여기서 setuid는 

일반적으로 리눅스에는 파일에 권한이 생기는대(rwx)

리눅스 파일을 실행할 때는 파일 실행자의 권한으로 실행된다. 하지만

setuid(4) 가 걸린 파일은 파일 실행자의 권한이 아니라

파일 생성자의 권한으로 실행된다.

setuid 를 제외하고도 setgid(2)라고 파일 생성그룹에 권한으로 실행하는 법도 있다.



일단 파일권한을 찾기위해서 find 명령을 이용했다


입력한 명령어 : find / -perm +4000 -user level2

find명령어는 특정 파일을 찾을 때 사용하며

그에 따라 옵션이 정해져있다

- perm : 특정 파일에 퍼미션을 찾는다 setuid =4000, setgid =2000, sticky bit=1 

-user : 특정 유저와 일치하는 파일을 찾는다.

-name : 특정 이름과 일치하는 파일을 찾느다

-group : 특정 그룹가 일치하는 파일을 찾는다.
-size : 특정 파일 사이즈와 일치하는 파일을 찾는다.

위 명령어를 해석해보자면
/(루트) 밑에 존재하는 파일 중 setuid가 설정되어있으며, 특정 유저가 level2를 찾는다.



수상한 파일이 /bin에 존재하기 때문에

bin으로 가서 확인을 해보았고


./ExecuteMe를 실행해 보니 이렇게 나왔다.

my-pass는 ftz에서 만든 password를 가져오는 명령어 같고

chmod는 권한을 바꾸는 명령어 이다.

둘 다 불가능하니

level2에 쉘을 얻어와야한다. 즉 bash를 이용


level2 권한을 얻고 my-pass를 입력하면 

성공


'WarGame > ftz.hackerschool.org' 카테고리의 다른 글

ftz 해커스쿨 level5  (0) 2019.03.13
ftz 해커스쿨 level4  (0) 2019.03.13
ftz 해커스쿨 level2  (0) 2019.03.11
Comments