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

[KISA 주요정보통신기반시설] W-01 Administrator 계정 이름 변경 및 보안성 강화

일반사항

  • 점검내용 : 윈도우즈 최상위 관리자 계정인 Administrator의 계정명 변경 또는 보안을 고려한 비밀번호 설정 여부 점검
  • 점검목적 : 위도우즈 기본 관리자 계정인 Administrator의 이름을 변경 또는 보안을 고려한, 잘 알려진 계정을 통한 악의적인 패스워드 추측 공격을 차단
  • 보안위협
    • 일반적으로 관리자 계정으로 잘 알려진 Administrator를 변경하지 않은 경우 악의적인 사용자의 패스워드 추측 공격을 통해 사용 권한 상승의 위험이 있으며, 관리자를 유인하여 침입자의 액세스를 허용하는 악성코드를 실행할 우려가 있음
    • 윈도우즈 최상위 관리자 계정인 Administrator는 기본적으로 삭제하거나 잠글 수 없어 악의적인 사용자의 목표가 됨
  • 참고 : 윈도우즈 서버는 Administrator 계정을 비활성화 할 수 있으나 안전 모드로 컴퓨터를 시작할 경우 본 계정은 자동으로 활성화 됨

 

  • 점검대상 및 판단기준 
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : Administrator Default 계정 이름을 변경하거나 강화된 비밀번호를 적용한 경우
      • 취약 : Adminsitrator 계정 이름 변경 및 보안성이 있는 비밀번호 설정

 

  • 점검 및 조치
    • Window NT, 2000, 2003, 2008, 2012, 2016, 2019 
      • 시작 > 프로그램 > 제어판 > 관리도구 > 로컬 보안 정책 > 로컬 정책 > 보안옵션
      • "계정 : Administrator 계정 이름 바꾸기"를 유추하기 어려운 계정 이름으로 변경

스크립트

@echo off
chcp 437 >nul 2>&1

:W_01

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

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-01] Administrator Name Check 			>> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  Check Administrator's Name is configured,		>> %DETAIL_FILE%
echo ::  Password is set					>> %DETAIL_FILE%
echo ::								>> %DETAIL_FILE%
echo ::  PASS : Default Administrator name is changed or	>> %DETAIL_FILE%
echo ::  Strong Password is applied				>> %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
set vulcount=0

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

if %conf% EQU "Administrator" (set /A vulcount+=1)
echo Administrators Account Name is %conf%			>> %DETAIL_FILE%

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

if %conf% NEQ Yes (set /A vulcount+=1)
echo Administrator PASSWORD Required? "%conf%"		>> %DETAIL_FILE%

if %vulcount% EQU 2 (set result=W_01 = FAIL) else (set result=W_01 = PASS)
echo %result%
echo %result% >> %OUTPUT_FILE%

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

:FINISH
pause >nul 2>&1

 

W_01.zip
0.00MB

 

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

  • INSPECT_OUTPUT.txt : W-01 항목의 PASS/FAIL여부가 들어있다. 다른 취약점 스크립트의 결과도 이곳에 기록된다.
  • W_01.txt : 점검 결과인 Default Administrator의 계정명과 패스워드가 필요한지가 기록되어 있다.

첨언

Default Administrator의 계정명을 바꾸는것은 과연 안전한 것일까에 대한 물음의 대답은 "YES"이다. 당연한 이야기 처럼 들릴 수 있으니까 말이다. KISA지침에서는 계정명변경 OR 패스워드 설정이 되어있으면 위 항목에 PASS를 주었는데, 사실 얼만 안걸리니까 Administrator의 비밀번호랑 계정명 전부 바꾸어 두자

 

 

 

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

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

tutoreducto.tistory.com