728x90
반응형
취약점 분석 스크립트
#!/bin/bash
. function.sh
BAR
CODE [ U-07 ] /etc/passwd 파일 소유자 및 권한 설정
cat << EOF >> $RESULT
[ 양호 ] : /etc/passwd 파일의 소유자가 root이고, 권한이 644 이하인 경우
[ 취약 ] : /etc/passwd 파일의 소유자가 root가 아니거나, 권한이 644이 아닌 경우
EOF
BAR
PASSWDFILE=/etc/passwd
CHECK1=$(ls -l $PASSWDFILE | awk '{print $3}') # 소유자 뽑아내는 명령어
# 소유자 확인
if [ $CHECK1 == 'root' ] ; then
OK $PASSWDFILE 의 소유자는 root입니다.
else
WARN $PASSWDFILE 의 소유자가 root로 설정되어 있지 않습니다.
fi
# rwx 권한 확인
# -c : root 권한을 잠깐 얻어서 명령어만 실행함
# $? : 최근 실행된 명령어
CHECK2=`su - root -c 'find /etc/passwd -perm 644'`
if [ -n "$CHECK2" ] ; then # 출력 문자열이 0이 아닌 경우
OK $PASSWDFILE 의 권한 설정이 되어있습니다.
else
WARN $PASSWDFILE 의 권한 설정이 잘못 되어있습니다.
fi
cat $RESULT
echo;
- 파일의 소유자 및 권한을 확인한다.
ㄴ /etc/passwd는 644 root계정 소유자로 권한이 부여되어 있다.
- 스크립트를 실행한 결과는 다음과 같이 출력된다.
- 소유자가 root, chmod 권한이 644인 경우 양호하다는 결과가 나온다.
- 소유자가 root, chmod 권한이 644가 아닌 경우 취약하다는 결과가 나온다.
- 해당 로그파일을 확인해보면 소유자가 존재하지 않는 파일 및 디렉터리를 출력한다.
728x90
반응형