안녕하세요 Triumph 입니다.
오늘은 Hackerschool의 워게임인 FTZ에서 level2단계 풀이를 하고자 합니다.
이전에 level1에서 획득한 level2 패스워드를 입력 후 level2로 로그인합니다.
역시 level3의 권한을 어떻게 얻어야할지 모르겠으니.. 힌트를 봐야겠죠..?
힌트 : 텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데.. |
이제 힌트를 파악해 봅시다. 텍스트 파일을 편집하는 도중에 쉘의 명령을 실행시킬수 있는 취약점이 있는 것 같습니다.
그럼 어떤 텍스트 파일을 편집해야 할까요?
level3의 권한을 얻어야 하니 level3의 권한을 가진 텍스트 파일이겠죠?
level1과 마찬가지로 setuid 권한을 갖는 파일을 찾아 텍스트 편집 시 쉘을 실행시킬 수 있는 것으로 파악됩니다.
그럼 일단 해당 파일을 찾아봅시다.
소유자가 level3이고 setuid권한을 가진 파일 찾기
파일찾기 : find / -user level3 -perm -4000 2>/dev/null |
파일을 찾았으니, 일단 실행해 봅시다.
실행하니 vi editor 화면이 출력되었네요. 여기서 level3의 권한을 획득해야 하나 봅니다.
어떻게 권한을 획득해야 할까요? 답은 vi editor에서 명령어를 실행 시킬수 있다는 것입니다.
일단 밖으로 나와서 test 파일을 vi editor로 만들어서 :!ls -al 을 입력해 봅니다.
결과를 확인해 보니, vi editor가 열린 상태에서 명령어가 사용된 것을 확인할 수 있습니다.
그렇다면 setuid를 가진 파일을 편집하는 상태에서 명령어를 입력한다면?
해당 권한을 획득 할 수 있겠죠? 그럼 한번 해 봅시다.
/usr/bin/editor파일을 연 후 쉘을 얻기 위해 :!/bin/sh를 입력 해 봅니다.
입력한 결과 vi editor에서 나와졌네요? 뭐지?
자세히 보니 계정에 해당하는 @앞부분을 보니 level3이네요.
whoami 명령을 실행하여 해당 계정이 level3인 것을 확인했습니다.
level3의 권한을 얻었으니 my-pass로 패스워드를 획득합니다.
level3의 패스워드를 획득했습니다.
감사합니다.
'War Game > FTZ' 카테고리의 다른 글
Hackerschool FTZ 풀이 - LEVEL4 (0) | 2017.03.09 |
---|---|
Hackerschool FTZ 풀이 - LEVEL3 (0) | 2017.03.08 |
Hackerschool FTZ 풀이 - LEVEL1 (0) | 2017.03.07 |
Hackerschool FTZ 구축 (0) | 2017.02.15 |