| 민타비 |
어..전 아직 잘 모르는 입문자,,이긴 한데 ftz 서버를 하시는거면,,
2번 질문에서, Setuid가 걸린 '파일' 실행 시를 말씀하신건가요?
만약 그렇다면
그 파일을 '실행'하는거랑, 그 파일을 '이용'해서 쉘을 획득, 명령어를 실행하는 것과는 다르지요
파일 자체에서는 my-pass 내용을 제한하고 있습니다만 취약점을 이용해서 아예 쉘 권한을 획득하는거죠
즉, 아예 더 높은 권한의 유저로 로그인하는 겁니다. 에,, 비유를 들자면
아이가 장난감 여러 개 가지고 놀고있다가, (장난감 = '높은 권한을 가진 유저'로서의 쉘 명령어)
한 개는 저에게 주고 나머지는 다 금고(?)에 넣어버립니다. (Setuid 걸린 파일을 '낮은 권한'의 저에게 건네주죠)
그리구선 "그거 가지고만 놀아야 돼" 하는겁니다. (제게 '어떠한 높은 권한'을 가지게 해 주지만, 다른 용도로는 제한합니다. ㅡ특히 my-pass)
그런데 그 장난감 안에 금고 열쇠가 숨겨져 있습니다. (Setuid 걸린 파일의 취약점이지요)
그 열쇠를 이용해 금고를 엽니다. (취약점을 통해 '높은 권한을 가진 유저'로서 명령을 실행할 수 있게 됩니다!)
오호, my-pass라는 장난감이 있네요.
이제 my-pass를 사용하여 비밀번호를 알아내는 겁니다.!! ('높은 권한을 가진 유저'로서 명령어 실행)
..설명을 잘 못해서 길게는 썼는데,,,,,,,,,,,으음 |
2011/11/06 |
|
| 민타비 |
sh에 살 붙인게 bash이구요, 쉘 명령 해석기(컴파일러같은건가??)라는 것 같던데,
/bin/sh, /bin/bash 요기에 명령어들이.?
근데 이런 건 검색하시면서 보셨을 것 같고요.. 쉘 권한에 관해서는 먼지 모르겟으니 요건 패스 ^^..;
ftz는, 10까지는 해봤는데요(10까지입니다!)
리눅스를 기본적으로 사용할 줄 아셔야 하고요, 일단 트레이닝은 받으셨을테니..
vimtutor 실행하셔서 vi에디터 사용법 쭉 읽어도 보시고,,
아스키 코드가 뭔지도 아셔야 하겠고, 이진법에 대한 이해도 필요하구요(이진법-십진법 전환할 줄 아셔야겠지요?)
C언어도 좀 필요한 것 같고 뭐 그렇네요. 존 더 리퍼라는 프로그램도 쓸 줄 아셔야겠구요
뭐 전반적으로 이것저것 배우면서 하는 것 같습니당
전 살짝살짝 필요한 정보 검색해가면서 풀어봤는데,, 일단 학교 공부좀 하고(;) 나중에 공부해서 다시 풀어 볼 생각입니다. 음냐
잉, 어쨌든 저는 초보입니다() |
2011/11/06 |
|