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

[KISA 주요정보통신기반시설] W-02 Guest 계정 비활성화 여부

일반사항

  • 점검내용 : Guest 계정 비활성화 여부 점검
  • 점검목적 : Guest 계정을 비활성화 하여 불특정 다수의임시적인 시스템 접근을 차단하기 위함
  • 보안위협 : 일반적으로 관리자 계정으로 잘 알려진 Administrator를 변경하지 않은 경우 악의적인 사용자의 패스워드 추측 공격을 통해 사용 권한 상승의 위험이 있으며, 관리자를 유인하여 침입자의 액세스를 허용하는 악성코드를 실행할 우려가 있음
  • 보안위협 : Guest 계정은 시스템에 임시로 액세스해야 하는 사용자용 계정으로, 이 계정을 사용하여 권한 없는 사용자가 시스템에 익명으로 액세스할 수 있으므로 비인가자 접근, 정보 유출 등 보안 위험이 따를 수 있음=
  • 참고 : 윈도우즈 Guest 계정은 삭제가 불가능한 built-in 계정으로 보안 강화 목적으로 반드시 비활성화 처리 하여야 함

 

  • 점검대상 및 판단기준 
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : Guest 계정이 비활성화 되어있는 경우
      • 취약 : Guest 계정이 활성화 되어있는 경우

 

  • 점검 및 조치
    • Window NT 
      • 시작 > 프로그램 > 제어판 > 관리도구 > 도메인 사용자 관리 > Guest 계정 선택 > 등록정보
      • "계정 사용 안함"에 체크
    • 2000, 2003, 2008, 2012, 2016, 2019
      • 시작 > 실행 > Lusrmgr.msc > 사용자 > GUEST > 속성
      • "계정 사용 안 함"에 체크

 

 


스크립트

@echo off
chcp 437 >nul 2>&1

:W_02

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_02.txt

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-02] Guest Account Disabled 			>> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  Check Disabled Status of Guest Account		>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  PASS : Pass if Guest Account is Disabled		>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  MADE By REDUCTO https://tutoreducto.tistory.com/	>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::			>> %DETAIL_FILE%
echo. 							>> %DETAIL_FILE%

secedit /export /cfg %OUTPUT_DIRECTORY%secedit.txt >nul 2>&1

type %OUTPUT_DIRECTORY%secedit.txt | findstr /bic:"NewGuestName" > %OUTPUT_DIRECTORY%tmp_w_02.txt
for /f "tokens=1,2 delims==" %%a in (%OUTPUT_DIRECTORY%tmp_w_02.txt) do set conf=%%b

echo Guest Name is %conf%			>> %DETAIL_FILE%

net user %conf% | find /i "Account active" > %OUTPUT_DIRECTORY%tmp_w_02.txt
for /f "tokens=1,3 delims= " %%a in (%OUTPUT_DIRECTORY%tmp_w_02.txt) do set conf=%%b

echo Guest Account is activated? "%conf%"		>> %DETAIL_FILE%

if %conf% EQU Yes (set result=W_02 = FAIL) else (set result=W_02 = PASS)
echo %result%
echo %result% >> %OUTPUT_FILE%

if EXIST %OUTPUT_DIRECTORY%tmp_w_02.txt (del %OUTPUT_DIRECTORY%tmp_w_02.txt)
if EXIST %OUTPUT_DIRECTORY%secedit.txt (del %OUTPUT_DIRECTORY%secedit.txt)

:FINISH
pause >nul 2>&1

W_02.zip
0.00MB

 

 

파일의 검사결과는 C:\INPSECT아래 오늘날짜로 이루어진 폴더에 들어가 있다. secedit은 관리자 권한을 필요로 하니, "반드시" 관리자 권한으로 실행시켜주기를 바란다. 

  • INSPECT_OUTPUT.txt : W-01 항목의 PASS/FAIL여부가 들어있다. 다른 취약점 스크립트의 결과도 이곳에 기록된다.
  • W_02.txt : 점검 결과인 Guest 계정의 비활성화 여부가 기록되어있다. 혹시나해서 Guest의 이름도 적어둔다.

첨언

Guest계정의 가장 큰 문제중 하나는 책임추적이 불가하다는 것이다. Built-in 계정이자 공용계정이기 떄문에 여러명이 접근하는 서버의 특성상 이 계정으로 무엇인가를 하면, 책임추적을 성립시킬 방법이 없다. 비활성화는 "반드시" 하도록 하자 혹은 이를 보완할 수 있는 다른 정책을 수립하여야한다.

 

 

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

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

tutoreducto.tistory.com