일반사항
- 점검내용 : 해독 가능한 암호화 사용 여부 점검
- 점검목적 : ‘해독 가능한 암호화를 사용하여 암호 저장‘ 정책이 설정되어 사용자 계정 비밀번호가 해독 가능한 텍스트 형태로 저장 되는 것을 차단하기 위함
- 보안위협 : 위 정책이 설정된 경우 OS에서 사용자 ID, PW를 입력받아 인증을 진행하는 응용프로그램 프로토콜 지원 시 OS 는 사용자의 PW 를 해독 가능한 방식 으로 암호를 저장하기 때문에, 노출된 계정에 대해 공격자가 암호 복호화 공 격으로 PW를 획득하여 네트워크 리소스에 접근할 수 있음
- 참고 : ‘해독 가능한 암호화를 사용하여 암호 저장‘ 정책은 암호를 암호화 하지 않은 상태로 저장하여 일반 텍스트 버전의 암호를 저장하는 것과 같으나 시스템에서 기본적으로 동 작하지는 않음
- 점검대상 및 판단기준
- 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
- 판단기준
- 양호 : "해독 가능한 암호화를 사용하여 암호 저장" 정책이 "사용 안함"으로 되어 있는 경우
- 취약 : "해독 가능한 암호화를 사용하여 암호 저장" 정책이 "사용" 으로 되어 있는 경우
- 점검 및 조치
- Window NT, 2000, 2003, 2008, 2012, 2016, 2019
- 시작 > 실행 > Secpol.msc > 계정 정책 > 암호 정책
- "해독 가능한 암호화를 사용하여 암호 저장"을 "사용 안 함"으로 설정
- Window NT, 2000, 2003, 2008, 2012, 2016, 2019
스크립트
@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
파일의 검사결과는 C:\INPSECT아래 오늘날짜로 이루어진 폴더에 들어가 있다. secedit은 관리자 권한을 필요로 하니, "반드시" 관리자 권한으로 실행시켜주기를 바란다.
- INSPECT_OUTPUT.txt : W-05 항목의 PASS/FAIL여부가 들어있다. 다른 취약점 스크립트의 결과도 이곳에 기록된다.
- W_05.txt : 점검 결과인 평문으로 패스워드 저장 정책의 결과가 기록되어있다.
첨언
평문저장 패스워드는 어떻게 되던간에 위험하다. 윈도우의 계정정보파일인 SAM에 평문이 저장된다는것은 이 파일이 탈취되는 순간 패스워드의 정보가 다 보여진다는 뜻이니 말이다. 왜 만든것인지는 모르겠지만 우선 ClearTextPassword는 사용하지 말자
'정보보안-이론 > KISA주요정보통신기반시설 취약점가이드' 카테고리의 다른 글
[KISA 주요정보통신기반시설] W-07 공유 권한 및 사용자 그룹 설정 (0) | 2022.02.27 |
---|---|
[KISA 주요정보통신기반시설] W-06 관리자 그룹에 최소한의 사용자 포함 (0) | 2022.02.26 |
[KISA 주요정보통신기반시설] W-04 계정 잠금 임계값 설정 (0) | 2022.02.26 |
[KISA 주요정보통신기반시설] W-03 불필요 계정점검 (0) | 2022.02.26 |
[KISA 주요정보통신기반시설] W-02 Guest 계정 비활성화 여부 (0) | 2022.02.26 |