U-15 world writable 파일 점검
항목중요도 : 상
1. 취약점 개요
▶ 점검내용 : 불필요한 world writable 파일 존재 여부 점검
▶ 점검목적 : world writable 파일을 이용한 시스템 접근 및 악의적인 코드 실행을 방지하기 위함
▶ 보안위협
· 시스템 파일과 같은 중요 파일에 world writable 설정이 될 경우, 일반사용자 및 비인가된 사용자가 해당 파일을 임의로 수정, 삭제가 가능함
▶ 참고
※ world writable 파일: 파일의 내용을 소유자나 그룹 외 모든 사용자에 대해 쓰기가 허용된 파일
(예 : rwxrwxrwx root root <파일명>)
2. 점검대상 및 판단 기준
▶ 대상 : SOLARIS, LINUX, AIX, HP-UX 등
▶ 판단기준
· 양호 : 시스템 중요 파일에 world writable 파일이 존재하지 않거나, 존재 시 설정 이유를 확인하고 있는 경우
· 취약 : 시스템 중요 파일에 world writable 파일이 존재하나 해당 설정 이유를 확인하고 있지 않는 경우
▶ 조치방법 : world writable 파일 존재 여부를 확인하고 불필요한 경우 제거
3. LINUX 초기 설정값
※ 테스트한 LINUX의 버전은 AWS로 구성된 CentOS 9 입니다.
확인방법
가이드북에 나온 방법입니다.
이방법으로 확인하시면 정말 어마무시하게 많은 파일을 볼수 있습니다.
$ find / -type f -perm -2 -exec ls -l {} \;
다른방법으로 확인해보겠습니다.
[ec2-user@localhost ~]$ cd /
[ec2-user@localhost /]$ ls
afs boot dev home lib64 mnt proc run srv tmp var
bin data etc lib media opt root sbin sys usr
이 파일 중 중요하다고 추측되는 파일 위주로 우선 점검해주면됩니다.
- /boot: 커널 및 부트로더 관련 파일이 위치합니다. 시스템 부팅에 필요합니다.
- /etc: 시스템 설정 파일이 저장되는 디렉터리입니다. 중요한 구성 파일들이 여기에 있습니다.
- /bin: 필수 명령어 실행 파일들이 포함되어 있습니다. 시스템 작동에 필요합니다.
- /sbin: 시스템 관리 명령어 실행 파일들이 위치합니다. 주로 관리자 권한이 필요합니다.
- /usr: 사용자 프로그램과 관련된 파일들이 저장됩니다. 추가 소프트웨어와 라이브러리가 포함됩니다.
- /var: 로그 파일, 캐시 및 가변 데이터가 저장되는 디렉터리입니다.
- /tmp: 임시파일이 저장되는 디렉터리 입니다.
이런식으로 검색해주면됩니다.
[ec2-user@localhost ~]$ sudo find /boot -type f -perm -2 -exec ls -l {} \;
sudo find /etc -type f -perm -2 -exec ls -l {} \;
sudo find /bin -type f -perm -2 -exec ls -l {} \;
sudo find /sbin -type f -perm -2 -exec ls -l {} \;
sudo find /usr -type f -perm -2 -exec ls -l {} \;
sudo find /var -type f -perm -2 -exec ls -l {} \;
sudo find /tmp -type f -perm -2 -exec ls -l {} \;
# 결과값
-rwxrwxrwx. 1 ec2-user ec2-user 0 Oct 21 22:11 /tmp/testfile/file1
이 취약한 파일은 제가 임의로 만든 파일입니다. 이렇게 777로 되어있어 취약입니다.
4. 조치
조치를 해보겠습니다.
# 1) 일반 사용자 쓰기 권한 제거 방법
$ chmod o-w <file_name>
# 2) 파일 삭제 방법
$ rm -rf <world-writable 파일명>
권한을 변경해보겠습니다.
[ec2-user@localhost ~]$ chmod o-w /tmp/testfile/file1
5. 결과
이렇게 변경이 되었습니다.
[ec2-user@localhost ~]$ ll
total 0
-rwxrwxr-x. 1 ec2-user ec2-user 0 Oct 21 22:11 file1
권한이 777 -> 775 로 변경되었습니다.
Linux를 마스터하는 그날까지
화이팅!
'취약점 진단 > UNIX 취약점 진단' 카테고리의 다른 글
[UNIX] U-17 $HOME/.rhosts, hosts.equiv 사용 금지 (0) | 2024.10.23 |
---|---|
[UNIX] U-16 /dev에 존재하지 않는 device 파일 점검 (0) | 2024.10.22 |
[UNIX] U-14 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정 (0) | 2024.10.20 |
[UNIX] U-13 SUID, SGID, 설정 파일점검 (0) | 2024.10.13 |
[UNIX] U-12 /etc/services 파일 소유자 및 권한 설정 (2) | 2024.10.06 |