process 권한과 SetUID에 대해 알아보아요.
(1)SetUID 란?
SetUID란 유닉스라 리눅스 계열에서 권한이 rwsr-xr-x 등의 식으로 되있는 것입니다.
즉 , root유저의 실행권한이 x가 아닌 s로 설정 되있는 것을 말합니다.
이때 이 SetUID 파일을 실행하면 그것이 일반 유저든 root 권한의 유저든 파일 소유자의 권한을 갖습니다.
즉 해당파일이 root 이면 그 파일은 누가 실행하든 파일이 실행되는 process 실행시간동안 파일 소유자인 root권한이 되는 것입니다.
즉 SetUID 일때
위의 그림 처럼 이해하자
즉 , test 라는 파일의 소유자가 root이고 이것이 SetUID 파일일 경우에
실행을하면 일반유저든 어떤 유저든 그 process가 올라와 있는 동안에는 root 권한을 얻을수 있다는 것이다 .
낮은 버젼의 리눅스 에서 해볼수있는 해킹 기법이 있다.
bash 쉘을 올릴수있는 script파일인 shell이 있다고 하자.
$./shell => bash$ 이렇게 된다.
이때.
$chmod 4755 ./shell => 권한 을 SetUID로 변경한다.
$./shell => 실행
bash#
bash# id
=> uid는 일반 유저지만 euid가 root로 바뀐것을 알수있고 bash의 prompt또한 #이다.
이것으로 알수있다.
[출처] No.1 Process OR SetUID|작성자 Securely
'Security > System Hacking' 카테고리의 다른 글
엑티브엑스 컨트롤을 이용한 후킹 프로그램 3. 후킹 구현 (0) | 2012.07.12 |
---|---|
엑티브엑스 컨트롤을 이용한 후킹 프로그램 2. 폼뷰 만들기 (0) | 2012.07.12 |
엑티브엑스 컨트롤을 이용한 후킹 프로그램 1. DLL만들기 (0) | 2012.07.12 |
No.3 Format 스트링 (0) | 2012.07.11 |
No.2 Buffer OverFlow Attack (0) | 2012.07.11 |