일반사항

  • 점검내용 : 시스템 내 불필요한 계정 및 의심스러운 계정의 존재 여부를 점검
  • 점검목적 : 퇴직, 전직, 휴직 등의 이유로 더 이상 사용하지 않는 계정, 불필요한 계정 및 의심스러운 계정을 삭제하여, 일반적으로 로그인이 필요치 않은 해당 계정들을 통한 로그인을 차단하고, 계정의 패스워드 추측 공격 시도를 차단하고자 함
  • 보안위협 : 관리되지 않은 불필요한 계정은 장기간 패스워드가 변경되지 않아 무작위 대입 공격(Brute Force Attack)이나 패스워드 추측 공격 (Password Guessing Attack)의 가능성이 존재하며, 또한 이런 공격에 의해 계정 정보가 유출되어 도 유출 사실을 인지하기 어려움
  • 참고 : ※ 무작위 대입 공격(Brute Force Attack): 컴퓨터로 암호를 해독하기 위해 조합 가능한 모든 경우의 수를 다 대입해보는 것을 말함

 

  • 점검대상 및 판단기준 
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : 불필요한 계정이 존재하지 않는 경우
      • 취약 : 불필요한 계정이 존재하는 경우

 

  • 점검 및 조치
    • Window NT
      • 시작 > 프로그램 > 관리도구 > 도메인 사용자 관리 > 계정 선택 > 등록 정보
      • "계정 사용 안 함"에 체크하거나 계정 삭제
    • 2000, 2003, 2008, 2012, 2016, 2019
      • 시작 > 실행 > Lusrmgr.msc > 사용자
      • 등록된 계정 중 불필요한 사용자 선택 > 속성 > "계정 사용 안 함"에 체크하거나 계정 삭제

스크립트

@echo off
chcp 437 >nul 2>&1

:W_03

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

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-03] Unneeded Account Check			>> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  Check Existence of Unneeded Account			>> %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 user 	>> %DETAIL_FILE%

rem Please Write Customized DSQUERY Command for needed

set result=W_03 = Need Review
echo %result%
echo %result% >> %OUTPUT_FILE%

:FINISH
pause >nul 2>&1

 

 

W_03.zip
0.00MB

 

 

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

  • INSPECT_OUTPUT.txt : W-03 = Need Review가 들어있다.
  • W_03.txt : 단말기의 계정 목록이 들어있다.

첨언

해당명령 net user은 로컬계정에 대한 정보만을 불러온다. Window Server의 Active Directory User는 dsquery 문을 사용하여야한다. dsquery는 옵션을 AD구성에 맞추어 주어야하기 때문에 우선은 스크립트에 포함하지 않았다.(루프돌리면 되는거 같긴한데, 귀찮다. 다음에 할 일있으면 작성해봐야징 에헿) net user 아래 주석(rem)에 dsquery list문을 추가해서 사용해주시기를 바란다.

 

불필요한 계정의 차단은 정보보안의 접근통제에서 많이 중요하다. 과거의 계정은 누군가가 사용했던 계정이고, 접근을 다시 허가할 수 있는 Point를 주는것이기도 하며, 관리책임의 바깥에 존재하는 계정을 살려둠으로서 Attack Surface또한 증가될 수 있다. 오랜기간(보통 30~60일)미사용되었거나, 전속, 퇴직을 하게되는 인원은 비활성화/삭제해두도록 하자

 

 

 

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

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

tutoreducto.tistory.com

 

일반사항

  • 점검내용 : 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

 

일반사항

  • 점검내용 : 윈도우즈 최상위 관리자 계정인 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

 

+ Recent posts