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

[KISA 주요정보통신기반시설] W-05 해독 가능한 암호화를 사용하여 암호 저장 해제

일반사항

  • 점검내용 : 해독 가능한 암호화 사용 여부 점검
  • 점검목적 : ‘해독 가능한 암호화를 사용하여 암호 저장‘ 정책이 설정되어 사용자 계정 비밀번호가 해독 가능한 텍스트 형태로 저장 되는 것을 차단하기 위함
  • 보안위협 : 위 정책이 설정된 경우 OS에서 사용자 ID, PW를 입력받아 인증을 진행하는 응용프로그램 프로토콜 지원 시 OS 는 사용자의 PW 를 해독 가능한 방식 으로 암호를 저장하기 때문에, 노출된 계정에 대해 공격자가 암호 복호화 공 격으로 PW를 획득하여 네트워크 리소스에 접근할 수 있음
  • 참고 : ‘해독 가능한 암호화를 사용하여 암호 저장‘ 정책은 암호를 암호화 하지 않은 상태로 저장하여 일반 텍스트 버전의 암호를 저장하는 것과 같으나 시스템에서 기본적으로 동 작하지는 않음

 

  • 점검대상 및 판단기준 
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : "해독 가능한 암호화를 사용하여 암호 저장" 정책이 "사용 안함"으로 되어 있는 경우
      • 취약 : "해독 가능한 암호화를 사용하여 암호 저장" 정책이 "사용" 으로 되어 있는 경우

 

  • 점검 및 조치
    • Window NT, 2000, 2003, 2008, 2012, 2016, 2019 
      • 시작 > 실행 > Secpol.msc > 계정 정책 > 암호 정책
      • "해독 가능한 암호화를 사용하여 암호 저장"을 "사용 안 함"으로 설정

스크립트

@echo off
chcp 437 >nul 2>&1

:W_05

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

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-05] ClearPassword Check 			>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Check ClearPassword is set			>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  PASS : ClearTextPassword is disabled at policy		>> %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:"ClearTextPassword" > %OUTPUT_DIRECTORY%tmp_w_05.txt
for /f "tokens=1,2 delims==" %%a in (%OUTPUT_DIRECTORY%tmp_w_05.txt) do set conf=%%b

if %conf% EQU 0 (
  set result=W-05 = FAIL
  echo ClearPassword is set	>> %DETAIL_FILE%
) else (
  set result=W-05 = PASS
  echo ClearPassword is unset	>> %DETAIL_FILE%
)

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

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

:FINISH
pause >nul 2>&1

 

W_05.zip
0.00MB

 

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

  • INSPECT_OUTPUT.txt : W-05 항목의 PASS/FAIL여부가 들어있다. 다른 취약점 스크립트의 결과도 이곳에 기록된다.
  • W_05.txt : 점검 결과인 평문으로 패스워드 저장 정책의 결과가 기록되어있다.

첨언

평문저장 패스워드는 어떻게 되던간에 위험하다. 윈도우의 계정정보파일인 SAM에 평문이 저장된다는것은 이 파일이 탈취되는 순간 패스워드의 정보가 다 보여진다는 뜻이니 말이다. 왜 만든것인지는 모르겠지만 우선 ClearTextPassword는 사용하지 말자

 

 

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

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

tutoreducto.tistory.com