Securing Keys

[FTZ] Level 1: SetUID로 찾은 백도어 이용하기 본문

IT/Linux

[FTZ] Level 1: SetUID로 찾은 백도어 이용하기

GRACE_MJ 2020. 8. 30. 00:18

 

 

 

level1으로서 로그인을 하고 (ID: level1 / PW: level1)

홈디렉터리를 확인해보면 hint라는 파일이 있습니다

 

파일 내용을 확인해보니,

level2 권한에 SetUID가 걸린 파일을 찾으라고 합니다

 

 

리눅스에서 찾기 명령어인 find를 이용하여

현재 힌트에서 요구하는 사항은 아래와 같습니다

$	find / -user level2 -perm -4000 2>/dev/null

사용자가 level2이면서

권한이 4000인 (= SetUID가 걸린) 파일을 찾는데

에러 출력은 /dev/null로 보냄으로서 화면에 출력하지 않는 명령어입니다

 

 

 

 

 

 

 

 

그에 해당하는 파일을 /bin/ExecuteMe라는 파일 하나 밖에 존재하지 않았고

이 파일은 level1이 읽고 실행할 수 있으며

level2에 SetUID가 걸려있는 실행파일이었습니다

 

 

 

 

 

 

 

 

 

level1인 우리도 실행가능한 파일이기에 실행해보니

level2의 권한으로 명령어를 실행할 수 있는 기회가 주어졌습니다

하지만 패스워드를 볼 수 있는 my-pass와 권한을 변경할 수 있는 chmod는 제외되어 있었습니다

 

이 둘을 제외한 모든 명령어가 가능하다면

을 실행시키는 것 또한 가능할 것입니다

그리고 일단 쉘을 실행시키면 level2의 권한으로 쉘이 실행된 것이기 때문에

그 이후에는 어떤 명령어도 실행시킬 수 있을 것으로 예상됩니다

 

 

 

 

 

 

 

 

 

 

 

 

 

sh 명령어로 정상적으로 쉘이 실행되었고, 이때 my-pass를 입력하니

level2로서 쉘을 실행한 것이었기 때문에 성공적으로 Level2의 패스워드를 알려주고 있음을 확인할 수 있습니다

Comments