본문으로 바로가기

[D+8] Permissions

category 해킹&보안/Linux 2017. 2. 16. 22:36
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

6. Permissions


1) 파일의 리스트와 파일 속성





▣ 파일 유형 (3가지 종류)

☞ - : 일반 파일

☞ d : 디렉토리

☞ l : 링크


▣ 파일 허가권

- 총 9자리 (3자리씩 끊어 읽음)

☞ r : 읽기 권한(read) -> 4

☞ w : 쓰기 권한(write) -> 2

☞ x : 실행 권한(executable) -> 1

☞ - : 권한 없음 -> 0


ex) abc파일의 퍼미션은 644이다.

- touch 명령어로 만든 파일의 퍼미션은 일반적으로 644임.


▣ 파일 소유권(Ownership)

- 파일을 소유한 사용자와 그룹을 의미

- 파일 소유자 + 파일 소유 그룹


2) 권한 관련 명령어


▣ chmod (Change Mode)

- 파일 허가권 변경 명령어

- usage : chmod 허가권 파일명

ex) # chmod 777 yum.log

- 파일 허가권의 범위 : 000 ~ 777


▣ chown (Change the Owner of the file)

- 파일의 소유권을 바꾸는 명령어 (소유권 : 소유자 + 소유그룹)

- usage : chown 소유자.소유그룹 파일명 (반드시 소유자가 소유그룹에 속해야 하는 것은 아님)

ex) # chown fedora.fedora yum.log

- 소유자만 변경시 : chown 소유자 파일명

- 소유그룹만 변경시 : chown .소유그룹 파일명

[궁금증]

Q1) 소유권을 바꾼 다음 해당 계정을 삭제해버리면...?

A1) hello 계정에 해당 했던 uid와 gid만 적혀 있는 것을 확인 할 수 있음.


Q2) 그렇다면 다시 hello 계정을 만들어 버리면..?

A2) 다시 hello 계정으로 적힌 것을 확인 할 수 있음...


Q3) Q1 직후에 hello가 아닌 다른 이름의 계정이 생성된다면..?

A3) ??? uid와 gid가 501에 해당하는 tempuser가 abc 파일의 새로운 소유권자가 되어버렸다.... 나름의 버그가 아닌가 싶다..


setuid

- uid에 해당하는 사용자의 권한(소유권)을 잠시 빌려옴

- S 또는 s로 표현되고 8진수 모드로 4000

- 파일 실행시 파일 소유자 권한으로 실행

- usage : chmod 4777 파일명

☞ 소유자의 실행권한이 없으면 대문자 S :  실행불가능

☞ 소유자의 실행권한이 있으면 소문자 s : 실행가능

-> 소문자 s를 보는 순간 해킹의 가능성이 있겠구나를 생각하자.





[실습]

1. backdoor.c 파일을 작성

☞ system 함수를 통해 새로운 쉘을 열어줌.


2. c파일을 컴파일 해줌. 

usage : gcc -o 실행파일이름 소스코드파일명


3. 만들어진 파일의 권한을 4777로 변경


4. 일반 계정으로 가서 실행

usage : ./backdoor

☞ 실행만 시켰을 뿐인데 tempuser 계정에서 root로 바뀐 것을 확인 할 수있다.

☞ 이 쉘을 직접 종료시킬 때까지 root 사용자로 유지가 됨.


※ backdoor : 재방문시 손쉽게 재침입하기 위해서.. 1개가 아닌 몇천개의 수많은 백도어를 생성해 놓음.




[Tip]

- ls -al 의 단축키 : ll




i2sec 대구지점 23기 수료생.

'해킹&보안 > Linux' 카테고리의 다른 글

[D+10] Link  (0) 2017.02.20
[D+9] Process Management  (0) 2017.02.17
[D+7] 유저 관리  (0) 2017.02.15
[D+7] 리눅스 커맨드 (3)  (0) 2017.02.15
[D+6] 리눅스 커맨드 (2)  (0) 2017.02.14