정보보안-이론/KISA주요정보통신기반시설 취약점가이드

[KISA 주요정보통신기반시설] W-07 공유 권한 및 사용자 그룹 설정

일반사항

  • 점검내용 : 공유 디렉토리 내 Everyone 권한 존재 여부 점검
  • 점검목적 : 디폴트 공유인 C$, D$, Admin$, IPC$ 등을 제외한 공유 폴더에 Everyone 그룹으로 공유되는 것을 금지하여 익명 사용자의 접근을 차단하기 위함
  • 보안위협 : Everyone이 공유계정에 포함되어 있으면 익명 사용자의 접근이 가능하여 내 부 정보 유출 및 악성코드의 감염 우려가 있음
  • 점검대상 및 판단기준 
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : 일반 공유 디렉토리가 없거나 공유 디렉토리 접근 권한에 Everyone 권한이 없는 경우
      • 취약 : 일반 공유 디렉토리의 접근 권한에 Everyone 권한이 있는 경우

 

  • 점검 및 조치
    • Window NT 
      • 프로그램 > 관리도구 > 서버 관리자 > 컴퓨터 > 공유 디렉토리 > 등록정보 > 사용 권한에서 Everyone으로 된 공유를 제거하고 접근이 필요한 계정의 적절한 권한 추가
      • "Administrator" 그룹에서 불필요한 계정 제거 후 그룹 변경
    • 2000, 2003, 2008, 2012, 2016, 2019
      • 시작 > 실행 > FSMGMT.msc > 공유
      • 사용 권한에서 Everyone으로 된 공유를 제거하고 접근이 필요한 계정의 적절한 권한 추가

스크립트

@echo off
chcp 437 >nul 2>&1

:W_07

set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%

set OUTPUT_DIRECTORY=C:\INSPECT\%YEAR%_%MONTH%_%DAY%_INSPECTION\
set OUTPUT_FILE=%OUTPUT_DIRECTORY%INSPECTION_OUTPUT.txt
set DETAIL_FILE=%OUTPUT_DIRECTORY%W_07.txt

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-07] Share File System Check 			>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Inspect Everyone Share is configured at  		>> %DETAIL_FILE%
echo ::  more than default share Drive	 			>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  RESULT : Always "Need Review"			>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  MADE By REDUCTO https://tutoreducto.tistory.com/	>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::			>> %DETAIL_FILE%
echo. 							>> %DETAIL_FILE%

net share > %OUTPUT_DIRECTORY%tmp_w_07.txt

echo SHARE FILE LIST : >> %DETAIL_FILE%
type %OUTPUT_DIRECTORY%tmp_w_07.txt >> %DETAIL_FILE%
echo. >> %DETAIL_FILE%

for /f "skip=4 tokens=1,2 delims= " %%a in (%OUTPUT_DIRECTORY%tmp_w_07.txt) do (
  echo --------------------------------------------- >>%DETAIL_FILE%
  echo. >> %DETAIL_FILE%
  echo %%a authority list : >> %DETAIL_FILE%
  icacls %%b >>%DETAIL_FILE% 2>nul
  echo. >> %DETAIL_FILE%
) 
set result=W-07 = Need Review

echo %result%
echo %result% >> %OUTPUT_FILE%

if EXIST %OUTPUT_DIRECTORY%tmp_w_07.txt (del %OUTPUT_DIRECTORY%tmp_w_07.txt)

:FINISH
pause >nul 2>&1

 

W_07.zip
0.00MB

 

 

파일의 검사결과는 C:\INPSECT아래 오늘날짜로 이루어진 폴더에 들어가 있다. 

  • INSPECT_OUTPUT.txt : W-07 Need Review가 기록되어있다.
  • W_07.txt : 점검 결과인 공유폴더별 권한이 목록화 되어있다.

첨언

net share명령어를 통해서 공유폴더 목록을 가져오는데, for문안에서 %errorlevel%처리가 0으로 고정되는 bat의 특성상 마지막줄의 빈칸하고 프로세스 정보교환에 사용되는 IPC는 검색결과가 NON으로 나온다. 혀튼, 공유폴더를 네트워크에 올리는것으로도 사실은 적절한 보안조치가 없다면 위험한 행위이다. 어찌되었든 어떠한 머신에서 제공되는 폴더가 네트워크에 올라가는 것이고 그것이 모든 사용자에게 허용된다면 횡적이동도 가능할테니 말이다.

 

 

[KISA 주요정보통신기반시설] 취약점 가이드 목록

KISA에서 배포하는 기술적 취약점 분석 평가 방법상세가이드라는 가이드가 있다. OS별로, 서버/클라이언트별로 세부항목으로 관리해야하는 기본적인 정보보안 기법이 기재되어있는데, 최근에 사

tutoreducto.tistory.com