
주통기 ( 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드)
W-01, W-02, W-04, W-06 파트를 점검하는 스크립트를 작성해서 실행 해보자 !
저는 .bat 형식으로 스크립트를 작성해서 실행했습니다.
W-01 Administrator 계정 이름 변경 또는 보안성 강화
|
@echo off
chcp 949 > nul 2>&1 REM 한국어 코드 페이지 설정
echo ==========================
echo W-01 Administrator 계정 이름 변경 또는 보안성 강화 점검
echo ==========================
echo.
REM Administrator 계정 정보 확인
net user Administrator > temp.txt
REM 계정이 존재하는지 확인
findstr /C:"Administrator" temp.txt > nul
if %errorlevel% neq 0 (
echo Administrator 계정이 존재하지 않습니다.
goto end
)
REM 계정 이름 확인
for /f "tokens=3" %%A in ('findstr /C:"Full Name" temp.txt') do (
set adminName=%%A
)
if "%adminName%"=="Administrator" (
echo 경고: Administrator 계정 이름이 기본값입니다. 변경을 고려하세요.
set accountStatus=취약
) else (
echo Administrator 계정 이름이 변경되었습니다: !adminName!
set accountStatus=양호
)
REM 비밀번호 설정 확인 및 단순 비밀번호 체크
for /f "tokens=3" %%B in ('findstr /C:"Password required" temp.txt') do (
set passwordRequired=%%B
)
if /I "!passwordRequired!"=="No" (
echo 경고: Administrator 계정에 비밀번호가 설정되어 있지 않습니다. 보안을 강화하세요.
set passwordStatus=취약
) else (
echo Administrator 계정에 비밀번호가 설정되어 있습니다.
REM 비밀번호 복잡성 확인
set "simplePassword=1"
for /f "tokens=2" %%C in ('net user Administrator ^| findstr /C:"Password last set"') do (
set lastPasswordSet=%%C
)
REM 비밀번호가 단순한 경우를 체크
if "%lastPasswordSet%"=="Never" (
set passwordStatus=취약
echo 경고: 비밀번호가 설정되지 않거나 단순 비밀번호로 설정되어 있습니다.
) else (
set passwordStatus=양호
)
)
REM 최종 점검 결과 출력
echo.
echo ==========================
if "%accountStatus%"=="취약" (
echo 점검 결과: 취약
) else (
echo 점검 결과: 양호
)
if "%passwordStatus%"=="취약" (
echo 점검 결과: 취약
) else (
echo 점검 결과: 양호
)
del temp.txt
:end
pause
|

Administrator Default 계정 이름을 변경했고강화된 비밀번호를 적용했기에 계정이름과 비밀번호 설정에 양호가 뜬모습
W-02 Guest 계정 비활성화
|
@echo off
chcp 949 > nul 2>&1 REM 한국어 코드 페이지 설정
echo ==========================
echo W-02 Guest 계정 비활성화 여부 점검
echo ==========================
echo.
REM Guest 계정 정보 확인
net user Guest > temp.txt
REM 계정이 존재하는지 확인
findstr /C:"Guest" temp.txt > nul
if %errorlevel% neq 0 (
echo Guest 계정이 존재하지 않습니다.
goto end
)
REM Guest 계정 활성화 여부 확인
for /f "tokens=3" %%A in ('findstr /C:"Account active" temp.txt') do (
set accountActive=%%A
)
if /I "!accountActive!"=="Yes" (
echo 경고: Guest 계정이 활성화되어 있습니다. 비활성화가 필요합니다.
set accountStatus=취약
) else (
echo Guest 계정이 비활성화되어 있습니다.
set accountStatus=양호
)
REM 최종 점검 결과 출력
echo.
echo ==========================
if "%accountStatus%"=="취약" (
echo 점검 결과: 취약
) else (
echo 점검 결과: 양호
)
del temp.txt
:end
pause
|


Guest 계정이 False 상태 (비활성화) 되어있기 때문에 점검 결과 양호로 뜬모습
W-04 계정 잠금 임계값 설정
기본적으로 Windows 10 에서 임계값 설정은 Windows 10 Professional 및 Enterprise 버전 에서만 가능하고
Home 버젼에서는 불가능하다.
기본적으로 Home 버젼을 사용하기에 W-04 점검은 버젼을 확인하는 형식으로 진행하였다.
|
@echo off
chcp 949 > nul 2>&1 REM 한국어 코드 페이지 설정
echo ==========================
echo W-04 계정 잠금 임계값 설정 여부 점검
echo ==========================
echo.
REM Windows 버전 확인
ver | findstr /i "10.0." > nul
if %errorlevel% neq 0 (
echo 이 스크립트는 Windows 10에서만 실행됩니다.
goto end
)
REM Windows 10 Home 버전 확인
wmic os get version | findstr /C:"10.0.19041" > nul
if %errorlevel% == 0 (
echo 경고: Windows 10 Home 버전에서는 계정 잠금 임계값을 설정할 수 없습니다.
echo 기본적으로 잠금 임계값이 설정되어 있지 않습니다.
set accountStatus=취약
) else (
echo 이 스크립트는 Windows 10 Home에서만 실행됩니다.
goto end
)
echo.
echo ==========================
if "%accountStatus%"=="취약" (
echo 점검 결과: 취약
) else (
echo 점검 결과: 양호
)
:end
echo 결과를 확인하려면 아무 키나 누르세요...
pause > nul
|

W-06 관리자 그룹에 최소한의 사용자 포함
|
@echo off
chcp 949 > nul 2>&1 REM 한국어 코드 페이지 설정
echo ==========================
echo W-06 관리자 그룹에 불필요한 사용자의 포함 여부 점검
echo ==========================
echo.
REM Administrators 그룹의 구성원 확인
net localgroup Administrators > temp.txt
echo 현재 Administrators 그룹 구성원:
type temp.txt
echo.
REM 불필요한 관리자 계정 확인
set count=0
set unnecessaryUsers=
for /f "tokens=*" %%A in (temp.txt) do (
if /I "%%A" NEQ "Administrators" (
if /I "%%A" NEQ "The command completed successfully." (
if /I "%%A" NEQ "" (
set /a count+=1
set unnecessaryUsers=%%A
)
)
)
)
REM 결과 판단
if %count% gtr 1 (
echo 경고: Administrators 그룹에 불필요한 관리자 계정이 존재합니다.
echo 불필요한 관리자 계정: %unnecessaryUsers%
set accountStatus=취약
) else (
echo Administrators 그룹이 양호하게 설정되어 있습니다.
set accountStatus=양호
)
del temp.txt
echo.
echo ==========================
if "%accountStatus%"=="취약" (
echo 점검 결과: 취약
) else (
echo 점검 결과: 양호
)
echo 결과를 확인하려면 아무 키나 누르세요...
pause > nul
|

관리자그룹 구성에 'd' 라는 계정이 있기때문에 점검결과 취약으로 뜨는 모습
윈도우에서 스크립트를 만들때는 파이썬보다 비전문가들도 실행하기 쉬운 bat 형식으로 작성하는게 좋을 것 같아서
bat 형식으로 구성해 보았다.
스크립트를 작성하는건 익숙하지 않지만 보안에 있어서 스크립트를 작성하고 사용하는 것은 필수적이라고 생각해서
앞으로 더 공부해야 할 것 같다.
'보안' 카테고리의 다른 글
| [Incident Report] devuser SSH 계정 탈취 & 크립토마이너 제거 기록 (Rocky Linux 9) (0) | 2025.12.10 |
|---|---|
| Hydra를 이용한 윈도우 서버 Password Guessing 공격 후 RDP 연결 (0) | 2024.12.13 |
| Privilege Escalation: Exploitation for Privilege (권한 상승 실습) (2) | 2024.10.17 |
| DNS 스푸핑 공격 실습 (1) | 2024.10.11 |
| Password Cracking (john the ripper) (0) | 2024.09.24 |