1 / 24

SetUID

SetUID. 학번 : 20032339 이름 : 장지현. 학습목표. 리눅스 / 유닉스에서의 접근제어 이해 리눅스 / 유닉스에서의 접근제어 설정 SetUID 의 필요성과 기능 이해 SetUID 를 이용한 관리자 권한 획득의 원리 이해. 리눅스 / 유닉스의 접근 제어. 유닉스 파일과 디렉토리에 대한 정보. ls. ls -a. 유닉스 파일과 디렉토리에 대한 정보. 리눅스 / 유닉스의 접근 제어. ls -al /etc. ① : 파일에 대한 접근 권한을 표현한다 .

raisie
Download Presentation

SetUID

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SetUID 학번 : 20032339 이름 : 장지현

  2. 학습목표 • 리눅스/유닉스에서의 접근제어 이해 • 리눅스/유닉스에서의 접근제어 설정 • SetUID의 필요성과 기능 이해 • SetUID를 이용한 관리자 권한 획득의 원리 이해

  3. 리눅스/유닉스의 접근 제어 • 유닉스 파일과 디렉토리에 대한 정보 ls ls -a

  4. 유닉스 파일과 디렉토리에 대한 정보 리눅스/유닉스의 접근 제어 ls -al /etc ① : 파일에 대한 접근 권한을 표현한다. ② : 해당 파일에 링크(Link)되어 있는 파일의 개수를 표시한다. ③ : 보통 해당 파일을 생성한 계정이지만, 파일 생성자 또는 관리자가 임의로 바꿀 수 있다. ④ : 위와 마찬가지로 보통 해당 파일을 생성한 계정이 속해 있는 그룹이나, 파일 생성자 또는 관리자가 임의로 바꿀 수 있다.

  5. 파일 속성 내 용 d 디렉토리 파일 - Regular File : 일반 정규 파일 l Symbolic Link : 링크되어 있는 파일 c Character File : 버퍼에 저장되지 않은 특수 파일. 예) 터미널 b Block File : 버퍼링된 특수 파일. 예) 디스크 드라이브 s Socket File : 소켓 기능을 하는 파일 p Pipe File : 파이프 기능을 수행하는 파일 리눅스/유닉스의 접근제어 -유닉스 파일의 종류

  6. 접근권한의 표현 • 유닉스 파일 -rwxrwxrwx ‘rwx’ => r : 읽기(Read), w : 쓰기(Write), x : 실행하기(Execution) • : 파일의 종류, rwx : 소유자 권한 rwx : 그룹의 권한, rwx : 일반 사용자 다음처럼 각각의 고유한 숫자로 표기한다. r : 4(2진수로 100) , w : 2(2진수로 10), x : 1(2진수로 1) rwx -> 7(2 진수로 111)로 읽는다

  7. 파일 및 디렉토리 생성 시 기본 권한 • 유닉스 파일 touch a.txt mkdir a 기본적으로 디렉토리는 755의 권한으로, 파일은 644의 권한으로 생성된다.

  8. 파일 및 디렉토리 생성시 기본 권한 설정 • 유닉스 파일 vi /etc/bashrc umask 값에 따라 기본 권한 설정이 결정되는데, 파일의 경우에는 기본 생성 최고 권한이 666이며, 디렉토리의 경우에는 777이다. 디렉토리가 777인 이유는 디렉토리에 실행 권한(x)이 없으면, 디렉토리 안으로 들어갈 수 없기 때문이다. 또한 기본 권한은 최고 권한에서 umask 값을 빼준 값이 된다.

  9. 사용자 계정 생성 • 유닉스 파일 adduser wishfree cd /home ls -l

  10. 파일 및 디렉토리 권한 변경 • 유닉스 파일 touch c.txt chmod 777 c.txt • 파일 및 디렉토리 소유자 및 그룹 변경

  11. 파일 및 디렉토리 소유자 및 그룹 변경 • 유닉스 파일 chown wishfree c.txt chgrp wishfree c.txt

  12. SetUID • 기능: 프로세스가 실행되는 동안 그 프로세스의 주인의 권한을 임시로 가지는 기능 • 필요성: 프로세스가 사용자 보다 높은 수준의 접근을 요구 할 때 파일접근 제한 때문에 원할 한 기능을 제공 할 수 없다 이를 해결하기 위한 방법

  13. SetUID • SetUID, SetGID, Sticky bit 의 표현 • SetUID의 값은 4000, SetGID의 값은 2000, Sticky bit는 1000이다 • SetUID는 소유자 권한의 ‘x’자리를 ‘s’, SetGID는 그룹의 ‘x’자리를 ‘s’, Sticky bit는 관련이 없는 이들(Others)에 대한 실행 비트인 ‘x' 대신에 ’t' 문자를 사용한다. • 4755 권한의 파일 = rwsr-xr-x • 7777의 권한 = rwsrwsrwt • SetUID 의 사용 예 ls –al /user/bin/passwd

  14. SetUID • SetUID의 동작

  15. SetUID • Sticky bit의 동작 • 스티키 비트는 파일에 주어지는 권한이 아니며, 디렉토리에서 모든 사용자가 읽고, 쓰고, 실행이 가능하다. • 디렉토리 속의 파일들을 삭제하거나 이름 변경은 파일의 소유자, 디렉토리의 소유자, 관리자만 가능하다. • 스티키 비트가 주어진 대표적인 디렉토리로는 /tmp 디렉토리가 있다.

  16. SetUID • SetUID 비트를 가진 셸의 생성 • SetUID를 이용한 해킹 원본의 bash 셸을 /tmp 디렉토리에 복사하여 4755 권한을 주었다. SetUID 비트가 주어진 bash 셸 프로그램은 프로세스가 살아있는 동안은 파일의 소유자인 root 권한으로 실행될 것이다. cp /bin/bash /tmp/bash chmod 4755 bash

  17. SetUID • 사용자 계정변경 • SetUID를 이용한 해킹 Root 에서 변경 시 ‘su wishfree(계정)’으로 변경가능 일반 사용자에서 다른 일반 사용자로 변경시 비밀번호 입력 필요 Wishfree 계정에서 Root 이동시 ‘exit’사용

  18. SetUID • 일반 사용자 계정으로 SetUID 비트가 주어진 셸 실행 –권한 획득 실패 • SetUID를 이용한 해킹 앞에서 SetUID 비트를 부여한 셸을 일반 사용자 계정으로 실행했다. 그러나 실행 전과 다름없는 UID와 GID를 가지고 있는 것을 확인할 수 있다. ./bash

  19. SetUID • SetUID를 이용한 해킹 • 일반 사용자 계정으로 SetUID 비트가 주어진 셸 실행 –보안 설정 우회 backdoor.c 생성 backdoor 컴파일

  20. SetUID • 일반 사용자 계정으로 SetUID 비트가 주어진 셸 실행 –보안 설정 우회 • SetUID를 이용한 해킹

  21. SetUID • bash 1.14.7 셸을 이용한 SetUID 쉘 획득 • SetUID를 이용한 해킹 chmod 4755 bash ./bash

  22. SetUID • More 명령을 이용한 관리자 권한 사용 • SetUID를 이용한 해킹 chmod 4755 more more /etc/shadow

  23. SetUID • Vi 에디터를 이용한 해킹 • SetUID를 이용한 해킹 #include <stdio.h> main(){ setuid(0); setgid(0); system("/bin/vi"); } :!/bin/sh

  24. SetUID ■ SetUID를 이용한 해킹

More Related