728x90
반응형
취약점 분석 스크립트
#!/bin/bash
# log파일로 해당 진단 내용 파일 생성
. function.sh
TMP1=`SCRIPTNAME`.log
> $TMP1
BAR
CODE [ U-51 ] 계정이 존재하지 않는 GID 금지
cat << EOF >> $RESULT
[ 양호 ] : 시스템 관리나 운용에 불필요한 그룹이 삭제 되어있는 경우
[ 취약 ] : 시스템 관리나 운용에 불필요한 그룹이 존재할 경우
EOF
BAR
FILE1=/etc/group
FILE2=/etc/passwd
awk -F: '{print $1}' $FILE2 > tmp.log # 사용자명 추출
TRUEFALSE=1
# 두 파일을 비교하여 불필요한 그룹 존재 확인
for LINE1 in `cat $FILE1`
do
# 사용자에 대한 그룹 출력
GROUPNAME=`echo $LINE1 | awk -F: '{print $1}'` # 사용자명 추출
LINE2=`echo $LINE1 | awk -F: '{print $4}'` # 사용자에 대한 그룹 추출
if [ $LINE2 ] ; then
for CHECKUSER in `echo $LINE2 | sed 's/,/ /g'`
do
# 존재하지 않는 사용자 확인
grep –w “^$CHECKUSER” tmp.log >/dev/null 2>&1
if [ $? -eq 0 ] ; then
echo "$GROUPNAME 에 속한 $CHECKUSER 사용자는 사용자가 존재하지 않습니다." >> $TMP1
TRUEFALSE=0
fi
done
fi
done
# 그룹 내 존재하지 않는 계정 확인
if [ $TRUEFALSE -eq 0 ] ; then
WARN 그룹내에 존재하지 않는 계정이 포함되어 있습니다.
INFO $TMP1 파일을 확인해야 합니다.
else
OK 그룹내에 존재하지 않는 계정이 포함되어 있지 않습니다.
rm $TMP1
fi
rm tmp.log
cat $RESULT
echo;
- 스크립트 실행 결과
728x90
반응형