해커스쿨 ftz level1
오늘 해커스쿨 공부 빡시게 한다..
training 과정 끝내고 level로 넘어왔고, 레벨은 아마도 모든 풀이과정을 포스트하지 않을까 싶다
아무튼 level1
level1 / level1으로 접속한다. training과는 다르게 아무것도 뜨지 않으므로 직접 미션을 유추해야 함
굉장히 수상해보이는 hint 파일이 중간에 꼽낀다.
cat hint로 파일을 엿보자.
setuid가 걸린 파일 찾기라면 training10에서 바로 배웠던 내용이지,
find / -perm -4000 해볼까(응용을 모르는 단순한 뇌구조였다)
Permission denied만 오지게 나왔다
한 50줄..? 하나하나 살펴보기에는 다른 방법이 있지 않을까 싶다
쓰윽 내려보다가 몇개씩 Permission denied가 안 걸린 파일이 보인다..만
역시 하나씩 살펴보기에는 귀찮다. 다른 방법이 있겠지
그렇다면 응용을 해보자. training10에서 -user은 유저와 일치하는 파일찾기였다.
level2 권한에서 실행되는 파일을 찾으라고 힌트에서 암시했으니
-user 명령을 사용해서 조금 더 폭을 줄여보자.
아까 봤던 /bin/ExcuteMe 파일이다. 수상해보이는게 저 녀석을 실행해야겠다.
cd /bin으로 bin 디렉토리를 찾아가고, ExcuteMe 파일이 있는지 ls -al을 쳐봤다.
굉장히 뻘짓이다. ls ExcuteMe 치면 파일의 유무를 파악할 수 있는데..
파일의 유무를 확인했으므로, cat ExcuteMe로 파일을 열어볼까? 했다.
굉장히 당황했다. 역으로 해킹당한줄;
그냥 ExcuteMe 해보자..
거의 다 온 것 같다! 하지만 my-pass로 바로 level2의 비번을 아는 경우와 chmod로 권한을 조정하는 경우는 제외했다.
그렇다면 bash를 띄워서 level2의 권한을 지속시키도록 하자.
level2의 권한이 지속되었으니, my-pass로 비밀번호를 알아내면 끝이다.
풀이과정에서도 궁금한 점
1. /bin/bash 은 어떤 기능이 있길래 level2의 권한을 지속시켜줄까?
2. cat ExcuteMe 의 실행결과는 왜 문자열이 깨진 상태로 출력됐을까?
3. 초큼 부끄럽지만.. 초기 화면에서 cd / 를 입력한 뒤에 다시 level1으로 이동하려면 어떡해야 될까?
나중에 다시 이 글을 보고 있을즈음에는 알고 있기를 바란다.
이상, 2019.2.26