문제 접속 ID/PW
ID : level1
PW : level1
FTZ Level1 문제에 접속을 해 현재 경로와 어떤 파일들이 있는지 확인한다.
hint 파일이 있으니 내용을 확인해보자.
setuid가 걸린 파일을 찾기 위해 find명령어와 권한관련 옵션인 -perm을 이용하고, 파일소유자관련 옵션인 -user를 이용한다. 권한이 4000이라는 것은 특수권한자리에 setuid가 설정되어있다는 것을 의미한다.
find / -perm -4000 -user level2
그럼 아래와 같이 권한없는 파일에 대한 error들이 나열된다. 이런 error들로 원하는 결과가 잘 안보이므로 아래와 같은 명령어로 error들을 날려준다.
find / -perm -4000 -user level2 2> /dev/null
2> /dev/null
2는 표준에러(STDERR)를 의미하고, /dev/null은 항상 비어있는 파일로 여기에 보내진 데이터는 버려진다. 즉 표준에러는 화면에 출력하지않고 버린다는 의미이다.
그 결과 /bin/ExecuteMe라는 파일에 권한을 확인해보면, -rwSr-x---라는 것은 setuid가 걸려있다는 것을 의미한다. 이제 이 파일을 실행시켜본다.
level2의 권한으로 실행된 bash가 실행된다. 명령어 하나만 실행시켜 준다고 했으므로, /bin/bash를 실행시켜주면 다시 쉘을 띄울 수 있다. 그렇게 되면 결국 level2의 쉘을 다시 열어 제약(mypass, chmod)없이 명령어를 입력할 수 있다.
'wargame - system > FTZ' 카테고리의 다른 글
[FTZ] 해커스쿨 FTZ Level5 - Write Up (0) | 2022.05.08 |
---|---|
[FTZ] 해커스쿨 FTZ level4 - Write Up (0) | 2022.05.07 |
[FTZ] 해커스쿨 FTZ level3 - Write Up (0) | 2022.05.05 |
[FTZ] 해커스쿨 Level2 - Write Up (0) | 2022.05.03 |