취약점 개요 | |
점검 내용 | root 계정의 PATH 환경변수에 “.”이(마침표) 포함되어 있는지 점검 |
점검 목적 | 비인가자가 불법적으로 생성한 디렉터리 및 명령어를 우선으로 실행되지 않도록 설정하기 위해 환경변수 점검이 필요함 |
보안 위협 | root 계정의 PATH(환경변수)에 정상적인 관리자 명령어(예: ls, mv, cp등)의 디렉터리 경로 보다 현재 디렉터리를 지칭하는 “.” 표시가 우선하면 현재 디렉터리에 변조된 명령어를 삽입하여 관리자 명령어 입력 시 악의적인 기능이 실행 될 수 있음 |
참고 | ※ 환경변수: 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 집합 으로 Path 환경변수는 실행파일을 찾는 경로에 대한 변수임 |
점검대상 및 판단 기준 | |
대상 | LINUX |
판단기준 | 양호 : PATH 환경변수에 “.” 이 맨 앞이나 중간에 포함되지 않은 경우 |
취약 : PATH 환경변수에 “.” 이 맨 앞이나 중간에 포함되어 있는 경우 | |
조치 방법 | root 계정의 환경변수 설정파일(“/.profile”, “/.cshrc” 등)과 “/etc/profile” 등에서 PATH 환경변수에 포함되어 있는 현재 디렉터리를 나타내는 “.”을 PATH 환경변수의 마지막으로 이동 ※ “/etc/profile”, root 계정의 환경변수 파일, 일반계정의 환경변수 파일을 순차 적으로 검색하여 확인 |
점검 및 조치 | |
점검 | #echo $PATH /usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin/X11: /usr/local/bin:/usr/bin:/usr/X11R6/bin:/root/bin 위와 같이 출력되는 PATH 변수 내에 “.” 또는, “::” 포함 여부 확인 |
PATH 변수 내에 “.”, “::” 이 맨 앞에 존재하는 경우 아래의 보안설정방법에 따라 설정을 변경함 | |
조치 | Step 1) vi 편집기를 이용하여 root 계정의 설정파일(~/.profile 과 /etc/profile) 열기 #vi /etc/profile Step 2) 아래와 같이 수정 (수정 전) PATH=.:$PATH:$HOME/bin (수정 후) PATH=$PATH:$HOME/bin:. ※ 환경변수 파일은 OS별로 약간씩 다를 수 있음 |
점검 스크립트
#!/bin/bash
. function.sh
BAR
CODE [U-05] root홈, 패스 디렉터리 권한 및 패스 설정
cat << EOF >> $RESULT
[양호]: PATH 환경변수에 “.” 이 맨 앞이나 중간에 포함되지 않은 경우
[취약]: PATH 환경변수에 “.” 이 맨 앞이나 중간에 포함되지 않은 경우
EOF
BAR
CHECK=$(echo $PATH | egrep "\.:|::|:.:" )
if [ -z $CHECK ] ; then
OK "PATH 환경변수에 “.” 이 맨 앞이나 중간에 포함되지 않은 경우"
else
VULN "PATH 환경변수에 “.” 이 맨 앞이나 중간에 포함되지 않은 경우"
fi
cat $RESULT
'Hacking > infra 진단' 카테고리의 다른 글
[Linux] U-07 (상) /etc/passwd 파일 소유자 및 권한 설정 (0) | 2021.08.17 |
---|---|
[Linux] U-06 (상) 파일 및 디렉터리 소유자 설정 (0) | 2021.08.17 |
[Linux] U-04 (상) 패스워드 파일 보호 (0) | 2021.08.17 |
[Linux] U-03 (상) 계정 잠금 임계값 설정 (0) | 2021.08.17 |
[Linux] U-02 (상) 패스워드 복잡성 설정 (0) | 2021.08.17 |