세상 , 그 중심 의 나 ! ! : : [ Linux ] SetUID 
 Total | 1 , 384 , 866 
 Basic Security / _ System 2007 . 01 . 18 22 : 10 
 [ Linux ] SetUID 
 SetUID 와 SetGID 는 유닉스 시스템 을 해킹 하 는 데 매우 중요 한 요소 다 . 
 파일 소유자 의 읽 기 권한 을 400 , 쓰 기 권한 을 200 , 실행 권한 을 100 으로 불렀 듯이 SetUID , SetGID , 그리고 Sticky 비트 도 숫자 로 표현 하 는 데 값 은 4000 , 2000 , 1000 이 다 . 그럼 4755 권한 의 파일 이 있 다면 어떡 해 표현 이 될까 ? 이 경우 에 는 ' rwsr - xr - x ' 를 말 한다 . 소유자 의 권한 에 ' x ' 가 있 을 자리 에 ' s ' 문자 가 적혀 있 다 . SetGID 는 그룹 의 ' x ' 자리 는 ' s ' 로 바꾸 어 쓰 고 , 스틱 키 비트 는 관련 이 없 는 이 들 에 대한 실행 비트 인 ' x ' 대신 에 ' t ' 문자 를 사용 한다 . 
 따라서 7777 의 권한 은 ' rwsrwsrwt ' 다 . 시스템 에 로그인 하 면 사용 자 는 자신 의 계정 을 부여받 는다 . 또한 앞장 에서 살펴보 았 듯이 각 사용자 는 로그인 할 때 자신 의 사용 자 번호 를 받 는다 . 관리자 는 기본 으로 0 번 이 며 , 일반 사용 자 는 500 번 이상 의 숫자 중 에 하나 를 갖 는다 . 패스워드 파일 에 다음 과 같 은 계정 이 있 다고 생각 해 보 자 . 
 proneer : x : 1000 : 1000 : proneer , ,, : / home / proneer : / bin / bash 
 위 의 사용 자 는 사용 자 번호 , 즉 UID 는 1000 번 , 그룹 번호 GID 는 1000 번 으로 부여받 고 로그인 한다 . UID 와 GID 가 proneer 계정 이 누구 인가 를 식별 하 며 , 이러 한 UID 와 GID 를 각각 RUID ( Real UID ) 와 RGID ( Real GID ) 라고 도 부른다 . 하지만 유닉스 에서 는 특이 하 게 어떤 권한 을 가지 고 프로세스 를 실행 하 고 있 는가 에 대한 UID 와 GID 가 별도 로 존재 한다 . 이 를 각각 EUID ( Effective UID ) 와 EGID ( Effective GID ) 라고 한다 . 
 최초 로 로그인 할 때 는 RUID 와 EUID , RGID 와 EGID 가 각각 같 은 값 을 갖 는다 . 일반 적 인 프로그램 을 실행 할 때 도 이 값 은 동일 하 며 , SetUID 비트 를 가진 프로그램 을 실행 했 을 때 만 프로세스 안 에서 잠시 동안 일치 하 지 않 는다 . 리눅스 를 사용 한 적 이 있 다면 , 최소한 한 번 쯤 은 느끼 지 못하 는 사이 에 SetUID 를 이용 하 여 EGID 를 관리자 권한 으로 획득 한 적 이 있 을 것 이 다 . 패스워드 를 설정 할 때 는 ' passwd ' 명령 을 사용 한다 . passwd 명령 을 사용 해서 패스워드 를 설정 하 면 , 패스워드 에 대한 암호 화 나 해시 된 값 이 / etc / shadow 에 저장 된다 . 잠시 / etc / shadow 파일 의 접근 권한 을 확인 해 보 자 . 
 passwd 명령 을 이용 해 패스워드 를 설정 하 여 저장 한 shadow 파일 은 권한 이 400 ( - r --------) 이 다 . 즉 , 관리자 도 읽 을 권한 밖 에 없 다 . 그렇 다면 어떻게 일반 계정 사용 시 에 shadow 파일 에 패스워드 를 기록 하 였 을까 ? 
 방금 전 에 얘기 했 듯이 passwd 명령 을 수행 할 때 모두 관리자 의 권한 을 갖 게 된다 . 즉 , 이때 EUID 가 0 이 되 는 것 이 다 . RUID 는 500 번 이상 의 숫자 더라도 말 이 다 . 하 지만 passwd 명령 이 끝 나 는 순간 다시 EUID 역시 500 이상 의 숫자 로 바뀐다 . 이것 이 SetUID 의 역할 이 다 . passwd 명령 을 실행 할 때 실제로 동작 하 는 / usr / bin / passwd 파일 의 권한 을 확인 해 보 자 . 
 그림 에서 보 듯이 4755 의 권한 이 주어져 있 다 . 즉 , passwd 파일 에 는 SetUID 권한 이 주어져 있 으며 , 파일 소유자 가 root 이 므로 파일 이 실행 되 는 프로세스 는 실행 시간 동안 파일 소유자 인 root 권한 을 실행 된다 . 
 [ Backdoor ] Trojan / Backdoors Port Infomation ( 0 ) 
 [ Linux ] 네트워크 설정 파일 ( 0 ) 
 [ Linux ] SetUID ( 0 ) 
 TAG Linux , SetGID , SetUID , 리눅스 
 « 이전 1 · · · 30 31 32 33 34 35 36 37 38 · · · 54 다음 »