1. root 홈, 패스 디렉터리 권한 및 패스 설정
root 계정의 PATH 환경변수에 "."(현재 디렉터리 지칭)이 포함되어 있으면 root계정으로 접속한 관리자가 의도하지 않은 현재 디렉터리에 위치하고 있는 명령어가 실행될 수 있다..고?? 즉, "."이 /usr/bin, /bin, /sbin 등 명령어들이 위치하고 있는 디렉터리보다 우선하여 위치하고 있을 경우, root 계정으로 접속한 관리자가 특정 명령을 실행하면, 불법적으로 현재 디렉터리에 위치시킨 파일을 실행하여 예기치 않은 결과를 가져올 수 있다.
환경변수가 순서대로 실행되나보다
실습(Linux)
root 의 $PATH 경로의 맨 앞에 "." 추가
vi .bash_profile 열어서 수정하면 됨
PATH=.:$PATH 이렇게 하고나서 echo $PATH 라고 하면 그 값들이 나오고 . 이 맨 앞이다
* 환경변수 설정 이유 : 명령 등이 속해 있는 디렉터리를 환경 변수 $PATH에 등록함으로써 사용하고자 하는 명령 등을 전체 경로를 적거나 혹은 해당 디렉터리에 들어가 실행하는 번거로움을 없애 작업 생산성을 높이기 위함입니다.
출처: https://wnw1005.tistory.com/264 [씨실과 날실 - IT]
근데 . 있다고 홈에서 시작된다니 참 무슨말이여
무튼 저렇게 되면 루트 홈 디렉터리에 공격자에 의해 조작된 프로그램이 위치하고
(원래는 /bin 이나 /sbin에 있어야 하는데 같은 이름의 프로그램을 홈에 만들어놓는거지)
그러면 악성코드가 실행됨. 심지어 원래 입력한 명령어는 그대로 작동시키면서 백그라운드로 작동할 수 있는거
2. 파일 및 디렉터리 소유자/소유그룹 설정
소유자/소유그룹이 존재하지 않는 파일 및 디렉터리는 현재 없는 사용자의 소유였거나 관리 소홀로 생긴 파일
사용하지 않는 디렉터리 파일로 인해 시스템 자원 낭비가 되고 중요파일/디렉터리인 경우 관리가 안되는 문제있음
찾는 방법은 사용자를 userdel 로 삭제 하고 나면 algisa1 kiwi 이런 사용자 명이나 그룹명이 UID GID로만 표기됨
그래서 나는 숫자만 있는 애들을 찾기로 생각했는데 그거말고 다른 방법이 있네
find . \(-nouser -o -nogroup) \) -exec ls -al {} \;
find 현재 디렉터리에서 사용자나 그룹이 없는 파일들을 찾아서 ls -al로 표시해라
명령어 뭐게?
3. world writable 파일 점검
모든 사용자에게 쓰기 권한이 부여되어있는 파일이 world writable 파일임
모든 사용자가 접근 및 수정할 수 있는 권한으로 설정된 파일이 존재할 경우 일반 사용자의 실수 또는 악의적으로 주요 파일 정보를 변경할 수 있기 때문에 시스템 장애나 추가적인 공격에 활용될 수 있는 문제 있음
find /TEST -perm -2 -exec ls -al {} \; (others 에 쓰기권한이 부여된 파일 및 디렉터리 검색)
find /TEST -perm -0002 exec ls -al {} \; (이건 무슨 뜻일까? 모든 사용자가 기록할 수 있는 파일?)
4. 주요 파일 소유자 및 권한 설정
/etc/passwd : root 소유 644 이하
/etc/shadow : root 소유 400 이하
/etc/hosts : IP와 호스트 이름을 매핑하는데 사용하는 파일 / root 소유 600 이하
/etc/(x)inetd.conf : root 소유 / 644이하
/etc/services : root 소유 / 644 이하
'정보보안기사 실기' 카테고리의 다른 글
정보보안기사 _ 10일차 _ 보안운영체제 (0) | 2022.04.18 |
---|---|
정보보안기사 _ 9일차 _ 문제풀이 기반 정리 (0) | 2022.04.15 |
정보보안기사 _ 8일차 _ Unix/Linux 서버 취약점 _ 계정관리 (0) | 2022.04.13 |
정보보안기사 _ 7일차 _ 시스템 기본 학습 _ 시스템해킹 (레이스컨디션) (0) | 2022.04.12 |
정보보안기사 _ 6일차 _ 시스템 기본 학습 _ 시스템해킹(버퍼오버플로우) (0) | 2022.04.06 |