해커스쿨 level1

2018. 2. 28. 15:45Pwnable/hackerschool


HackerSchool level1


PuTTY의 한글깨짐, 설치에 대한 간단한 설명은 이전글을 참고해주세요~




그럼 본론으로~



일단 PuTTY를 실행해서 ID : level1    passwd : level1 을 입력해줍니다!







그럼 일단 접속했으니 ls 명령어로 어떠한 파일들이 있는지 살펴보죠!



ls 명령어란?


간단하게 말하자면 ls는 현제 폴더안에 있는 파일들을 알려주는 명령어이다.

자세한 설명  : https://en.wikipedia.org/wiki/Ls







ls를 쳤더니 1.hint 2.public_html 3.tmp 라는 것들이 있다고 나오네요.



흠...힌트가 뭐지?? 한번 cat명령어를 통해서 hint에 대해서 알아보죠


cat 명령어란?


간단하게 말하자면 파일들을 연결하고 표시하기 위해 사용되는 명령어이다.

자세한 설명 : https://goo.gl/yk9oGg





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


setuid가 뭐지?? 라고 생각을 하고계신다면 

heckerschool training 을 한번 듣고 오시는걸 추천한다.


setuid가 걸린 파일을 찾는 명령어는 training 단계에서 배웠었다.

(find / -user level2 -perm -4000 2>/dev/null)



find 명령어란?


간단하게 말하자면 파일을 찾는 명령어이다.

자세한 설명 : https://en.wikipedia.org/wiki/Find_(Unix)



                   


아래는 setuid를 찾는 명령어에 대한 설명이다






찾고나니 /bin/ExcuteMe라는 파일이 하나 있다고 알려준다.





검색을 해보니 정말 level2의 setuid를 가지고 있다.


이 파일에 들어가보면 뭔가가 나오지 않을까?





실행했더니 이러한 창이뜬다........ ㅎㄷㄷ 신기방기

(my-pass하고 chmod는 제외하고 모든 명령어는 사용할수있다고한다)


여기서 바로 my-pass를 사용하면 flag가 나오겠지만..... 못쓴다고한다.하지만 일단 비벼보는게 인지상정! my-pass를 입력해보았다.





역시나는 역시나이다... ㅠㅠ level1의 권한만 유지되었고 별다른 이득이 없다.. 고민을해보았더니

 현재의 level2권한을 유지할 수 있을만한 명령어를 찾아보아야한다. 

따라서 우리의 목적은 shell을 얻는것이므로 (bash)라고 입력해본다.





오 이번에는 성공이다!!! level2의 권한을 얻게 되었다. 여기서 my-pass를 친다면 flag가 나올것이다!




드디어 flag가 나왔다!! 이렇게 기쁠수가 ㅠㅠ 


아마 이번문제의 핵심은 SETUID권한을 찾게하는 find명령어와

shell의 권한을 유지하는 방법을 알게하는게 목적이였던거같다!



궁금점은 댓글 or 카카오톡오픈채팅으로 부탁드립니다~

놀라울정도로 칼답입니다.